diff options
| author | bors <bors@rust-lang.org> | 2017-06-10 19:21:24 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-06-10 19:21:24 +0000 |
| commit | b7613f82814e803bf75c074ae4e50a584fee3e70 (patch) | |
| tree | 33bd019446df904ca0d8a5b5aa20f48f75adc9c3 /src/libstd/thread | |
| parent | 995f741a0e3a57d4142c0590b3266514fa0a0e29 (diff) | |
| parent | fc5c31c48cf19757ebf4b750efa34e7cb5f995e3 (diff) | |
| download | rust-b7613f82814e803bf75c074ae4e50a584fee3e70.tar.gz rust-b7613f82814e803bf75c074ae4e50a584fee3e70.zip | |
Auto merge of #42563 - eddyb:infer, r=nikomatsakis
Disentangle InferCtxt, MemCategorizationContext and ExprUseVisitor. At some point in the past, `InferCtxt` started being used to replace an old "`Typer`" abstraction, which provided access to `TypeckTables` and had optionally type inference to account for. That didn't play so nicely with the `'gcx`/`'tcx` split and I had to introduce `borrowck_fake_infer_ctxt`. The situation wasn't great but it wasn't too painful inside `rustc` itself. Recently I've found that method being used in clippy, which does need EUV (before we make it plausible to run lints on HAIR or MIR), and set out to separate inference from tables, for the sake of lint authors. Also fixes #42435 to make it trivial to compute type layout or use EUV from lints. The remaining uses of `TypeckTables` in `InferCtxt` are for closure kinds and signatures, used in trait selection and projection normalization. The solution there is likely to add them as bounds to `ParamEnv`. r? @nikomatsakis cc @mcarton @llogiq @Manishearth
Diffstat (limited to 'src/libstd/thread')
0 files changed, 0 insertions, 0 deletions
