crates.sage_ir.symbols
8 anchors
| Anchor | Implementation | Tests |
|---|---|---|
| crates.sage_ir.symbols (8) | 8 Implemented | 4 Implemented7 TODO |
associated_identity | Implemented | Implemented |
A trait or impl function, type, or constant has its own stable symbol tied to its associated owner. Repeated requests and movement among siblings preserve that owner and the associated item identity. | ||
associated_interfaces | Implemented | TODO |
Checking an associated signature reuses its owner interface and never reads a sibling associated body. | ||
body_interfaces | Implemented | ImplementedTODO |
Checking and elaborating one function may read its own source and signature plus demanded signatures, fields, associated items, impl headers, metadata facts, and solver results. It must not read a callee or sibling body; a callee-body-only edit must not change or reexecute the caller’s completed body. | ||
definition_identity | Implemented | TODO |
Resolution may use names, paths, scopes, and namespaces to discover a definition, but every successful downstream semantic reference records the resulting symbol. Renaming an import or choosing another path to the same definition must not mint a different definition identity. | ||
external_fact_queries | Implemented | TODO |
Sage imports external facts through owned, definition-keyed queries. A metadata provider neither resolves Sage-local names nor performs Sage trait proof or normalization; those operations execute on the imported Sage values. | ||
external_identity | Implemented | TODO |
An external symbol identifies a dependency definition by crate number and definition index, independently of the metadata facts requested about it. Metadata adapters supply one consistent definition kind for that identity. | ||
kind_wrappers | Implemented | ImplementedTODO |
Symbol supports heterogeneous membership and resolution results. Operations whose meaning requires a definition kind accept the corresponding kind-specific wrapper; conversion into Symbol preserves identity, checked recovery accepts the right kind, and recovery of a wrong kind fails. | ||
local_identity | Implemented | ImplementedTODO |
A local symbol’s identity fields identify its definition. Independently tracked CST, spans, signatures, members, and bodies do not become part of that identity. Detail-only changes preserve the symbol, and consumers of unchanged sibling facts remain reusable; genuine identity changes are distinguishable. | ||