diff options
| author | bors <bors@rust-lang.org> | 2017-09-12 04:14:07 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-09-12 04:14:07 +0000 |
| commit | 3cb24bd37bcc46ecbb1f5f3f96f9d1de0aa7e92d (patch) | |
| tree | 0b6b7342122257fbe0d5f38ca38142776cef7542 /src/liballoc/tests | |
| parent | 11f64d8f881a8bd994210efc1d3ff1982abf9df3 (diff) | |
| parent | 57ebd28fdb69d7cc4df3de343664e6698a4b55f0 (diff) | |
| download | rust-3cb24bd37bcc46ecbb1f5f3f96f9d1de0aa7e92d.tar.gz rust-3cb24bd37bcc46ecbb1f5f3f96f9d1de0aa7e92d.zip | |
Auto merge of #44275 - eddyb:deferred-ctfe, r=nikomatsakis
Evaluate fixed-length array length expressions lazily. This is in preparation for polymorphic array lengths (aka `[T; T::A]`) and const generics. We need deferred const-evaluation to break cycles when array types show up in positions which require knowing the array type to typeck the array length, e.g. the array type is in a `where` clause. The final step - actually passing bounds in scope to array length expressions from the parent - is not done because it still produces cycles when *normalizing* `ParamEnv`s, and @nikomatsakis' in-progress lazy normalization work is needed to deal with that uniformly. However, the changes here are still useful to unlock work on const generics, which @EpicatSupercell manifested interest in, and I might be mentoring them for that, but we need this baseline first. r? @nikomatsakis cc @oli-obk
Diffstat (limited to 'src/liballoc/tests')
0 files changed, 0 insertions, 0 deletions
