@@ -9,17 +9,18 @@ for running code at particular times during the compilation process, allowing
9
9
third parties to effectively use ` rustc ` 's internals as a library for
10
10
analysing a crate or emulating the compiler in-process (e.g. the RLS or rustdoc).
11
11
12
- For those using ` rustc ` as a library, the ` interface::run_compiler() ` function is the main
13
- entrypoint to the compiler. It takes a configuration for the compiler and a closure that
14
- takes a [ ` Compiler ` ] . ` run_compiler ` creates a ` Compiler ` from the configuration and passes
15
- it to the closure. Inside the closure, you can use the ` Compiler ` to drive queries to compile
16
- a crate and get the results. This is what the ` rustc_driver ` does too.
12
+ For those using ` rustc ` as a library, the [ ` rustc_interface:: interface::run_compiler()` ] [ i_rc ]
13
+ function is the main entrypoint to the compiler. It takes a configuration for the compiler
14
+ and a closure that takes a [ ` Compiler ` ] . ` run_compiler ` creates a ` Compiler ` from the
15
+ configuration and passes it to the closure. Inside the closure, you can use the ` Compiler `
16
+ to drive queries to compile a crate and get the results. This is what the ` rustc_driver ` does too.
17
17
18
18
You can see what queries are currently available through the rustdocs for [ ` Compiler ` ] .
19
19
You can see an example of how to use them by looking at the ` rustc_driver ` implementation,
20
20
specifically the [ ` rustc_driver::run_compiler ` function] [ rd_rc ] (not to be confused with
21
- ` interface::run_compiler ` ). The ` rustc_driver::run_compiler ` function takes a bunch of
22
- command-line args and some other configurations and drives the compilation to completion.
21
+ [ ` rustc_interface::interface::run_compiler ` ] [ i_rc ] ). The ` rustc_driver::run_compiler ` function
22
+ takes a bunch of command-line args and some other configurations and
23
+ drives the compilation to completion.
23
24
24
25
` rustc_driver::run_compiler ` also takes a [ ` Callbacks ` ] [ cb ] . In the past, when
25
26
the ` rustc_driver::run_compiler ` was the primary way to use the compiler as a
@@ -47,6 +48,7 @@ thread-locals, although you should rarely need to touch it.
47
48
48
49
[ cb ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_driver/trait.Callbacks.html
49
50
[ rd_rc ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_driver/fn.run_compiler.html
51
+ [ i_rc ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/interface/fn.run_compiler.html
50
52
[ `rustc_interface` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/index.html
51
53
[ `rustc_driver` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_driver/
52
54
[ `Compiler` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/interface/struct.Compiler.html
0 commit comments