Skip to content

Rollup of 6 pull requests - #60708

Merged
bors merged 20 commits into
rust-lang:masterfrom
Centril:rollup-j5smdo0
May 10, 2019
Merged

Rollup of 6 pull requests#60708
bors merged 20 commits into
rust-lang:masterfrom
Centril:rollup-j5smdo0

Conversation

@Centril

Copy link
Copy Markdown
Contributor

nnethercoteand others added 20 commits May 10, 2019 15:59
This lets comparisons occur with a single access to the interner,
instead of two.
Lots of details I wish I'd known when I first looked at this code.
At request of `@centril`, this commit extends the existing test added
by rust-lang#60676 to include nested `mut` patterns.
This commit adds tests checking that uninhabited non-exhaustive types
are considered inhabited when used in another crate.
This commit ensures that non-exhaustive variants are considered
inhabited when used in extern crates.
This commit ensures that non-exhaustive enums are considered inhabited
when used in extern crates.
This commit just tries to tidy up a little.
…etrochenkov
RFC 2008: Uninhabitedness fixes for enum variants and tests
Part of rust-lang#44109.
At the request of @Centril, this PR adds tests asserting that uninhabited non-exhaustive types are considered inhabited in extern crates. In adding these tests, I fixed an oversight in the implementation of RFC 2008 on enum variants that resulted in non-exhaustive enum variants being considered uninhabited in extern crates.
Before this PR, these lines would error:
```rust
// extern crate
pub enum UninhabitedVariants {
#[non_exhaustive] Tuple(!),
#[non_exhaustive] Struct { x: ! }
}
pub enum PartiallyInhabitedVariants {
Tuple(u8),
#[non_exhaustive] Struct { x: ! }
}
// current crate
match uninhabited_variant() /* fn() -> Option<UninhabitedVariants> */ {
Some(_x) => (), //~ ERROR unreachable pattern
None => (),
}
while let PartiallyInhabitedVariants::Struct { x, .. } = partially_inhabited_variant() /* fn() -> PartiallyInhabitedVariants */ {
//~^ ERROR unreachable pattern
}
```
cc @Centril
r? @petrochenkov
Fix a couple of FIXMEs in ext::tt::transcribe
_Blocked on #60618_
A crater run would be nice to make sure my understanding is correct. A quick google search seems to indicate these are extremely rare errors if they are possible (which I don't believe they are).
r? @petrochenkov
cc rust-lang#2887 (there is only one FIXME left and it is hygiene-related)
…edString, r=Zoxc
Tweak `Symbol` and `InternedString`
Some minor improvements to speed and code cleanliness.
r? @Zoxc
Extend rust-lang#60676 test for nested mut patterns.
At request of @Centril, this commit extends the existing test added by rust-lang#60676 to include nested `mut` patterns.
cc @Centril
…ster
add regression test for rust-lang#60629
This bug was fixed, but I don't know which one. (I think it even doesn't matter at all).
Added a regression test.
```
op@OP ~/m/r/s/t/incremental> rustc --version
rustc 1.35.0-nightly (acd8dd6 2019-04-05)
op@OP ~/m/r/s/t/incremental> rustc -C incremental= --cfg rpass1 issue-60629.rs
warning: struct is never constructed: `A`
--> issue-60629.rs:3:1
|
3 | struct A;
| ^^^^^^^^^
|
= note: #[warn(dead_code)] on by default
op@OP ~/m/r/s/t/incremental> rustc -C incremental= --cfg rpass2 issue-60629.rs
error: internal compiler error: src/librustc/ty/query/plumbing.rs:1195: Cannot force dep node: coherent_trait(core[c27c]::ops[0]::drop[0]::Drop[0])
thread 'rustc' panicked at 'Box<Any>', src/librustc_errors/lib.rs:635:9
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
error: aborting due to previous error
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
note: rustc 1.35.0-nightly (acd8dd6 2019-04-05) running on x86_64-unknown-linux-gnu
note: compiler flags: -C incremental
```
with latest nightly it does not crash anymore, so nothing more to do.
Fixesrust-lang#60629
(accidentally removed the remote branch on github, therefore GH closed the other PR.)
r? @nikomatsakis
@Centril

Copy link
Copy Markdown
ContributorAuthor

@bors r+ p=6 rollup=never

@bors

bors commented May 10, 2019

Copy link
Copy Markdown
Collaborator

📌 Commit 329275a has been approved by Centril

@borsbors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label May 10, 2019
@bors

bors commented May 10, 2019

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 329275a with merge d595b11...

bors added a commit that referenced this pull request May 10, 2019
Rollup of 6 pull requests
Successful merges:
- #60529 (RFC 2008: Uninhabitedness fixes for enum variants and tests)
- #60620 (Fix a couple of FIXMEs in ext::tt::transcribe)
- #60659 (Tweak `Symbol` and `InternedString`)
- #60692 (Extend #60676 test for nested mut patterns.)
- #60697 (add regression test for #60629)
- #60701 (Update mailmap for mati865)
Failed merges:
r? @ghost
@bors

bors commented May 10, 2019

Copy link
Copy Markdown
Collaborator

☀️ Test successful - checks-travis, status-appveyor
Approved by: Centril
Pushing d595b11 to master...

@borsbors added the merged-by-bors This PR was explicitly merged by bors. label May 10, 2019
@bors
bors merged commit 329275a into rust-lang:masterMay 10, 2019
@Centril
Centril deleted the rollup-j5smdo0 branch May 10, 2019 23:00
@CentrilCentril added the rollup A PR which is a rollup label Oct 2, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-by-borsThis PR was explicitly merged by bors.rollupA PR which is a rollupS-waiting-on-borsStatus: 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.

7 participants

@Centril@bors@nnethercote@davidtwco@hellow554@mati865@mark-i-m