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

Rollup of 6 pull requests #65885

Merged
merged 16 commits into from
Oct 28, 2019
Merged

Rollup of 6 pull requests #65885

merged 16 commits into from
Oct 28, 2019

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Oct 28, 2019

Successful merges:

Failed merges:

r? @ghost

eopb and others added 16 commits October 19, 2019 11:04
This is done by moving some data definitions to syntax::expand.
Apply review suggestions

Apply review suggestions
Co-authored-by: Steve Klabnik <steve@steveklabnik.com>
Returns a `&core::panic::Location` corresponding to where it was
called, also making `Location` a lang item.
This allows us to remove `static_panic_msg` from the SSA<->LLVM
boundary, along with its fat pointer representation for &str.

Also changes the signature of PanicInfo::internal_contructor to
avoid copying.

Closes rust-lang#65856.
I took most tests that were testing only for match exhaustiveness,
pattern refutability or match arm reachability, and put them in
the same test folder.
Stabilize `Option::flatten`

- PR: rust-lang#60256
- Tracking issue: rust-lang#60258

@elahn

> I was trying to `flat_map()` and found `map().flatten()` does the trick. This has been on nightly for 4 months, can we stabilise it?

@ethanboxx

> @Centril Helped me get this merged. What is the stabilization process?

@Centril

> @ethanboxx I'd just file a PR to stabilize it and we'll ask T-libs to FCP.

So here I am.

I am was unsure what number to put in `since = "-"` so I copied what someone had done in a recent PR.
`std::panic::Location` is a lang_item, add `core::intrinsics::caller_location` (RFC 2091 3/N)

[Tracking issue](rust-lang#47809)
[RFC text](https://github.com/rust-lang/rfcs/blob/master/text/2091-inline-semantic.md)

@eddyb suggested doing this intrinsic implementation ahead of actually implementing the `#[track_caller]` attribute so that there's an easily tested intermediate step between adding the shim and wiring up the attribute.
rustc, rustc_passes: reduce deps on rustc_expand

Part of rust-lang#65324.

r? @petrochenkov
…etrochenkov

librustc_lexer: Enhance documentation

This PR enhances documentation state of the `librustc_lexer` (as initiative caused by [rustc-guide#474](rust-lang/rustc-dev-guide#474)), by adding:

- Module documentation.
- Doc-comments (and a bit of usual comments) in non-obvious (as for me) places.

r? @petrochenkov

cc @Centril
…ruppe

doc: explain why it is unsafe to construct Vec<u8> from Vec<u16>
…r=varkor

Gather together usefulness tests

I took most tests that were testing only for match exhaustiveness, pattern refutability or match arm reachability, and put them in the same test folder. I found it helpful to have them all in the same place when working on the usefulness algorithm.
@Centril
Copy link
Contributor Author

Centril commented Oct 28, 2019

@bors r+ p=6 rollup=never

@bors
Copy link
Contributor

bors commented Oct 28, 2019

📌 Commit 606743e has been approved by Centril

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Oct 28, 2019
@Centril Centril added the rollup A PR which is a rollup label Oct 28, 2019
@Centril
Copy link
Contributor Author

Centril commented Oct 28, 2019

@bors retry

@bors
Copy link
Contributor

bors commented Oct 28, 2019

⌛ Testing commit 606743e with merge 9285d40...

bors added a commit that referenced this pull request Oct 28, 2019
Rollup of 6 pull requests

Successful merges:

 - #64747 (Stabilize `Option::flatten`)
 - #65664 (`std::panic::Location` is a lang_item, add `core::intrinsics::caller_location` (RFC 2091 3/N))
 - #65792 (rustc, rustc_passes: reduce deps on rustc_expand)
 - #65849 (librustc_lexer: Enhance documentation)
 - #65873 (doc: explain why it is unsafe to construct Vec<u8> from Vec<u16>)
 - #65880 (Gather together usefulness tests)

Failed merges:

r? @ghost
@bors
Copy link
Contributor

bors commented Oct 28, 2019

☀️ Test successful - checks-azure
Approved by: Centril
Pushing 9285d40 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Oct 28, 2019
@bors bors merged commit 606743e into rust-lang:master Oct 28, 2019
@rust-highfive
Copy link
Collaborator

📣 Toolstate changed by #65885!

Tested on commit 9285d40.
Direct link to PR: #65885

💔 clippy-driver on windows: test-pass → build-fail (cc @mcarton @oli-obk @Manishearth @flip1995 @yaahc @phansch @llogiq, @rust-lang/infra).
💔 clippy-driver on linux: test-pass → build-fail (cc @mcarton @oli-obk @Manishearth @flip1995 @yaahc @phansch @llogiq, @rust-lang/infra).
💔 miri on windows: test-pass → build-fail (cc @oli-obk @eddyb @RalfJung, @rust-lang/infra).
💔 miri on linux: test-pass → build-fail (cc @oli-obk @eddyb @RalfJung, @rust-lang/infra).
🎉 rls on windows: build-fail → test-pass (cc @Xanewok, @rust-lang/infra).
🎉 rls on linux: build-fail → test-pass (cc @Xanewok, @rust-lang/infra).

rust-highfive added a commit to rust-lang-nursery/rust-toolstate that referenced this pull request Oct 28, 2019
Tested on commit rust-lang/rust@9285d40.
Direct link to PR: <rust-lang/rust#65885>

💔 clippy-driver on windows: test-pass → build-fail (cc @mcarton @oli-obk @Manishearth @flip1995 @yaahc @phansch @llogiq, @rust-lang/infra).
💔 clippy-driver on linux: test-pass → build-fail (cc @mcarton @oli-obk @Manishearth @flip1995 @yaahc @phansch @llogiq, @rust-lang/infra).
💔 miri on windows: test-pass → build-fail (cc @oli-obk @eddyb @RalfJung, @rust-lang/infra).
💔 miri on linux: test-pass → build-fail (cc @oli-obk @eddyb @RalfJung, @rust-lang/infra).
🎉 rls on windows: build-fail → test-pass (cc @Xanewok, @rust-lang/infra).
🎉 rls on linux: build-fail → test-pass (cc @Xanewok, @rust-lang/infra).
@nnethercote
Copy link
Contributor

nnethercote commented Oct 29, 2019

This caused gigantic compile-time regressions for incremental debug and opt builds, of 100s and 1000s of percent.

I suspect #65664 or #65792 is the cause. The other changes are all small. @anp, @Centril: any thoughts?

cc @rust-lang/wg-compiler-performance

@nnethercote
Copy link
Contributor

Note that a bunch of codegen queries (e.g. LLVM_module_codegen_emit_obj) are now happening on those incremental runs, they weren't happening before.

@Centril
Copy link
Contributor Author

Centril commented Oct 29, 2019

#65792 seems unlikely as it is just moving some stuff, not actually changing the implementation.

@michaelwoerister
Copy link
Member

Just from the title #65664 looks like it could introduce a dependency of machine code or MIR to span information, which is always bad news for incremental compilation.

@eddyb
Copy link
Member

eddyb commented Oct 29, 2019

It's #65664, see #65664 (comment) for more details.
EDIT: fix is up at: #65927

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup 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.

None yet