V0007 reserved_keyword
The word is reserved for a future edition: verify proof ghost control resume region spawn actor interface impl (design §2.1).
An error from the parse phase. sakura explain V0007 prints this explanation offline.
The word is reserved for a future edition: verify proof ghost control resume region spawn actor interface impl (design §2.1). Pick another name.
Wrong program
compiler/tests/ui/V0007_reserved_keyword.sakura, which the compiler's ui suite runs through sakura check:
// `spawn` is reserved (§2.1); it is legal only directly after `.` or `fn` (`Task.spawn`).
fn price() -> Int {
let spawn = 2
1
}sakura check --json reports this record (pretty-printed; $DIR is the fixture's directory):
{
"schema_version": "1.0",
"kind": "diagnostic",
"id": "d:e4f7b4df6059320b",
"code": "V0007",
"severity": "error",
"phase": "parse",
"message": "`spawn` is reserved for a later edition",
"snapshot": "sha256:$SNAPSHOT",
"symbol_id": "main::V0007_reserved_keyword::price",
"spans": [
{
"uri": "file://$DIR/V0007_reserved_keyword.sakura",
"content_hash": "sha256:09bc15c8fdbb45a0dd80c447bbd51ee4334417798ba6dcb7d43656ecc555285e",
"start_byte": 152,
"end_byte": 157,
"role": "primary"
}
],
"related_ids": [],
"expected": null,
"actual": null,
"obligation": null,
"counterexample": null,
"explanation_uri": "sakura://explain/V0007",
"fixes": []
}Fixed program
compiler/tests/ui/V0007_reserved_keyword.fixed.sakura, which sakura check accepts with no diagnostics:
fn price() -> Int {
let spawned = 2
1
}