Skip to content

[dsl] Silently dropped inputs need diagnostics: on directives, modifier arguments, gap_direction coercion, lateral anchoring #125

Description

@JArmandoAnaya

What

Several DSL inputs are dropped silently — no diagnostic at all — violating the coverage matrix's own contract that everything unsupported is "reported by name, never silently dropped":

  1. on directiveslower.cpp visits only ModifierApplication and Behavior members (:1534-1555); DoMemberKind has no On case (:1143-1153). Matrix claims §7.6.2.5 on is Exec In; reality: dropped without a word. (Related: the §7.6 table rows for until/wait @event/emit/call say In while the code reports them — matrix side tracked in the docs truth-pass issue.)
  2. Modifier arguments ignored on all 17 modifiersmovement_mode, track, shape are declared on every §8.9 modifier (stdlib.cpp:1244-1394) but only at is ever read (lower.cpp:707, anchor_of). speed(direction:) (§8.9.4) and position(project_on_route:) (§8.9.2) likewise ignored. The matrix says "Post (default profiles only — documented)" but the promised structured diagnostic does not exist.
  3. lateral(at: end) inconsistencylower.cpp:904 bypasses anchored_dynamics, so the phase-length check every other anchored modifier applies (warning at :650) never fires for lateral.
  4. No tests exercise the existing until/emit/call/non-default-overlap warnings (grep of frontends/dsl/tests finds parse-only hits) — the "unsupported paths diagnose, never crash" criterion is untested for the P8 constructs.

Done when

  • Every ignored input emits a §-cited UnsupportedFeature (or is implemented); on directives specifically stop vanishing
  • lateral goes through the same anchoring path as the other modifiers
  • Diagnostic-assertion tests for on/until/emit/call/overlap/modifier-argument paths

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions