Idea detail
no_name_idea_safe_warning
reqlan rq/language/syntax.rq:722
Summary
A top-level nameless curly-brace block — `{... }` with no idea name — must not take down the parser or the language server workspace.
Parse the block as a recoverable anonymous top-level element, emit a descriptive warning that a name is required before `{`, and continue so later ideas, imports, and links still work.
Nameless blocks inside parenthesized lists remain valid list items per lists; only top-level nameless blocks warn.
Related recovery posture: import_error_recovery. Block shape: block_idea. Fenced examples must stay opaque per code_snippets so braces inside snippets cannot desync structural depth.
Non-termination ( lex / parse never finishes ) is a different failure mode: parse_budget_timeout.
Navigation
Attributes
| Key | Value |
|---|---|
| implementation | reqlan.langium, reqlan-token-builder.ts, reqlan-validator.ts, reqlan-workspace-manager.ts |
| status | done |
| tests | parsing.test.ts:parses top-level nameless braces without aborting later ideas, parsing.test.ts:treats fenced TypeScript braces as opaque for surrounding structure, validating.test.ts:warns on top-level nameless braces without invalidating later ideas, parser.rs:parses_top_level_nameless_braces_without_aborting_later_ideas, parser.rs:recovers_nameless_block |
Ancestor context
No ancestor chain recorded.
Outbound references
Inbound references
| Kind | Idea | Path | Snippet |
|---|---|---|---|
| references | import_error_recovery | reqlan rq/language/imports.rq | no_name_idea_safe_warning |
| references | recovery_vs_budget | reqlan rq/language/parser_lexer.rq | no_name_idea_safe_warning |
| references | code_snippets | reqlan rq/language/syntax.rq | no_name_idea_safe_warning |
Unresolved references
| Kind | Idea | Path | Snippet |
|---|---|---|---|
| None | |||
Local graph
Initialising graph…