mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-03 17:35:28 +03:00
01e933f888
`ParseSess` is separate from, but sits within, `Session`. The separation is because there are some places (e.g. `Parser` methods) where `ParseSess` is available but `Session` is not. However, `ParseSess` has four fields that are only accessed from places where `Session` is also available. This commit moves those fields to `Session`. This means that `ParseSess` only contains the fields it genuinely needs, and various `sess.psess.foo` occurrences are reduced to `sess.foo`.
The driver crate is effectively the "main" function for the rust
compiler. It orchestrates the compilation process and "knits together"
the code from the other crates within rustc. This crate itself does
not contain any of the "main logic" of the compiler (though it does
have some code related to pretty printing or other minor compiler
options).
For more information about how the driver works, see the rustc dev guide.