about summary refs log tree commit diff
path: root/src/libstd/thread
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-06-10 19:21:24 +0000
committerbors <bors@rust-lang.org>2017-06-10 19:21:24 +0000
commitb7613f82814e803bf75c074ae4e50a584fee3e70 (patch)
tree33bd019446df904ca0d8a5b5aa20f48f75adc9c3 /src/libstd/thread
parent995f741a0e3a57d4142c0590b3266514fa0a0e29 (diff)
parentfc5c31c48cf19757ebf4b750efa34e7cb5f995e3 (diff)
downloadrust-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