-
Notifications
You must be signed in to change notification settings - Fork 12.5k
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 7 pull requests #111283
Rollup of 7 pull requests #111283
Commits on Apr 29, 2023
-
Configuration menu - View commit details
-
Copy full SHA for f0be145 - Browse repository at this point
Copy the full SHA f0be145View commit details
Commits on May 2, 2023
-
Make the BUG_REPORT_URL configurable by tools
This greatly simplifies how hard it is to set a custom bug report url; previously tools had to copy the entire hook implementation. - Switch clippy to the new hook This also adds a `extra_info` callback so clippy can include its own version number, which differs from rustc's. - Call `install_ice_hook` in rustfmt
Configuration menu - View commit details
-
Copy full SHA for 2469afe - Browse repository at this point
Copy the full SHA 2469afeView commit details
Commits on May 3, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 7dd59fc - Browse repository at this point
Copy the full SHA 7dd59fcView commit details -
debuginfo: split method declaration and definition
When we're adding a method to a type DIE, we only want a DW_AT_declaration there, because LLVM LTO can't unify type definitions when a child DIE is a full subprogram definition. Now the subprogram definition gets added at the CU level with a specification link back to the abstract declaration.
Configuration menu - View commit details
-
Copy full SHA for 10b69dd - Browse repository at this point
Copy the full SHA 10b69ddView commit details
Commits on May 4, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 964fb67 - Browse repository at this point
Copy the full SHA 964fb67View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9d44f9b - Browse repository at this point
Copy the full SHA 9d44f9bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2e346b6 - Browse repository at this point
Copy the full SHA 2e346b6View commit details -
Constify
[u8]::is_ascii
(unstably)UTF-8 checking in `const fn`-stabilized back in 1.63, but apparently somehow ASCII checking was never const-ified, despite being simpler.
Configuration menu - View commit details
-
Copy full SHA for 370d31b - Browse repository at this point
Copy the full SHA 370d31bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1cfcf71 - Browse repository at this point
Copy the full SHA 1cfcf71View commit details
Commits on May 5, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 9de3d01 - Browse repository at this point
Copy the full SHA 9de3d01View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b85bea - Browse repository at this point
Copy the full SHA 4b85beaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 698acc6 - Browse repository at this point
Copy the full SHA 698acc6View commit details -
Configuration menu - View commit details
-
Copy full SHA for a183ac6 - Browse repository at this point
Copy the full SHA a183ac6View commit details
Commits on May 6, 2023
-
More robust debug assertions for
Instance::resolve
on built-in trai……ts with custom items
Configuration menu - View commit details
-
Copy full SHA for 2a1ef34 - Browse repository at this point
Copy the full SHA 2a1ef34View commit details -
Rollup merge of rust-lang#110577 - compiler-errors:drop-impl-fulfill,…
… r=lcnr Use fulfillment to check `Drop` impl compatibility Use an `ObligationCtxt` to ensure that a `Drop` impl does not have stricter requirements than the ADT that it's implemented for, rather than using a `SimpleEqRelation` to (more or less) syntactically equate predicates on an ADT with predicates on an impl. r? types ### Some background The old code reads: ```rust // An earlier version of this code attempted to do this checking // via the traits::fulfill machinery. However, it ran into trouble // since the fulfill machinery merely turns outlives-predicates // 'a:'b and T:'b into region inference constraints. It is simpler // just to look for all the predicates directly. ``` I'm not sure what this means, but perhaps in the 8 years since that this comment was written (cc rust-lang#23638) it's gotten easier to process region constraints after doing fulfillment? I don't know how this logic differs from anything we do in the `compare_impl_item` module. Ironically, later on it says: ```rust // However, it may be more efficient in the future to batch // the analysis together via the fulfill (see comment above regarding // the usage of the fulfill machinery), rather than the // repeated `.iter().any(..)` calls. ``` Also: * Removes `SimpleEqRelation` which was far too syntactical in its relation. * Fixes rust-lang#110557
Configuration menu - View commit details
-
Copy full SHA for 5c4529b - Browse repository at this point
Copy the full SHA 5c4529bView commit details -
Rollup merge of rust-lang#110610 - spastorino:smir-terminator, r=oli-obk
Add Terminator conversion from MIR to SMIR, part #1 This adds internal MIR TerminatorKind to SMIR Terminator conversion. r? ``@oli-obk``
Configuration menu - View commit details
-
Copy full SHA for 877d938 - Browse repository at this point
Copy the full SHA 877d938View commit details -
Rollup merge of rust-lang#110989 - jyn514:bug-report-url, r=WaffleLapkin
Make the BUG_REPORT_URL configurable by tools This greatly simplifies how hard it is to set a custom bug report url; previously tools had to copy the entire hook implementation. I haven't changed clippy in case they want to make the change upstream instead of the subtree, but I'm happy to do so here if the maintainers want - cc ```@rust-lang/clippy``` Fixes rust-lang#109486.
Configuration menu - View commit details
-
Copy full SHA for b3cafff - Browse repository at this point
Copy the full SHA b3cafffView commit details -
Rollup merge of rust-lang#111167 - cuviper:type-decl-disubprogram, r=…
…michaelwoerister debuginfo: split method declaration and definition When we're adding a method to a type DIE, we only want a DW_AT_declaration there, because LLVM LTO can't unify type definitions when a child DIE is a full subprogram definition. Now the subprogram definition gets added at the CU level with a specification link back to the abstract declaration. Both GCC and Clang write debuginfo this way for C++ class methods. Fixes rust-lang#109730. Fixes rust-lang#109934.
Configuration menu - View commit details
-
Copy full SHA for d3157b6 - Browse repository at this point
Copy the full SHA d3157b6View commit details -
Rollup merge of rust-lang#111222 - scottmcm:constify-is_ascii, r=thomcc
Constify `[u8]::is_ascii` (unstably) UTF-8 checking in `const fn`-stabilized back in 1.63 (rust-lang#97367), but apparently somehow ASCII checking was never const-ified, despite being simpler. New constness-tracking issue for `is_ascii`: rust-lang#111090 I noticed this working on `ascii::Char`: rust-lang#110998
Configuration menu - View commit details
-
Copy full SHA for 0c72a35 - Browse repository at this point
Copy the full SHA 0c72a35View commit details -
Rollup merge of rust-lang#111230 - zacklukem:eq-less-to-less-eq, r=co…
…mpiler-errors add hint for =< as <= Adds a compiler hint for when `=<` is typed instead of `<=` Example hint: ```rust fn foo() { if 1 =< 3 { println!("Hello, World!"); } } ``` ``` error: expected type, found `3` --> main.rs:2:13 | 2 | if 1 =< 3 { | -- ^ expected type | | | help: did you mean: `<=` ``` This PR only emits the suggestion if there is no space between the `=` and `<`. This hopefully narrows the scope of when this error is emitted, however this still allows this error to be emitted in cases such as this: ``` error: expected expression, found `;` --> main.rs:2:18 | 2 | if 1 =< [i32;; 3]>::hello() { | -- ^ expected expression | | | help: did you mean: `<=` ``` Which could be a good reason not to merge since I haven't been able to think of any other ways of narrowing the scope of this diagnostic. closes rust-lang#111128
Configuration menu - View commit details
-
Copy full SHA for a08e689 - Browse repository at this point
Copy the full SHA a08e689View commit details -
Rollup merge of rust-lang#111279 - compiler-errors:core-item-resolve,…
… r=cjgillot More robust debug assertions for `Instance::resolve` on built-in traits with non-standard trait items In rust-lang#111264, a user added a new item to the `Future` trait, but the code in [`resolve_associated_item`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ty_utils/instance/fn.resolve_associated_item.html) implicitly assumes that the `Future` trait is defined with only one method (`Future::poll`) and treats the generator body as the implementation of that method. This PR adds some debug assertions to make sure that that new methods defined on `Future`/`Generator`/etc. don't accidentally resolve to the wrong item when they are added, and adds a helpful comment guiding a compiler dev (or curious `#![no_core]` user) to what must be done to support adding new associated items to these built-in implementations. I am open to discuss whether a test should be added, but I chose against it because I opted to make these `bug!()`s instead of, e.g., diagnostics or fatal errors. Arguably it doesn't need a test because it's not a bug that can be triggered by an end user, and internal-facing misuses of core kind of touch on rust-lang/compiler-team#620 -- however, I think the assertions I added in this PR are still a very useful way to make sure this bug doesn't waste debugging resources down the line. Fixes rust-lang#111264
Configuration menu - View commit details
-
Copy full SHA for 1783a35 - Browse repository at this point
Copy the full SHA 1783a35View commit details