Elaborate trait assumption in receiver_is_dispatchable#138174
Merged
bors merged 1 commit intorust-lang:masterfrom Mar 12, 2025
Merged
Elaborate trait assumption in receiver_is_dispatchable#138174bors merged 1 commit intorust-lang:masterfrom
receiver_is_dispatchable#138174bors merged 1 commit intorust-lang:masterfrom
Conversation
Collaborator
Contributor
Author
|
r? lcnr or reassign |
BoxyUwU
reviewed
Mar 8, 2025
Comment on lines
601
to
604
| let caller_bounds = param_env | ||
| .caller_bounds() | ||
| .iter() | ||
| .chain(elaborate(tcx, [unsize_predicate, trait_predicate])); |
Member
There was a problem hiding this comment.
How come we don't call normalize_param_env_or_error on this ParamEnv, I would expect us to currently handle this check wrong when we have where clauses containing normalizable aliases, and after this change also handle supertraits of U: Trait wrong when they contain aliases.
Contributor
Author
There was a problem hiding this comment.
We could do that too, maybe i can make an error that requires the param env to be normalized
Member
|
r? @BoxyUwU |
29fef56 to
c170d0f
Compare
Contributor
Author
|
Normalizing the param-env works, and I added a test that is fixed by doing that too. |
compiler-errors
commented
Mar 11, 2025
| { | ||
| fn get_service( | ||
| //~^ ERROR the trait bound `Bug: Foo` is not satisfied | ||
| //~| ERROR the trait bound `Bug: Foo` is not satisfied |
Contributor
Author
There was a problem hiding this comment.
Normalizing the param-env leads to a duplicated error, but 🤷
lcnr
approved these changes
Mar 11, 2025
Member
|
@bors r+ rollup |
Collaborator
jieyouxu
added a commit
to jieyouxu/rust
that referenced
this pull request
Mar 12, 2025
…elf-pred, r=BoxyUwU Elaborate trait assumption in `receiver_is_dispatchable` Fixes rust-lang#138172. See comment on the linked test. Probably not a fix for the general problem, bc I think this may still be incomplete for other weird `where` clauses on the receiver. But 🤷, supertraits seems like an obvious one to fix.
jieyouxu
added a commit
to jieyouxu/rust
that referenced
this pull request
Mar 12, 2025
…elf-pred, r=BoxyUwU Elaborate trait assumption in `receiver_is_dispatchable` Fixes rust-lang#138172. See comment on the linked test. Probably not a fix for the general problem, bc I think this may still be incomplete for other weird `where` clauses on the receiver. But 🤷, supertraits seems like an obvious one to fix.
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Mar 12, 2025
Rollup of 25 pull requests Successful merges: - rust-lang#134076 (Stabilize `std::io::ErrorKind::InvalidFilename`) - rust-lang#136842 (Add libstd support for Trusty targets) - rust-lang#137314 (change definitely unproductive cycles to error) - rust-lang#137504 (Move methods from Map to TyCtxt, part 4.) - rust-lang#137621 (Add std support to cygwin target) - rust-lang#137701 (Convert `ShardedHashMap` to use `hashbrown::HashTable`) - rust-lang#138109 (make precise capturing args in rustdoc Json typed) - rust-lang#138161 (Add PeekMut::refresh) - rust-lang#138162 (Update the standard library to Rust 2024) - rust-lang#138174 (Elaborate trait assumption in `receiver_is_dispatchable`) - rust-lang#138175 (Support rmeta inputs for --crate-type=bin --emit=obj) - rust-lang#138269 (uefi: fs: Implement FileType, FilePermissions and FileAttr) - rust-lang#138313 (Update books) - rust-lang#138318 (Rustdoc: remove a bunch of `@ts-expect-error` from main.js) - rust-lang#138331 (Use `RUSTC_LINT_FLAGS` more) - rust-lang#138333 (Rebuild llvm spuriously less frequently) - rust-lang#138343 (Enable `f16` tests for `powf`) - rust-lang#138345 (Some autodiff cleanups) - rust-lang#138346 (naked functions: on windows emit `.endef` without the symbol name) - rust-lang#138347 (Reduce `kw::Empty` usage, part 2) - rust-lang#138360 (Fix false-positive in `expr_or_init` and in the `invalid_from_utf8` lint) - rust-lang#138371 (Update compiletest's `has_asm_support` to match rustc) - rust-lang#138372 (Refactor `pick2_mut` & `pick3_mut` to use `get_disjoint_mut`) - rust-lang#138376 (Item-related cleanups) - rust-lang#138377 (Remove unnecessary lifetime from `PatInfo`.) r? `@ghost` `@rustbot` modify labels: rollup
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Mar 12, 2025
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#138161 (Add PeekMut::refresh) - rust-lang#138174 (Elaborate trait assumption in `receiver_is_dispatchable`) - rust-lang#138313 (Update books) - rust-lang#138347 (Reduce `kw::Empty` usage, part 2) - rust-lang#138360 (Fix false-positive in `expr_or_init` and in the `invalid_from_utf8` lint) - rust-lang#138372 (Refactor `pick2_mut` & `pick3_mut` to use `get_disjoint_mut`) - rust-lang#138376 (Item-related cleanups) - rust-lang#138377 (Remove unnecessary lifetime from `PatInfo`.) r? `@ghost` `@rustbot` modify labels: rollup
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Mar 12, 2025
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#138161 (Add PeekMut::refresh) - rust-lang#138174 (Elaborate trait assumption in `receiver_is_dispatchable`) - rust-lang#138313 (Update books) - rust-lang#138347 (Reduce `kw::Empty` usage, part 2) - rust-lang#138360 (Fix false-positive in `expr_or_init` and in the `invalid_from_utf8` lint) - rust-lang#138372 (Refactor `pick2_mut` & `pick3_mut` to use `get_disjoint_mut`) - rust-lang#138376 (Item-related cleanups) - rust-lang#138377 (Remove unnecessary lifetime from `PatInfo`.) r? `@ghost` `@rustbot` modify labels: rollup
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Mar 12, 2025
Rollup merge of rust-lang#138174 - compiler-errors:elaborate-unsize-self-pred, r=BoxyUwU Elaborate trait assumption in `receiver_is_dispatchable` Fixes rust-lang#138172. See comment on the linked test. Probably not a fix for the general problem, bc I think this may still be incomplete for other weird `where` clauses on the receiver. But 🤷, supertraits seems like an obvious one to fix.
48 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #138172. See comment on the linked test.
Probably not a fix for the general problem, bc I think this may still be incomplete for other weird
whereclauses on the receiver. But 🤷, supertraits seems like an obvious one to fix.