Skip to content

report-of resolves names differently from the observer predicates across function scope #383

Description

@InauguralPhysicist

Minimal repro (v0.25.0 + #382):

# mod.eigs
g is 0.0
define feedg(v) as:
    g is v + 0.0
define readg() as:
    return report of g
define stableg() as:
    return stable of g

Load it, feed g a nonzero constant 14 times, then:

So the REPORT_NAME/REPORT_SLOT compile path and the predicate-of-name path disagree about name resolution across a function boundary. Whichever is intended, they should agree; today a slot-dispatch helper can expose stable of/diverging of verdicts but not report of ones (found building lib/observer_slots.eigs — its verdict() API is dropped until this is resolved).

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions