diff options
| author | bors <bors@rust-lang.org> | 2016-12-02 15:06:36 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2016-12-02 15:06:36 +0000 |
| commit | c80c31a502c838f9ec06f1003d7c61cf9de9d551 (patch) | |
| tree | 5573f4f27717588860e27018aa81a29409cf060b /src/rustllvm/RustWrapper.cpp | |
| parent | 2f8fd533ac8391fa848c3a637ca05fd60993f79e (diff) | |
| parent | 07ff914be1c5e0702893191827b0c13308898b45 (diff) | |
| download | rust-c80c31a502c838f9ec06f1003d7c61cf9de9d551.tar.gz rust-c80c31a502c838f9ec06f1003d7c61cf9de9d551.zip | |
Auto merge of #38053 - eddyb:lazy-9, r=nikomatsakis
[9/n] rustc: move type information out of AdtDef and TraitDef. _This is part of a series ([prev](https://github.com/rust-lang/rust/pull/37688) | [next]()) of patches designed to rework rustc into an out-of-order on-demand pipeline model for both better feature support (e.g. [MIR-based](https://github.com/solson/miri) early constant evaluation) and incremental execution of compiler passes (e.g. type-checking), with beneficial consequences to IDE support as well. If any motivation is unclear, please ask for additional PR description clarifications or code comments._ <hr> Both `AdtDef` and `TraitDef` contained type information (field types, generics and predicates) which was required to create them, preventing their use before that type information exists, or in the case of field types, *mutation* was required, leading to a variance-magicking implementation of `ivar`s. This PR takes that information out and the resulting cleaner setup could even eventually end up merged with HIR, because, just like `AssociatedItem` before it, there's no dependency on types anymore. (With one exception, variant discriminants should probably be moved into their own map later.)
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
