Skip to content

Commit aa2f968

Browse files
authored
Update README.md
Clarify that the translation between unstable and stable items is currently done in the `rustc_smir` crate.
1 parent f1114ba commit aa2f968

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

compiler/stable_mir/README.md

+11-3
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,28 @@
11
This crate is currently developed in-tree together with the compiler.
22

33
Our goal is to start publishing `stable_mir` into crates.io.
4-
Until then, users will use this as any other rustc crate, via extern crate.
4+
Until then, users will use this as any other rustc crate, by installing
5+
the rustup component `rustc-dev`, and declaring `stable-mir` as an external crate.
6+
7+
See the StableMIR ["Getting Started"](https://rust-lang.github.io/project-stable-mir/getting-started.html)
8+
guide for more information.
59

610
## Stable MIR Design
711

812
The stable-mir will follow a similar approach to proc-macro2. Its
913
implementation is split between two main crates:
1014

1115
- `stable_mir`: Public crate, to be published on crates.io, which will contain
12-
the stable data structure as well as calls to `rustc_smir` APIs and
13-
translation between stable and internal constructs.
16+
the stable data structure as well as calls to `rustc_smir` APIs. The
17+
translation between stable and internal constructs will also be done in this crate,
18+
however, this is currently implemented in the `rustc_smir` crate.[^translation].
1419
- `rustc_smir`: This crate implements the public APIs to the compiler.
1520
It is responsible for gathering all the information requested, and providing
1621
the data in its unstable form.
1722

23+
[^translation]: This is currently implemented in the `rustc_smir` crate,
24+
but we are working to change that.
25+
1826
I.e.,
1927
tools will depend on `stable_mir` crate,
2028
which will invoke the compiler using APIs defined in `rustc_smir`.

0 commit comments

Comments
 (0)