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 9 pull requests #65804

Merged
merged 26 commits into from
Oct 25, 2019
Merged

Rollup of 9 pull requests #65804

merged 26 commits into from
Oct 25, 2019

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Oct 25, 2019

Successful merges:

Failed merges:

r? @ghost

Rantanen and others added 26 commits October 21, 2019 19:28
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.
It was allocating a new OsString that was immediately dropped after
using it with set_file_name. Now it directly changes the extension in
the original buffer, without touching the rest of the file name or
allocating a temporary string.
This commit stabilizes RFC 2008 (rust-lang#44109) by removing the feature gate.

Signed-off-by: David Wood <david@davidtw.co>
Co-Authored-By: David Wood <Q0KPU0H1YOEPHRY1R2SN5B5RL@david.davidtw.co>
…=Centril

Stabilize `#[non_exhaustive]` (RFC 2008)

Fixes rust-lang#44109.

This pull request stabilizes the `#[non_exhaustive]` attribute, which is used to indicate that a type will have more fields / variants added in the future. It can be applied to `struct`s, `enum`s and `enum` variants. See rust-lang#44109 (comment) for the stabilization report.

r? @Centril
Fix the start/end byte positions in the compiler JSON output

Track the changes made during normalization in the `SourceFile` and use this information to correct the `start_byte` and `end_byte` fields in the JSON output.

This should ensure the start/end byte fields can be used to index the original file, even if Rust normalized the source code for parsing purposes. Both CRLF to LF and BOM removal are handled with this one.

The rough plan was discussed with @matklad in rust-lang/rustfix#176 - although I ended up going with `u32` offset tracking so I wouldn't need to deal with `u32 + i32` arithmetics when applying the offset to the span byte positions.

Fixes rust-lang#65029
… 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
Fix check of `statx` and handle EPERM

Should fix rust-lang#65662

rust-lang#65662 (comment)
> I think a reasonable solution might be to do something like try to stat AT_CWD initially and if that fails with EPERM or ENOSYS we disable the syscall entirely, otherwise it's cached as always good to use.

r? @alexcrichton
…ion, r=dtolnay

Prevent unnecessary allocation in PathBuf::set_extension.

It was allocating a new `OsString` that was immediately dropped after using it with `set_file_name`. Now it directly changes the extension in the original buffer, without touching the rest of the file name or allocating a temporary string.
…-feature, r=Dylan-DPC

Fix default "disable-shortcuts" feature value

Follow-up of rust-lang#65656

It fixes the bad handling of the default value of the feature (which would disable shortcut by default, which is bad!).

r? @Dylan-DPC
cc @kinnison
…twco

move Attribute::with_desugared_doc to librustdoc

From rust-lang#65324.

r? @varkor
…dtwco

move report_invalid_macro_expansion_item to item.rs

From rust-lang#65324.

r? @Mark-Simulacrum
@Centril
Copy link
Contributor Author

Centril commented Oct 25, 2019

@bors r+ p=9 rollup=never

@bors
Copy link
Contributor

bors commented Oct 25, 2019

📌 Commit c0bbb4b 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 25, 2019
@bors
Copy link
Contributor

bors commented Oct 25, 2019

⌛ Testing commit c0bbb4b with merge 23f890f...

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
Copy link
Contributor

bors commented Oct 25, 2019

☀️ Test successful - checks-azure
Approved by: Centril
Pushing 23f890f to master...

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.

8 participants