rust/src/librustc/ich
bors d6d09e0b4d Auto merge of #45879 - nikomatsakis:nll-kill-cyclic-closures, r=arielb1
move closure kind, signature into `ClosureSubsts`

Instead of using side-tables, store the closure-kind and signature in the substitutions themselves. This has two key effects:

- It means that the closure's type changes as inference finds out more things, which is very nice.
    - As a result, it avoids the need for the `freshen_closure_like` code (though we still use it for generators).
- It avoids cyclic closures calls.
    - These were never meant to be supported, precisely because they make a lot of the fancy inference that we do much more complicated. However, due to an oversight, it was previously possible -- if challenging -- to create a setup where a closure *directly* called itself (see e.g. #21410).

We have to see what the effect of this change is, though. Needs a crater run. Marking as [WIP] until that has been assessed.

r? @arielb1
2017-11-21 22:52:19 +00:00
..
caching_codemap_view.rs incr.comp.: Store result fingerprints in DepGraph. 2017-09-20 11:21:25 +02:00
fingerprint.rs Use rls-data 0.12 2017-10-27 23:53:57 +02:00
hcx.rs incr.comp.: Acknowledge the fact that shift operations can panic at runtime. 2017-11-07 15:49:51 +01:00
impls_const_math.rs rustc_const_math: use apfloat::ieee::{Single,Double} in ConstFloat. 2017-08-02 17:28:11 +03:00
impls_cstore.rs incr.comp.: Already hash HIR bodies during metadata export so they don't have to be hashed in downstream crates. 2017-09-18 11:26:11 +02:00
impls_hir.rs Auto merge of #45701 - cramertj:impl-trait-this-time, r=eddyb 2017-11-21 10:00:18 +00:00
impls_mir.rs collect unused unsafe code 2017-11-06 23:41:18 +02:00
impls_misc.rs Fix issues uncovered by rebasing: 2017-09-18 11:25:34 +02:00
impls_syntax.rs Display spans correctly when there are non-half-width characters 2017-11-03 03:15:39 +09:00
impls_ty.rs make ty::Predicate carry a ClosureSubsts 2017-11-18 07:47:36 -05:00
mod.rs incr.comp.: Use StableHash impls instead of functions for hashing most maps. 2017-09-18 11:27:10 +02:00