Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Intern place projection #65315

Merged
merged 7 commits into from
Oct 25, 2019
Merged

Conversation

spastorino
Copy link
Member

@spastorino spastorino commented Oct 11, 2019

This should sit on top of #65197. After that one merged, I'm gonna rebase on top of it.

The important commits are the last three and there's a bunch of code repetition that I'm going to remove but for that I need to refactor some things that probably need to be added before this PR.

Anyway this work helps as is because we can run perf tests :).

r? @oli-obk /cc @nikomatsakis

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 11, 2019
@rust-highfive
Copy link
Collaborator

The job mingw-check of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-10-11T18:19:05.9111162Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-10-11T18:19:05.9210537Z ##[command]git config gc.auto 0
2019-10-11T18:19:05.9290681Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-10-11T18:19:05.9357409Z ##[command]git config --get-all http.proxy
2019-10-11T18:19:05.9516985Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/65315/merge:refs/remotes/pull/65315/merge
---
2019-10-11T18:26:23.8970409Z     Checking syntax_ext v0.0.0 (/checkout/src/libsyntax_ext)
2019-10-11T18:26:39.4315666Z error[E0308]: mismatched types
2019-10-11T18:26:39.4317264Z    --> src/librustc/mir/visit.rs:798:36
2019-10-11T18:26:39.4318191Z     |
2019-10-11T18:26:39.4318968Z 68  | / macro_rules! make_mir_visitor {
2019-10-11T18:26:39.4319665Z 69  | |     ($visitor_trait_name:ident, $($mutability:ident)?) => {
2019-10-11T18:26:39.4320672Z 70  | |         pub trait $visitor_trait_name<'tcx> {
2019-10-11T18:26:39.4321439Z 71  | |             // Override these, and call `self.super_xxx` to revert back to the
2019-10-11T18:26:39.4322011Z ...   |
2019-10-11T18:26:39.4322649Z 161 | |             visit_place_fns!($($mutability)?);
2019-10-11T18:26:39.4323901Z ...   |
2019-10-11T18:26:39.4324778Z 782 | |     }
2019-10-11T18:26:39.4325397Z 783 | | }
2019-10-11T18:26:39.4325397Z 783 | | }
2019-10-11T18:26:39.4325999Z     | |_- in this expansion of `make_mir_visitor!`
2019-10-11T18:26:39.4326562Z 784 | 
2019-10-11T18:26:39.4327167Z 785 | / macro_rules! visit_place_fns {
2019-10-11T18:26:39.4327786Z 786 | |     (mut) => (
2019-10-11T18:26:39.4328397Z 787 | |         fn tcx<'a>(&'a self) -> TyCtxt<'tcx>;
2019-10-11T18:26:39.4329527Z ...   |
2019-10-11T18:26:39.4329527Z ...   |
2019-10-11T18:26:39.4330591Z 798 | |                 place.projection = new_projection;
2019-10-11T18:26:39.4332650Z ...   |
2019-10-11T18:26:39.4333153Z 919 | |     );
2019-10-11T18:26:39.4333637Z 920 | | }
2019-10-11T18:26:39.4333637Z 920 | | }
2019-10-11T18:26:39.4334132Z     | |_- in this expansion of `visit_place_fns!`
2019-10-11T18:26:39.4334532Z ...
2019-10-11T18:26:39.4335017Z 923 |   make_mir_visitor!(MutVisitor,mut);
2019-10-11T18:26:39.4335964Z     |
2019-10-11T18:26:39.4335964Z     |
2019-10-11T18:26:39.4336649Z     = note: expected type `&'tcx ty::List<mir::ProjectionElem<mir::Local, &'tcx ty::TyS<'tcx>>>`
2019-10-11T18:26:39.4337230Z                found type `std::boxed::Box<[mir::ProjectionElem<mir::Local, &ty::TyS<'_>>]>`
2019-10-11T18:26:47.4559554Z error: aborting due to previous error
2019-10-11T18:26:47.4559826Z 
2019-10-11T18:26:47.4560338Z For more information about this error, try `rustc --explain E0308`.
2019-10-11T18:26:47.6201938Z error: could not compile `rustc`.
---
2019-10-11T18:26:47.6288942Z == clock drift check ==
2019-10-11T18:26:47.6309089Z   local time: Fri Oct 11 18:26:47 UTC 2019
2019-10-11T18:26:47.7711615Z   network time: Fri, 11 Oct 2019 18:26:47 GMT
2019-10-11T18:26:47.7715413Z == end clock drift check ==
2019-10-11T18:26:48.1760173Z ##[error]Bash exited with code '1'.
2019-10-11T18:26:48.1818373Z ##[section]Starting: Checkout
2019-10-11T18:26:48.1819966Z ==============================================================================
2019-10-11T18:26:48.1820016Z Task         : Get sources
2019-10-11T18:26:48.1820070Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@spastorino
Copy link
Member Author

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion

