| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2025-07-06 | move `stable_mir` back to its own crate and move `rustc_internal` to ↵ | Makai | -304/+0 | |
| the`stable_mir` crate As part of this reorganization, some traits need to be moved from `rustc_smir::context::traits` to `stable_mir::unstable::internal_cx`. These traits are specifically designed for `InternalCx` to clarify the behavior of different functions that share the same name. This move is necessary to avoid orphan rule violations. | ||||
| 2025-07-04 | refactor: implement a new bridge trait `Allocation` | Makai | -1/+26 | |
| 2025-07-04 | refactor: move `convert` to `unstable` | Makai | -40/+2 | |
| We want to keep StableMIR definitions and logic separate from any sort of conversion and usage of internal rustc code. So we bundle all unstable items that have no stability guarantees into `stable_mir::unstable`. | ||||
| 2025-07-04 | refactor: unify `Tables` implementation with bridge types and re-export ↵ | Makai | -0/+37 | |
| `IndexedVal` define bridge types for `***Def`s. consolidate scattered `Tables` implementations into single inherent impl. | ||||
| 2025-07-04 | refactor: move `convert` module to `stable_mir` | Makai | -0/+1 | |
| note that this commit delete `convert/error.rs`, we would use `SmirError::from_internal` instead. **Unresolved questions:** - There are still a few direct calls to rustc's internals scattered across `impl Stable`s, but most of them appear to be relatively stable, e.g., `mir::interpret::ConstAllocation::inner(self)` and `mir::syntax::SwitchTargets::otherwise(self)`. | ||||
| 2025-07-04 | refactor: split `rustc_smir::alloc` into two parts | Makai | -0/+1 | |
| The previous `rustc_smir::alloc` had many direct calls to rustc queries. This commit splits it into two parts: `rustc_smir::alloc` and `stable_mir::alloc`. Following the same pattern as `SmirCtxt` and `SmirInterface`, the `rustc_smir::alloc` handles all direct interactions with rustc queries and performs the actual memory allocations, while the `stable_mir::alloc` is responsible for constructing stable components. | ||||
| 2025-07-04 | refactor: move `IndexedVal` from `stable_mir` to `rustc_smir` | Makai | -2/+3 | |
| 2025-07-04 | refactor: make `SmirInterface` a trait and impl it for `SmirContainer` | Makai | -0/+38 | |
| - rewrite all `SmirInterface` apis. - add `BridgeTys` to impl those associated types in `Bridge`. - move `**_def()` stuffs living in `impl Tables` from `rustc_internal` to `stable_mir`. | ||||
| 2025-04-05 | let `rustc_smir` host `stable_mir` for refactoring | Makai | -0/+239 | |
| 2023-09-25 | Split out the stable part of smir into its own crate to prevent accidental ↵ | Oli Scherer | -230/+0 | |
| usage of forever unstable things | ||||
| 2023-09-25 | Move `Opaque` to `stable_mir` | Oli Scherer | -2/+20 | |
| 2023-09-25 | Fix test by adding a stable way to get an opaque DefKind | Oli Scherer | -0/+10 | |
| 2023-09-25 | Eliminate escape hatch | Oli Scherer | -5/+5 | |
| 2023-09-14 | Rollup merge of #115772 - ouz-a:smir_span2, r=oli-obk | Matthias Krüger | -1/+1 | |
| Improve Span in smir Addressing https://github.com/rust-lang/project-stable-mir/issues/31 r? ``@oli-obk`` | ||||
| 2023-09-14 | span is index | ouz-a | -1/+1 | |
| 2023-09-12 | Add explicit_predicates_of to SMIR | Santiago Pastorino | -0/+1 | |
| 2023-09-09 | add function that returns span of an item | ouz-a | -0/+7 | |
| 2023-09-06 | Allow fetching the SMIR body of FnDefs | Oli Scherer | -2/+2 | |
| 2023-09-06 | Add type folder to SMIR | Oli Scherer | -0/+4 | |
| 2023-09-05 | Add tests and use ControlFlow | Celina G. Val | -1/+6 | |
| 2023-09-05 | Diferentiate between ICE and compilation error | Celina G. Val | -1/+6 | |
| 2023-09-05 | Adjust StableMIR interface to return and not crash | Celina G. Val | -0/+4 | |
| Invoking StableMir::run() on a crate that has any compilation error was crashing the entire process. Instead, return a `CompilerError` so the user knows compilation did not succeed. I believe ICE will also be converted to `CompilerError`. I'm also adding a return value to the callback, because I think it will be handy for users (at least it was for my current task of implementing a tool to validate stable-mir). However, if people disagree, I can remove that. | ||||
| 2023-09-04 | provide more useful info for DefId Debug | ouz-a | -1/+15 | |
| 2023-09-03 | Auto merge of #115470 - ericmarkmartin:stable-prov, r=oli-obk | bors | -0/+4 | |
| add stable provenance r? `@spastorino` implements rust-lang/project-stable-mir#22 | ||||
| 2023-09-02 | add stable provenance | Eric Mark Martin | -0/+4 | |
| 2023-09-01 | Create a SMIR visitor | Oli Scherer | -0/+1 | |
| 2023-08-29 | Rollup merge of #115300 - spastorino:smir-tweaks, r=oli-obk | Matthias Krüger | -18/+5 | |
| Tweaks and improvements on SMIR around generics_of and predicates_of r? `@oli-obk` This allows an API like the following ... ```rust let trait_decls = stable_mir::all_trait_decls().iter().map(|trait_def| { let trait_decl = stable_mir::trait_decl(trait_def); let generics = trait_decl.generics_of(); let predicates = trait_decl.predicates_of().predicates; ``` I didn't like that much `trait_def.trait_decl()` which is it possible but adding a method to a def_id that loads up a whole trait definition looks backwards to me. | ||||
| 2023-08-29 | Create StableMir replacer for SMirCalls | ouz-a | -2/+1 | |
| 2023-08-29 | Deduplicate GenericPredicates | Santiago Pastorino | -7/+1 | |
| 2023-08-29 | Add stable_mir::DefId as new type wrapper | Santiago Pastorino | -1/+2 | |
| 2023-08-28 | Context::generics _of/predicates_of should receive stable_mir::DefId | Santiago Pastorino | -3/+3 | |
| 2023-08-28 | Remove stable_mir::generics_of/predicates_of those shouldn't be exposed | Santiago Pastorino | -8/+0 | |
| 2023-08-25 | Add missing high-level stable_mir::generics_of fn | Santiago Pastorino | -0/+4 | |
| 2023-08-23 | predicates of | Eric Mark Martin | -1/+14 | |
| 2023-08-22 | add generics_of to smir | ouz-a | -1/+2 | |
| 2023-08-21 | stable_mir: docs clarification | Ralf Jung | -1/+1 | |
| 2023-08-15 | Add trait related queries to SMIR's rustc_internal | Santiago Pastorino | -0/+16 | |
| 2023-08-10 | Add impl trait declarations to SMIR | Santiago Pastorino | -1/+6 | |
| 2023-08-10 | Fix copy & paste doc error | Santiago Pastorino | -1/+1 | |
| 2023-08-07 | Add all_trait_decls to SMIR | Santiago Pastorino | -0/+4 | |
| 2023-08-07 | Convert trait declaration to SMIR | Santiago Pastorino | -1/+2 | |
| 2023-07-02 | Use scoped-tls for SMIR to map between TyCtxt and SMIR datastructures | yukang | -14/+14 | |
| 2023-05-08 | Create a trait to abstract over the smir API | Oli Scherer | -6/+60 | |
| 2023-04-14 | Add a stable MIR way to get the main function | Oli Scherer | -0/+7 | |
| 2023-03-16 | Implement a minimal subset of MIR statements and terminators for smir | Oli Scherer | -0/+8 | |
| 2023-03-16 | Remove `DefId` from `CrateItem` in favor of a lookup table | Oli Scherer | -3/+1 | |
| 2023-03-07 | Change item collection to be on demand | Celina G. Val | -2/+10 | |
| 2023-03-06 | Create new rustc_smir struct to map future crates | Celina G. Val | -0/+52 | |
| + Add some information to the README.md | ||||
