-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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 12 pull requests #73680
Rollup of 12 pull requests #73680
Conversation
Currently, rustc uses a heuristic to determine if a range expression is not a literal based on whether the expression looks like a function call or struct initialization. This fails for range literals whose lower/upper bounds are the results of function calls. A possibly-better heuristic is to check if the expression contains `..`, required in range literals. Of course, this is also not perfect; for example, if the range expression is a struct which includes some text with `..` this will fail, but in general I believe it is a better heuristic. A better alternative altogether is to add the `QPath::LangItem` enum variant suggested in rust-lang#60607. I would be happy to do this as a precursor to this patch if someone is able to provide general suggestions on how usages of `QPath` need to be changed later in the compiler with the `LangItem` variant. Closes rust-lang#73553
In the following example, an inaccessible path is suggested via `use foo::bar::X;` whereas an accessible public exported path can be suggested instead. ``` mod foo { mod bar { pub struct X; } pub use self::bar::X; } fn main() { X; } ``` This fixes the issue.
Context: this is needed to fix rust-lang/rustfmt#4263, which currently records the span of a const generic param incorrectly because the location of the `const` kw is not known. I am not sure how to add tests for this; any guidance in how to do so would be appreciated 🙂
… r=matthewjasper Cleanup MinGW LLVM linkage workaround LLVM correctly passes `uuid` for a long time, GCC unwinding library (either static or dynamic) comes from [windows_gnu_base](https://github.com/rust-lang/rust/blob/06e47688bf15d0215edbe05b21603062f6d2eb5d/src/librustc_target/spec/windows_gnu_base.rs).
Fix handling of reserved registers for ARM inline asm `r6` is now disallowed as an operand since LLVM sometimes uses it as a base pointer. The check against using the frame pointer as an operand now takes the platform into account and will block either `r7` or `r11` as appropriate. Fixes rust-lang#73450 cc @cbiffle
…morse Record span of `const` kw in GenericParamKind Context: this is needed for a fix of rust-lang/rustfmt#4263, which currently records the span of a const generic param incorrectly because the location of the `const` kw is not known. I am not sure how to add tests for this; any guidance in how to do so would be appreciated 🙂
Liballoc minor hash import tweak
…abnik Document the mod keyword Partial fix for rust-lang#34601 . Documentation for the `mod` keyword.
Add UI test for issue 73592 It happens that rust-lang#72280 accidentally fixed a bug which is later discovered in rust-lang#73592. This PR adds a UI test to prevent future regression. Closes rust-lang#73592
…r=nikomatsakis Remove unused crate imports in 2018 edition crates Closes rust-lang#73570
Change heuristic for determining range literal Currently, rustc uses a heuristic to determine if a range expression is not a literal based on whether the expression looks like a function call or struct initialization. This fails for range literals whose lower/upper bounds are the results of function calls. A possibly-better heuristic is to check if the expression contains `..`, required in range literals. Of course, this is also not perfect; for example, if the range expression is a struct which includes some text with `..` this will fail, but in general I believe it is a better heuristic. A better alternative altogether is to add the `QPath::LangItem` enum variant suggested in rust-lang#60607. I would be happy to do this as a precursor to this patch if someone is able to provide general suggestions on how usages of `QPath` need to be changed later in the compiler with the `LangItem` variant. Closes rust-lang#73553
Add some regression tests Closes rust-lang#44861 Closes rust-lang#51506 Closes rust-lang#59435 Closes rust-lang#69840
…ons, r=petrochenkov Add re-exports to use suggestions In the following example, an inaccessible path is suggested via `use foo::bar::X;` whereas an accessible public exported path can be suggested instead. ```rust mod foo { mod bar { pub struct X; } pub use self::bar::X; } fn main() { X; } ``` This fixes the issue.
Update BTreeMap::new() doc Updates the documentation according to [this comment](https://github.com/rust-lang/rust/pull/72876/files/0c5c644c91edf6ed949cfa5ffc524f43369df604#r433232581) on rust-lang#72876
Update books ## reference 5 commits in 5d40ba5c2515caffa7790cda621239dc21ef5a72..04d5d5d7ba624b6f5016298451f3a63d557f3260 2020-06-06 20:25:36 -0700 to 2020-06-16 15:08:05 -0700 - Mention `feature="foo"` is a Cargo convention. (rust-lang/reference#833) - fix out of date info on type aliases (rust-lang/reference#831) - Fix an invalid variable name in the loop example (rust-lang/reference#832) - Fix note about using proc_macro with Cargo. (rust-lang/reference#815) - Add a link to the definition of Pattern_White_Space. (rust-lang/reference#824) ## book 7 commits in 30cd9dfe71c446de63826bb4472627af45acc9db..4e7c00bece1544d409312ec93467beb62b5bd0cb 2020-06-07 23:07:19 -0500 to 2020-06-19 09:39:12 -0400 - Link to the reference file that exists - Link to the reference - Clean up discussion around advanced lifetime stuff (rust-lang/book#2351) - Reword Chapter 6 page 2, match (rust-lang/book#2374) - Clarify some package/crate distinctions in chapter 14 (rust-lang/book#2373) - Not mandatory with cargo 1.41.0-nightly (rust-lang/book#2368) - Use same naming for Rhs as libcore/ops (rust-lang/book#2371) ## rust-by-example 4 commits in 7aa82129aa23e7e181efbeb8da03a2a897ef6afc..6f94ccb48da6fa4ed0031290f21411cf789f7d5e 2020-05-25 14:54:26 -0300 to 2020-06-20 17:51:30 -0300 - Update to mdbook 0.3.7 (rust-lang/rust-by-example#1352) - Update fn.md (rust-lang/rust-by-example#1351) - Fixed typo in formatted print (rust-lang/rust-by-example#1350) - This explanation incorrectly inverts the meaning of SuperTrait (rust-lang/rust-by-example#1349) ## embedded-book 5 commits in 5555a97f04ad7974ac6fb8fb47c267c4274adf4a..616962ad0dd80f34d8b802da038d0aed9dd691bb 2020-05-25 18:00:51 +0000 to 2020-06-23 16:03:45 +0000 - Update RTFM name to RTIC, fixed links, updated singletons.md example. (rust-embedded/book#254) - Note on how to rebuild if memory.x is changed (rust-embedded/book#253) - Ease the readers into the Discovery book (rust-embedded/book#250) - Provide a note on 'extern crate' usage in edition 2018 syntax of Rust (rust-embedded/book#248) - Fix Typos and Improve Readability (rust-embedded/book#245)
@bors r+ p=5 rollup=never |
📌 Commit ac13194 has been approved by |
⌛ Testing commit ac13194 with merge f02c100c814618e80441be649aea7970de2c3c87... |
💥 Test timed out |
Aw, the build succeeded too. @pietroalbini in case random CI timeouts aren't on your radar |
@Manishearth can we expect commits that failed to be merged will be rolled up in another PR? |
@ayazhafiz yes, eventually. You can check the queue at http://buildbot2.rust-lang.org/homu/queue/rust |
Successful merges:
const
kw in GenericParamKind #73597 (Record span ofconst
kw in GenericParamKind)Failed merges:
r? @ghost