@bors
Copy link
Contributor

bors commented Oct 16, 2019

🔒 Merge conflict

This pull request and the master branch diverged in a way that cannot be automatically merged. Please rebase on top of the latest master branch, and let the reviewer approve again.

How do I rebase?

Assuming self is your fork and upstream is this repository, you can resolve the conflict following these steps:

  1. git checkout intern-place-projection (switch to your branch)
  2. git fetch upstream master (retrieve the latest master)
  3. git rebase upstream/master -p (rebase on top of it)
  4. Follow the on-screen instruction to resolve conflicts (check git status if you got lost).
  5. git push self intern-place-projection --force-with-lease (update this PR)

You may also read Git Rebasing to Resolve Conflicts by Drew Blessing for a short tutorial.

Please avoid the "Resolve conflicts" button on GitHub. It uses git merge instead of git rebase which makes the PR commit history more difficult to read.

Sometimes step 4 will complete without asking for resolution. This is usually due to difference between how Cargo.lock conflict is handled during merge and rebase. This is normal, and you should still perform step 5 to update this PR.

Error message
Auto-merging src/librustc_mir/shim.rs
Auto-merging src/librustc_mir/build/scope.rs
Auto-merging src/librustc_mir/build/matches/mod.rs
Auto-merging src/librustc_mir/build/expr/into.rs
CONFLICT (content): Merge conflict in src/librustc_mir/build/expr/into.rs
Auto-merging src/librustc_mir/build/expr/as_rvalue.rs
CONFLICT (content): Merge conflict in src/librustc_mir/build/expr/as_rvalue.rs
Auto-merging src/librustc_mir/borrow_check/nll/type_check/mod.rs
CONFLICT (content): Merge conflict in src/librustc_mir/borrow_check/nll/type_check/mod.rs
Auto-merging src/librustc_mir/borrow_check/nll/explain_borrow/mod.rs
Auto-merging src/librustc_mir/borrow_check/error_reporting.rs
Auto-merging src/librustc_mir/borrow_check/conflict_errors.rs
Auto-merging src/librustc_codegen_ssa/mir/rvalue.rs
Auto-merging src/librustc_codegen_ssa/mir/block.rs
Auto-merging src/librustc/ty/context.rs
Auto-merging src/librustc/mir/mod.rs
Automatic merge failed; fix conflicts and then commit the result.

@spastorino
Copy link
Member Author

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion

@bors
Copy link
Contributor

bors commented Oct 16, 2019

