about summary refs log tree commit diff
path: root/src/test/codegen/src-hash-algorithm
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2020-06-19 09:15:20 -0700
committerGitHub <noreply@github.com>2020-06-19 09:15:20 -0700
commita88182f94b0141a8df54fe86aad07d857baff911 (patch)
treeb9b73acf0895861bf6991337643170178e2c890d /src/test/codegen/src-hash-algorithm
parentd2272d4f6042ace97de2be1ebed4afa5e4be9f25 (diff)
parent3659406c513062c265f8d8631fa8dae2702bbe8d (diff)
downloadrust-a88182f94b0141a8df54fe86aad07d857baff911.tar.gz
rust-a88182f94b0141a8df54fe86aad07d857baff911.zip
Rollup merge of #73489 - sexxi-goose:init_place_refactor, r=nikomatsakis
Refactor hir::Place

For the following code
```rust
let c = || bar(foo.x, foo.x)
```

We generate two different `hir::Place`s for both `foo.x`.
Handling this adds overhead for analysis we need to do for RFC 2229.

We also want to store type information at each Projection to support
analysis as part of the RFC. This resembles what we have for
`mir::Place`

This commit modifies the Place as follows:
- Rename to `PlaceWithHirId`, where there `hir_id` is that of the
expressioin.
- Move any other information that describes the access out to another
struct now called `Place`.
- Removed `Span`, it can be accessed using the [hir
API](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/hir/map/struct.Map.html#method.span)
- Modify `Projection` to be a strucutre of its own, that currently only
contains the `ProjectionKind`.

Adding type information to projections wil be completed as part of https://github.com/rust-lang/project-rfc-2229/issues/5

Closes https://github.com/rust-lang/project-rfc-2229/issues/3
Diffstat (limited to 'src/test/codegen/src-hash-algorithm')
0 files changed, 0 insertions, 0 deletions