rust/src/librustc
bors 4752c05af4 Auto merge of #66246 - matthewjasper:simplify-mem-cat, r=pnkfelix
Simplify memory categorization

With AST borrowck gone, mem_categorization can be simplified, a lot.

* `cmt_` is now called `Place`. Most local variable names have been updated to reflect this, but the `cat_*` methods retain their names.
* `MemCategorizationContext` no longer needs a `ScopeTree` and always needs an `InferCtxt`.
* `Place` now uses a similar representation to `mir::Place` with a `Vec` of projections.
* `Upvar` places don't include the implicit environment and capture derefs. These are now handled by `regionck` when needed.
* Various types, methods and variants only used by AST borrowck have been removed.
* `ExprUseVisitor` now lives in `rustc_typeck::expr_use_visitor`.
* `MemCategorizationContext` and `Place` live in `rustc_typeck::mem_categorization`.
* `Place` is re-exported in `rustc_typeck::expr_use_visitor` so that Clippy can access it.

The loss of an error in `issue-4335.rs` is due to a change in capture inference in ill-formed programs. If any projection from a variable is moved from then we capture that variable by move, whether or not the place being moved from allows this.

Closes #66270
2019-11-28 10:36:56 +00:00
..
benches make ./x.py bench again 2019-11-23 07:06:27 +01:00
dep_graph More HashStable. 2019-11-19 20:47:31 +01:00
hir Auto merge of #66671 - matthewjasper:ast-address-of, r=Centril 2019-11-25 01:20:38 +00:00
ich Derive HashStable for TokenKind. 2019-11-23 18:52:23 +01:00
infer Rollup merge of #66754 - estebank:rustdoc-capitalization, r=Dylan-DPC 2019-11-26 17:56:19 -06:00
lint More HashStable. 2019-11-19 20:40:28 +01:00
middle Move ExprUseVisitor and mem_categorization to rustc_typeck 2019-11-27 19:47:12 +00:00
mir Auto merge of #66294 - davidhewitt:const_fn_memoization, r=oli-obk 2019-11-28 07:06:40 +00:00
query Rollup merge of #66060 - traxys:test_65401, r=michaelwoerister 2019-11-20 18:32:04 +01:00
session Rollup merge of #66719 - Mark-Simulacrum:int-normalization, r=Centril 2019-11-26 17:56:15 -06:00
traits Rollup merge of #66798 - bwignall:typo, r=varkor 2019-11-27 15:28:53 -06:00
ty Fix spelling typos 2019-11-26 22:19:54 -05:00
util Move ErrorReported to rustc_errors 2019-11-26 14:57:07 -05:00
arena.rs bump smallvec to 1.0 2019-11-04 15:59:09 +01:00
build.rs Remove licenses 2018-12-25 21:08:33 -07:00
Cargo.toml Auto merge of #66255 - ehuss:update-cc, r=alexcrichton 2019-11-16 07:26:57 +00:00
lib.rs Move ExprUseVisitor and mem_categorization to rustc_typeck 2019-11-27 19:47:12 +00:00
macros.rs Retire impl_stable_hash_for. 2019-11-22 20:01:48 +01:00
README.md rustc-guide has moved 2018-11-26 15:03:13 -06:00
tests.rs librustc: Unconfigure tests during normal build 2019-08-02 01:59:01 +03:00

For more information about how rustc works, see the rustc guide.