⌛ Trying commit 2eb0f8f8c34890f9f964bd6a112d6455dfc6e2d3 with merge 2c213ec3e5720569c0f2ad71bc1cf48a7c3077b5...

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-10-16T22:16:15.2442683Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-10-16T22:16:15.2620114Z ##[command]git config gc.auto 0
2019-10-16T22:16:15.2713738Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-10-16T22:16:15.2768552Z ##[command]git config --get-all http.proxy
2019-10-16T22:16:15.2907767Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/65315/merge:refs/remotes/pull/65315/merge
---
2019-10-16T22:23:18.3727379Z    Compiling serde_json v1.0.40
2019-10-16T22:23:20.2903669Z    Compiling tidy v0.1.0 (/checkout/src/tools/tidy)
2019-10-16T22:23:32.4157338Z     Finished release [optimized] target(s) in 1m 32s
2019-10-16T22:23:32.4252934Z tidy check
2019-10-16T22:23:32.8921479Z tidy error: /checkout/src/librustc_mir/transform/copy_prop.rs:135: line longer than 100 chars
2019-10-16T22:23:32.8921617Z tidy error: /checkout/src/librustc_mir/transform/rustc_peek.rs:213: line longer than 100 chars
2019-10-16T22:23:32.8921710Z tidy error: /checkout/src/librustc_mir/transform/rustc_peek.rs:217: line longer than 100 chars
2019-10-16T22:23:32.8948052Z tidy error: /checkout/src/librustc_mir/transform/check_consts/validation.rs:397: line longer than 100 chars
2019-10-16T22:23:32.8973804Z tidy error: /checkout/src/librustc_mir/util/def_use.rs:52: line longer than 100 chars
2019-10-16T22:23:32.8973916Z tidy error: /checkout/src/librustc_mir/util/def_use.rs:128: line longer than 100 chars
2019-10-16T22:23:33.0912215Z tidy error: /checkout/src/librustc/ty/context.rs: too many lines (3007) (add `// ignore-tidy-filelength` to the file to suppress this error)
2019-10-16T22:23:33.0989634Z tidy error: /checkout/src/librustc/mir/mod.rs:1873: line longer than 100 chars
2019-10-16T22:23:34.6704671Z some tidy checks failed
2019-10-16T22:23:34.6706002Z Found 482 error codes
2019-10-16T22:23:34.6706174Z Found 0 error codes with no tests
2019-10-16T22:23:34.6706617Z Done!
2019-10-16T22:23:34.6706617Z Done!
2019-10-16T22:23:34.6706713Z 
2019-10-16T22:23:34.6706767Z 
2019-10-16T22:23:34.6707907Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor"
2019-10-16T22:23:34.6708585Z 
2019-10-16T22:23:34.6708642Z 
2019-10-16T22:23:34.6728807Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
2019-10-16T22:23:34.6729035Z Build completed unsuccessfully in 0:01:35
2019-10-16T22:23:34.6729035Z Build completed unsuccessfully in 0:01:35
2019-10-16T22:23:34.6785000Z == clock drift check ==
2019-10-16T22:23:34.6803511Z   local time: Wed Oct 16 22:23:34 UTC 2019
2019-10-16T22:23:34.7768468Z   network time: Wed, 16 Oct 2019 22:23:34 GMT
2019-10-16T22:23:34.7769588Z == end clock drift check ==
2019-10-16T22:23:36.1832588Z ##[error]Bash exited with code '1'.
2019-10-16T22:23:36.1868078Z ##[section]Starting: Checkout
2019-10-16T22:23:36.1870375Z ==============================================================================
2019-10-16T22:23:36.1870439Z Task         : Get sources
2019-10-16T22:23:36.1870491Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors
Copy link
Contributor

bors commented Oct 17, 2019

☀️ Try build successful - checks-azure
Build commit: 2c213ec3e5720569c0f2ad71bc1cf48a7c3077b5 (2c213ec3e5720569c0f2ad71bc1cf48a7c3077b5)

@rust-timer
Copy link
Collaborator

Queued 2c213ec3e5720569c0f2ad71bc1cf48a7c3077b5 with parent 0e8a4b4, future comparison URL.

@rust-timer
Copy link
Collaborator

