-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Closed
Labels
A-concurrencyArea: ConcurrencyArea: ConcurrencyA-frontendArea: Compiler frontend (errors, parsing and HIR)Area: Compiler frontend (errors, parsing and HIR)A-grammarArea: The grammar of RustArea: The grammar of RustA-syntaxextArea: Syntax extensionsArea: Syntax extensions
Description
In functions, -> !
indicates the function returns bottom, i.e., doesn't return. In pipe protocol definitions, -> !
means "terminate the session", which is analogous to returning unit (the 1 type), not bottom (the 0 type).
It seems more conceptually in-line to write session-end transitions with no arrow, like ... { continue(T) -> state2, close(U) } ...
Metadata
Metadata
Assignees
Labels
A-concurrencyArea: ConcurrencyArea: ConcurrencyA-frontendArea: Compiler frontend (errors, parsing and HIR)Area: Compiler frontend (errors, parsing and HIR)A-grammarArea: The grammar of RustArea: The grammar of RustA-syntaxextArea: Syntax extensionsArea: Syntax extensions