-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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 10 pull requests #120709
Rollup of 10 pull requests #120709
Commits on Jan 14, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 511bf6e - Browse repository at this point
Copy the full SHA 511bf6eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2cfc817 - Browse repository at this point
Copy the full SHA 2cfc817View commit details
Commits on Jan 28, 2024
-
Configuration menu - View commit details
-
Copy full SHA for c367983 - Browse repository at this point
Copy the full SHA c367983View commit details
Commits on Jan 30, 2024
-
limit the names_possiblilities to less than 3
Co-authored-by: Urgau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0213c87 - Browse repository at this point
Copy the full SHA 0213c87View commit details -
Configuration menu - View commit details
-
Copy full SHA for ca243e7 - Browse repository at this point
Copy the full SHA ca243e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for d34b0fa - Browse repository at this point
Copy the full SHA d34b0faView commit details -
Account for unbounded type param receiver in suggestions
When encountering ```rust fn f<T>(a: T, b: T) -> std::cmp::Ordering { a.cmp(&b) //~ ERROR E0599 } ``` output ``` error[E0599]: no method named `cmp` found for type parameter `T` in the current scope --> $DIR/method-on-unbounded-type-param.rs:2:7 | LL | fn f<T>(a: T, b: T) -> std::cmp::Ordering { | - method `cmp` not found for this type parameter LL | a.cmp(&b) | ^^^ method cannot be called on `T` due to unsatisfied trait bounds | = help: items from traits can only be used if the type parameter is bounded by the trait help: the following traits define an item `cmp`, perhaps you need to restrict type parameter `T` with one of them: | LL | fn f<T: Ord>(a: T, b: T) -> std::cmp::Ordering { | +++++ LL | fn f<T: Iterator>(a: T, b: T) -> std::cmp::Ordering { | ++++++++++ ``` Fix rust-lang#120186.
Configuration menu - View commit details
-
Copy full SHA for 20b1c2a - Browse repository at this point
Copy the full SHA 20b1c2aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9ccc770 - Browse repository at this point
Copy the full SHA 9ccc770View commit details -
Account for non-overlapping unmet trait bounds in suggestion
When a method not found on a type parameter could have been provided by any of multiple traits, suggest each trait individually, instead of a single suggestion to restrict the type parameter with *all* of them. Before: ``` error[E0599]: the method `cmp` exists for reference `&T`, but its trait bounds were not satisfied --> $DIR/method-on-unbounded-type-param.rs:5:10 | LL | (&a).cmp(&b) | ^^^ method cannot be called on `&T` due to unsatisfied trait bounds | = note: the following trait bounds were not satisfied: `T: Ord` which is required by `&T: Ord` `&T: Iterator` which is required by `&mut &T: Iterator` `T: Iterator` which is required by `&mut T: Iterator` help: consider restricting the type parameters to satisfy the trait bounds | LL | fn g<T>(a: T, b: T) -> std::cmp::Ordering where T: Iterator, T: Ord { | +++++++++++++++++++++++++ ``` After: ``` error[E0599]: the method `cmp` exists for reference `&T`, but its trait bounds were not satisfied --> $DIR/method-on-unbounded-type-param.rs:5:10 | LL | (&a).cmp(&b) | ^^^ method cannot be called on `&T` due to unsatisfied trait bounds | = note: the following trait bounds were not satisfied: `T: Ord` which is required by `&T: Ord` `&T: Iterator` which is required by `&mut &T: Iterator` `T: Iterator` which is required by `&mut T: Iterator` = help: items from traits can only be used if the type parameter is bounded by the trait help: the following traits define an item `cmp`, perhaps you need to restrict type parameter `T` with one of them: | LL | fn g<T: Ord>(a: T, b: T) -> std::cmp::Ordering { | +++++ LL | fn g<T: Iterator>(a: T, b: T) -> std::cmp::Ordering { | ++++++++++ ``` Fix rust-lang#108428.
Configuration menu - View commit details
-
Copy full SHA for 5c41409 - Browse repository at this point
Copy the full SHA 5c41409View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7331315 - Browse repository at this point
Copy the full SHA 7331315View commit details
Commits on Jan 31, 2024
-
ast_lowering: Make sure all imports have non-empty resolution lists
HIR visitor visits import paths once per resolution, so if some import has an empty resolution list, like in case of import list stems, its path stays unvisited.
Configuration menu - View commit details
-
Copy full SHA for 49d49eb - Browse repository at this point
Copy the full SHA 49d49ebView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3ff6796 - Browse repository at this point
Copy the full SHA 3ff6796View commit details -
Configuration menu - View commit details
-
Copy full SHA for e292423 - Browse repository at this point
Copy the full SHA e292423View commit details -
Configuration menu - View commit details
-
Copy full SHA for be77cf8 - Browse repository at this point
Copy the full SHA be77cf8View commit details -
Configuration menu - View commit details
-
Copy full SHA for f65fe3b - Browse repository at this point
Copy the full SHA f65fe3bView commit details -
Configuration menu - View commit details
-
Copy full SHA for be80c82 - Browse repository at this point
Copy the full SHA be80c82View commit details
Commits on Feb 2, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 0e16885 - Browse repository at this point
Copy the full SHA 0e16885View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7576b77 - Browse repository at this point
Copy the full SHA 7576b77View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7d1fda7 - Browse repository at this point
Copy the full SHA 7d1fda7View commit details -
Configuration menu - View commit details
-
Copy full SHA for a371059 - Browse repository at this point
Copy the full SHA a371059View commit details -
Configuration menu - View commit details
-
Copy full SHA for e951bcf - Browse repository at this point
Copy the full SHA e951bcfView commit details
Commits on Feb 5, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 9f58cf4 - Browse repository at this point
Copy the full SHA 9f58cf4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 48abca7 - Browse repository at this point
Copy the full SHA 48abca7View commit details -
update the tracking issue for structural match violations
and bless a test I missed
Configuration menu - View commit details
-
Copy full SHA for 45d01b8 - Browse repository at this point
Copy the full SHA 45d01b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for e00df17 - Browse repository at this point
Copy the full SHA e00df17View commit details -
Configuration menu - View commit details
-
Copy full SHA for f2eec89 - Browse repository at this point
Copy the full SHA f2eec89View commit details -
Configuration menu - View commit details
-
Copy full SHA for 189c957 - Browse repository at this point
Copy the full SHA 189c957View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1461e12 - Browse repository at this point
Copy the full SHA 1461e12View commit details -
Configuration menu - View commit details
-
Copy full SHA for f695515 - Browse repository at this point
Copy the full SHA f695515View commit details
Commits on Feb 6, 2024
-
Rollup merge of rust-lang#119614 - RalfJung:const-refs-to-static, r=o…
…li-obk unstably allow constants to refer to statics and read from immutable statics I am not aware of any fundamental reason why we cannot allow constants to mention statics. What we really need is that constants do not *read from* statics that can change their value: - This would break the principle that "constants behave as-if their expression was inlined everywhere and executed at runtime". This is enforced by halting const-eval interpretation when a read from a mutable global occurs. - When building a valtree we want to be sure that the constant and everything it refers to is truly immutable. This is enforced by aborting valtree construction when a read from a mutable global occurs. r? `@oli-obk` -- if you are okay with experimenting with this feature, I will create a tracking issue. Based on and blocked on rust-lang#119044; only the last commit is new.
Configuration menu - View commit details
-
Copy full SHA for 262c7ad - Browse repository at this point
Copy the full SHA 262c7adView commit details -
Rollup merge of rust-lang#119939 - clubby789:static-const-generic-not…
…e, r=compiler-errors Improve 'generic param from outer item' error for `Self` and inside `static`/`const` items Fixes rust-lang#109596 Fixes rust-lang#119936
Configuration menu - View commit details
-
Copy full SHA for 7dc7422 - Browse repository at this point
Copy the full SHA 7dc7422View commit details -
Rollup merge of rust-lang#120206 - petrochenkov:somehir, r=compiler-e…
…rrors hir: Make sure all `HirId`s have corresponding HIR `Node`s And then remove `tcx.opt_hir_node(hir_id)` in favor of `tcx.hir_node(hir_id)`.
Configuration menu - View commit details
-
Copy full SHA for a22f60a - Browse repository at this point
Copy the full SHA a22f60aView commit details -
Rollup merge of rust-lang#120331 - Nadrieril:no-arena, r=compiler-errors
pattern_analysis: use a plain `Vec` in `DeconstructedPat` The use of an arena-allocated slice in `DeconstructedPat` dates to when we needed the arena anyway for lifetime reasons. Now that we don't, I'm thinking that if `thir::Pat` can use plain old `Vec`s, maybe so can I. r? `@ghost`
Configuration menu - View commit details
-
Copy full SHA for 3d69c79 - Browse repository at this point
Copy the full SHA 3d69c79View commit details -
Rollup merge of rust-lang#120396 - estebank:method-on-unbounded-type-…
…param, r=nnethercote Account for unbounded type param receiver in suggestions When encountering ```rust fn f<T>(a: T, b: T) -> std::cmp::Ordering { a.cmp(&b) //~ ERROR E0599 } ``` output ``` error[E0599]: no method named `cmp` found for type parameter `T` in the current scope --> $DIR/method-on-unbounded-type-param.rs:2:7 | LL | fn f<T>(a: T, b: T) -> std::cmp::Ordering { | - method `cmp` not found for this type parameter LL | a.cmp(&b) | ^^^ method cannot be called on `T` due to unsatisfied trait bounds | = help: items from traits can only be used if the type parameter is bounded by the trait help: the following traits define an item `cmp`, perhaps you need to restrict type parameter `T` with one of them: | LL | fn f<T: Ord>(a: T, b: T) -> std::cmp::Ordering { | +++++ LL | fn f<T: Iterator>(a: T, b: T) -> std::cmp::Ordering { | ++++++++++ ``` Fix rust-lang#120186.
Configuration menu - View commit details
-
Copy full SHA for bfc4e34 - Browse repository at this point
Copy the full SHA bfc4e34View commit details -
Rollup merge of rust-lang#120423 - RalfJung:indirect-structural-match…
…, r=petrochenkov update indirect structural match lints to match RFC and to show up for dependencies This is a large step towards implementing rust-lang/rfcs#3535. We currently have five lints related to "the structural match situation": - nontrivial_structural_match - indirect_structural_match - pointer_structural_match - const_patterns_without_partial_eq - illegal_floating_point_literal_pattern This PR concerns the first 3 of them. (The 4th already is set up to show for dependencies, and the 5th is removed by rust-lang#116284.) nontrivial_structural_match is being removed as per the RFC; the other two are enabled to show up in dependencies. Fixes rust-lang#73448 by removing the affected analysis.
Configuration menu - View commit details
-
Copy full SHA for 308162a - Browse repository at this point
Copy the full SHA 308162aView commit details -
Rollup merge of rust-lang#120435 - chenyukang:yukang-fix-120427-cfg-n…
…ame, r=Urgau,Nilstrieb Suggest name value cfg when only value is used for check-cfg Fixes rust-lang#120427 r? ```````````@Nilstrieb```````````
Configuration menu - View commit details
-
Copy full SHA for d8f5cb9 - Browse repository at this point
Copy the full SHA d8f5cb9View commit details -
Rollup merge of rust-lang#120502 - clubby789:remove-ffi-returns-twice…
…, r=compiler-errors Remove `ffi_returns_twice` feature The [tracking issue](rust-lang#58314) and [RFC](rust-lang/rfcs#2633) have been closed for a couple of years. There is also an attribute gate in R-A which should be removed if this lands.
Configuration menu - View commit details
-
Copy full SHA for 6293990 - Browse repository at this point
Copy the full SHA 6293990View commit details -
Rollup merge of rust-lang#120507 - estebank:issue-108428, r=davidtwco
Account for non-overlapping unmet trait bounds in suggestion When a method not found on a type parameter could have been provided by any of multiple traits, suggest each trait individually, instead of a single suggestion to restrict the type parameter with *all* of them. Before: ``` error[E0599]: the method `cmp` exists for reference `&T`, but its trait bounds were not satisfied --> $DIR/method-on-unbounded-type-param.rs:5:10 | LL | (&a).cmp(&b) | ^^^ method cannot be called on `&T` due to unsatisfied trait bounds | = note: the following trait bounds were not satisfied: `T: Ord` which is required by `&T: Ord` `&T: Iterator` which is required by `&mut &T: Iterator` `T: Iterator` which is required by `&mut T: Iterator` help: consider restricting the type parameters to satisfy the trait bounds | LL | fn g<T>(a: T, b: T) -> std::cmp::Ordering where T: Iterator, T: Ord { | +++++++++++++++++++++++++ ``` After: ``` error[E0599]: the method `cmp` exists for reference `&T`, but its trait bounds were not satisfied --> $DIR/method-on-unbounded-type-param.rs:5:10 | LL | (&a).cmp(&b) | ^^^ method cannot be called on `&T` due to unsatisfied trait bounds | = note: the following trait bounds were not satisfied: `T: Ord` which is required by `&T: Ord` `&T: Iterator` which is required by `&mut &T: Iterator` `T: Iterator` which is required by `&mut T: Iterator` = help: items from traits can only be used if the type parameter is bounded by the trait help: the following traits define an item `cmp`, perhaps you need to restrict type parameter `T` with one of them: | LL | fn g<T: Ord>(a: T, b: T) -> std::cmp::Ordering { | +++++ LL | fn g<T: Iterator>(a: T, b: T) -> std::cmp::Ordering { | ++++++++++ ``` Fix rust-lang#108428. Follow up to rust-lang#120396, only last commit is relevant.
Configuration menu - View commit details
-
Copy full SHA for a513920 - Browse repository at this point
Copy the full SHA a513920View commit details -
Rollup merge of rust-lang#120513 - compiler-errors:normalize-regions-…
…for-nll, r=lcnr Normalize type outlives obligations in NLL for new solver Normalize the type outlives assumptions and obligations in MIR borrowck. This should fix any of the lazy-norm-related MIR borrowck problems. Also some cleanups from last PR: 1. Normalize obligations in a loop in lexical region resolution 2. Use `deeply_normalize_with_skipped_universes` in lexical resolution since we may have, e.g. `for<'a> Alias<'a>: 'b`. r? lcnr
Configuration menu - View commit details
-
Copy full SHA for d26cd5e - Browse repository at this point
Copy the full SHA d26cd5eView commit details