Finished benchmarking try commit 2c213ec3e5720569c0f2ad71bc1cf48a7c3077b5, comparison URL.

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-10-18T21:10:57.7442495Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-10-18T21:10:57.7691507Z ##[command]git config gc.auto 0
2019-10-18T21:10:57.7760658Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-10-18T21:10:57.7817248Z ##[command]git config --get-all http.proxy
2019-10-18T21:10:57.7948450Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/65315/merge:refs/remotes/pull/65315/merge
---
2019-10-18T21:17:18.4775895Z    Compiling serde_json v1.0.40
2019-10-18T21:17:20.1701695Z    Compiling tidy v0.1.0 (/checkout/src/tools/tidy)
2019-10-18T21:17:31.4956299Z     Finished release [optimized] target(s) in 1m 28s
2019-10-18T21:17:31.5035272Z tidy check
2019-10-18T21:17:31.9616116Z tidy error: /checkout/src/librustc_mir/transform/copy_prop.rs:135: line longer than 100 chars
2019-10-18T21:17:31.9616229Z tidy error: /checkout/src/librustc_mir/transform/rustc_peek.rs:213: line longer than 100 chars
2019-10-18T21:17:31.9616564Z tidy error: /checkout/src/librustc_mir/transform/rustc_peek.rs:217: line longer than 100 chars
2019-10-18T21:17:31.9645429Z tidy error: /checkout/src/librustc_mir/transform/check_consts/validation.rs:397: line longer than 100 chars
2019-10-18T21:17:31.9669346Z tidy error: /checkout/src/librustc_mir/util/def_use.rs:51: line longer than 100 chars
2019-10-18T21:17:31.9669465Z tidy error: /checkout/src/librustc_mir/util/def_use.rs:127: line longer than 100 chars
2019-10-18T21:17:32.1491380Z tidy error: /checkout/src/librustc/ty/context.rs: too many lines (3007) (add `// ignore-tidy-filelength` to the file to suppress this error)
2019-10-18T21:17:32.1561492Z tidy error: /checkout/src/librustc/mir/mod.rs:1873: line longer than 100 chars
2019-10-18T21:17:33.6195482Z some tidy checks failed
2019-10-18T21:17:33.6195585Z Found 482 error codes
2019-10-18T21:17:33.6195629Z Found 0 error codes with no tests
2019-10-18T21:17:33.6195754Z Done!
2019-10-18T21:17:33.6195754Z Done!
2019-10-18T21:17:33.6195779Z 
2019-10-18T21:17:33.6195801Z 
2019-10-18T21:17:33.6196591Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor"
2019-10-18T21:17:33.6197019Z 
2019-10-18T21:17:33.6197045Z 
2019-10-18T21:17:33.6201133Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
2019-10-18T21:17:33.6201488Z Build completed unsuccessfully in 0:01:31
2019-10-18T21:17:33.6201488Z Build completed unsuccessfully in 0:01:31
2019-10-18T21:17:33.6249670Z == clock drift check ==
2019-10-18T21:17:33.6262263Z   local time: Fri Oct 18 21:17:33 UTC 2019
2019-10-18T21:17:33.6958690Z   network time: Fri, 18 Oct 2019 21:17:33 GMT
2019-10-18T21:17:33.6962503Z == end clock drift check ==
2019-10-18T21:17:35.1651767Z 
2019-10-18T21:17:35.1750784Z ##[error]Bash exited with code '1'.
2019-10-18T21:17:35.1791736Z ##[section]Starting: Checkout
2019-10-18T21:17:35.1793177Z ==============================================================================
2019-10-18T21:17:35.1793242Z Task         : Get sources
2019-10-18T21:17:35.1793280Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors
Copy link
Contributor

bors commented Oct 19, 2019

