Documentation

Miri.Input.LowerMIR

Fail-closed bridge from decoded compiler data to the fixed interpreter AST. Successful lowering is syntax construction, not execution readiness or UB freedom. The original envelope and source scopes remain available beside the MIR body.

@[reducible, inline]
abbrev Miri.Input.LowerResult (α : Type u_1) :
Type u_1
Equations
Instances For

    Membership acceleration whose type ties it to the exact source array. Its constructor is private, and the exactness field proves that its value is the corresponding index built from that array. Any update must preserve this equality.

    Instances For
      Instances For

        Consume complete import-time compiler values; manual contexts decode directly.

        Equations
        Instances For
          Equations
          Instances For
            Equations
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Rebase the source type universe and rebuild its private membership cache.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  Rebase the allocation universe and rebuild its private membership cache.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    Rebase scalar layouts and rebuild the first-row-preserving width cache.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      Derive scalar widths from compiler metadata, never from bits or host types.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        Resolve graph identities from the same decoded compilation. Metadata semantics remain independent from syntax lowering and its obligations.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          A prepared lowering context tied to one exact decoded source document. The private constructor and equality field prevent reusing it for a different document, even when the documents serialize to equal JSON.

                          Instances For

                            Prepare the context and retain its exact document identity in the type.

                            Equations
                            Instances For
                              Instances For

                                Resolve a crate-qualified compiler definition into this bundle's dense identity. Raw rustc definition indices are never runtime definition IDs.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For

                                    A standalone body's definition/type-constant/span IDs are local to this result. Use lowerBodies or lowerProgram for cross-function linking.

                                    Equations
                                    Instances For
                                      Instances For

                                        Lower a compilation's bodies through one shared interner, including mutually recursive references. Every returned body uses the same ID tables.

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          Instances For

                                            Look up a document root's frame identity without assuming it was called or that source and runtime definition indices coincide.

                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For

                                              Lower all present root, instance, and promoted bodies with global compiler identity tables. Unavailable bodies remain explicit source graph obligations.

                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For

                                                Compatibility entrypoint for full diagnostic documents. Runtime clients that decode without retaining the typed JSON tree should call lowerCoreProgram.

                                                Equations
                                                Instances For

                                                  Interner state shared by metadata-query lowering and MIR syntax. Appending entries preserves every previously lowered ID.

                                                  Instances For
                                                    Equations
                                                    Instances For
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      Instances For
                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For
                                                          Equations
                                                          • One or more equations did not get rendered due to their size.
                                                          Instances For

                                                            Canonical type-constant interning for compiler pattern/query metadata.

                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For

                                                              Intern a compiler span without synthesizing a source location.

                                                              Equations
                                                              • One or more equations did not get rendered due to their size.
                                                              Instances For

                                                                Incremental exact span interning for compiler source-map batches. The candidate index is seeded once from the existing table; buckets only narrow the search and full span equality remains authoritative.

                                                                Instances For
                                                                  Equations
                                                                  • One or more equations did not get rendered due to their size.
                                                                  Instances For

                                                                    Reuse an index only when the complete span arrays compare equal. The certificate makes the common same-array case constant time while preserving a full equality check for independently allocated or reordered tables.

                                                                    Equations
                                                                    • One or more equations did not get rendered due to their size.
                                                                    Instances For
                                                                      Equations
                                                                      • One or more equations did not get rendered due to their size.
                                                                      Instances For

                                                                        Compare the result of an independent lowering against the unchanged base. The checked pointer shortcut retains the full original array comparator.

                                                                        Equations
                                                                        Instances For

                                                                          Lower a compiler constant operand using an exact, persistent span index.

                                                                          Equations
                                                                          • One or more equations did not get rendered due to their size.
                                                                          Instances For

                                                                            Decode the source place key for compiler query evidence. Projection types must already belong to the shared input type graph.

                                                                            Equations
                                                                            Instances For