Skip to content

Language limits

Class extractors, guards in catch arms, and group-level let-else are not supported. Use deriving Eq for generated structural equality (§7) and explicit library values for boundary schemas. The language boundaries reference lists supported alternatives.

Two distinctions matter when composing expressions:

A range is loop-head syntax rather than a value. 0..n heads a for; use ordinary iterables elsewhere. Ranges are not first-class values.

Nested try, match, and statement-bearing if expressions work in supported ordinary and optional-call arguments and on the right of &&, ||, and ??. Synchronous postfix catch also works in supported nested value positions. The compiler preserves the receiver, argument order, and conditional execution; a skipped optional call does not evaluate its arguments. Method-tagged templates and arbitrary statement-block positions are not generally supported. Keep branches explicit and bind intermediate values in unsupported positions. See control flow for the supported forms.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close