☔ The latest upstream changes (presumably #65570) made this pull request unmergeable. Please resolve the merge conflicts.

src/librustc/mir/mod.rs Show resolved Hide resolved
src/librustc/mir/mod.rs Outdated Show resolved Hide resolved
src/librustc/mir/mod.rs Show resolved Hide resolved
src/librustc/mir/mod.rs Show resolved Hide resolved
{
let base: mir::PlaceBase<'tcx> = Decodable::decode(decoder)?;
let len = decoder.read_usize()?;
let interned: Vec<mir::PlaceElem<'tcx>> =
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are there no nice wrappers out there for (de)serializign a List?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've fixed the deserialization and made it look a bit better. But what we have is very similar to what's done with ty https://github.com/rust-lang/rust/blob/e0fe4846e5ab3f5d8810280bbe0d217cafd491c9/src/librustc/ty/codec.rs#L247

@spastorino spastorino force-pushed the intern-place-projection branch 2 times, most recently from 19666d1 to e0fe484 Compare October 21, 2019 02:08
@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-10-21T02:09:54.6767624Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-10-21T02:09:54.6941563Z ##[command]git config gc.auto 0
2019-10-21T02:09:54.7006571Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-10-21T02:09:54.7049793Z ##[command]git config --get-all http.proxy
2019-10-21T02:09:54.7176383Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/65315/merge:refs/remotes/pull/65315/merge
---
2019-10-21T02:15:54.1579712Z    Compiling serde_json v1.0.40
2019-10-21T02:15:55.8448125Z    Compiling tidy v0.1.0 (/checkout/src/tools/tidy)
2019-10-21T02:16:06.8851578Z     Finished release [optimized] target(s) in 1m 24s
2019-10-21T02:16:06.8932452Z tidy check
2019-10-21T02:16:07.3095566Z tidy error: /checkout/src/librustc_mir/transform/copy_prop.rs:135: line longer than 100 chars
2019-10-21T02:16:07.3103452Z tidy error: /checkout/src/librustc_mir/transform/rustc_peek.rs:213: line longer than 100 chars
2019-10-21T02:16:07.3103636Z tidy error: /checkout/src/librustc_mir/transform/rustc_peek.rs:217: line longer than 100 chars
2019-10-21T02:16:07.3127611Z tidy error: /checkout/src/librustc_mir/transform/check_consts/validation.rs:397: line longer than 100 chars
2019-10-21T02:16:07.3154360Z tidy error: /checkout/src/librustc_mir/util/def_use.rs:51: line longer than 100 chars
2019-10-21T02:16:07.3154456Z tidy error: /checkout/src/librustc_mir/util/def_use.rs:127: line longer than 100 chars
2019-10-21T02:16:07.3198400Z tidy error: /checkout/src/librustc_mir/build/matches/util.rs:17: line longer than 100 chars
2019-10-21T02:16:07.3202025Z tidy error: /checkout/src/librustc_mir/build/matches/test.rs:756: line longer than 100 chars
2019-10-21T02:16:07.5127632Z tidy error: /checkout/src/librustc/ty/context.rs:2608: line longer than 100 chars
2019-10-21T02:16:07.5127812Z tidy error: /checkout/src/librustc/ty/context.rs:2615: line longer than 100 chars
2019-10-21T02:16:07.5128891Z tidy error: /checkout/src/librustc/ty/context.rs: too many lines (3029) (add `// ignore-tidy-filelength` to the file to suppress this error)
2019-10-21T02:16:08.8798522Z some tidy checks failed
2019-10-21T02:16:08.8800818Z Found 482 error codes
2019-10-21T02:16:08.8801541Z Found 0 error codes with no tests
2019-10-21T02:16:08.8801793Z Done!
2019-10-21T02:16:08.8801793Z Done!
2019-10-21T02:16:08.8802181Z 
2019-10-21T02:16:08.8802356Z 
2019-10-21T02:16:08.8803338Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor"
2019-10-21T02:16:08.8804411Z 
2019-10-21T02:16:08.8804614Z 
2019-10-21T02:16:08.8810561Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
2019-10-21T02:16:08.8810894Z Build completed unsuccessfully in 0:01:27
2019-10-21T02:16:08.8810894Z Build completed unsuccessfully in 0:01:27
2019-10-21T02:16:08.8858442Z == clock drift check ==
2019-10-21T02:16:08.8873393Z   local time: Mon Oct 21 02:16:08 UTC 2019
2019-10-21T02:16:09.0297794Z   network time: Mon, 21 Oct 2019 02:16:09 GMT
2019-10-21T02:16:09.0301036Z == end clock drift check ==
2019-10-21T02:16:10.4011116Z 
2019-10-21T02:16:10.4117359Z ##[error]Bash exited with code '1'.
2019-10-21T02:16:10.4155587Z ##[section]Starting: Checkout
2019-10-21T02:16:10.4157272Z ==============================================================================
2019-10-21T02:16:10.4157329Z Task         : Get sources
2019-10-21T02:16:10.4157382Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors
Copy link
Contributor

bors commented Oct 21, 2019

☔ The latest upstream changes (presumably #65644) made this pull request unmergeable. Please resolve the merge conflicts.

@spastorino spastorino marked this pull request as ready for review October 21, 2019 21:53
@rust-lang rust-lang deleted a comment from bors Oct 22, 2019
@rust-lang rust-lang deleted a comment from rust-timer Oct 22, 2019
@rust-lang rust-lang deleted a comment from rust-timer Oct 22, 2019
@rust-lang rust-lang deleted a comment from rust-timer Oct 22, 2019
@rust-lang rust-lang deleted a comment from bors Oct 22, 2019
@rust-lang rust-lang deleted a comment from rust-timer Oct 22, 2019
@spastorino
Copy link
Member Author

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion

@bors
Copy link
Contributor

bors commented Oct 22, 2019

⌛ Trying commit c2a27851217e1af90365cbc97285744c2fc6b98c with merge c5c186e789650b5a4942a108bfbc6c7b964c83b1...

Copy link
Contributor

@oli-obk oli-obk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

r=me with one more as_local call

src/librustc_mir/borrow_check/conflict_errors.rs Outdated Show resolved Hide resolved
This prepares the code base for when projection is interned. Place's
projection field is going to be `&List<PlaceElem<'tcx>>` so we won't be
able to pattern match against it.
This is so we avoid a massive break of other people's code. Gonna run
rustfmt and split the file on a different PR.
@spastorino
Copy link
Member Author

@bors r=oli-obk

@bors
Copy link
Contributor

bors commented Oct 22, 2019

📌 Commit 5f5903d has been approved by oli-obk

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 22, 2019
Centril added a commit to Centril/rust that referenced this pull request Oct 25, 2019
… r=oli-obk

Intern place projection

This should sit on top of rust-lang#65197. After that one merged, I'm gonna rebase on top of it.

The important commits are the last three and there's a bunch of code repetition that I'm going to remove but for that I need to refactor some things that probably need to be added before this PR.

Anyway this work helps as is because we can run perf tests :).

r? @oli-obk /cc @nikomatsakis
Centril added a commit to Centril/rust that referenced this pull request Oct 25, 2019
… r=oli-obk

Intern place projection

This should sit on top of rust-lang#65197. After that one merged, I'm gonna rebase on top of it.

The important commits are the last three and there's a bunch of code repetition that I'm going to remove but for that I need to refactor some things that probably need to be added before this PR.

Anyway this work helps as is because we can run perf tests :).

r? @oli-obk /cc @nikomatsakis
bors added a commit that referenced this pull request Oct 25, 2019
Rollup of 9 pull requests

Successful merges:

 - #64639 (Stabilize `#[non_exhaustive]` (RFC 2008))
 - #65074 (Fix the start/end byte positions in the compiler JSON output)
 - #65315 (Intern place projection)
 - #65685 (Fix check of `statx` and handle EPERM)
 - #65731 (Prevent unnecessary allocation in PathBuf::set_extension.)
 - #65740 (Fix default "disable-shortcuts" feature value)
 - #65787 (move panictry! to where it is used.)
 - #65789 (move Attribute::with_desugared_doc to librustdoc)
 - #65790 (move report_invalid_macro_expansion_item to item.rs)

Failed merges:

r? @ghost
@bors bors merged commit 5f5903d into rust-lang:master Oct 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants