IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /docs/manual/basics.md). For the complete Mojo documentation index, see llms.txt.
Skip to main content
Version: Nightly
For the complete Mojo documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /docs/manual/basics.md).

EnumLike

A type with named, mutually exclusive alternatives.

Syntactic enum declarations will synthesize this conformance. Hand-written types (notably Optional) may also conform so pattern matching can treat their alternatives as cases, such as case .Some(x): / case .None:.

By default, the declared alternatives cover every value. An open enum sets _enum_is_exhaustive to False when other values may exist. Payload type NoneType means the case has no associated value.

Implemented traits​

AnyType