Skip to content

Rollup of 6 pull requests #65885

New issue

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

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

Already on GitHub? # to your account

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
Collaborator

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
Collaborator

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
Collaborator

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
Contributor

📣 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

# for free to join this conversation on GitHub. Already have an account? # 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.