erica solver: implement builtin Pointee trait impl candidates#107282
Merged
bors merged 3 commits intorust-lang:masterfrom Jan 26, 2023
Merged
erica solver: implement builtin Pointee trait impl candidates#107282bors merged 3 commits intorust-lang:masterfrom
Pointee trait impl candidates#107282bors merged 3 commits intorust-lang:masterfrom
Conversation
Collaborator
|
Some changes occurred to the core trait solver cc @rust-lang/initiative-trait-system-refactor |
Contributor
|
@bors r+ rollup (only affects the new solver) |
Collaborator
lcnr
reviewed
Jan 25, 2023
| ) -> QueryResult<'tcx> { | ||
| let tcx = ecx.tcx(); | ||
| ecx.infcx.probe(|_| { | ||
| let metadata_ty = match goal.predicate.self_ty().kind() { |
Contributor
There was a problem hiding this comment.
we implicitly assume that there's only a single associated type for pointee, would be nice to check that the DefId is #[lang = "metadata_type"]. doesn't matter too much 🤷
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this pull request
Jan 25, 2023
…s, r=compiler-errors erica solver: implement builtin `Pointee` trait impl candidates r? `@compiler-errors`
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this pull request
Jan 25, 2023
…s, r=compiler-errors erica solver: implement builtin `Pointee` trait impl candidates r? ``@compiler-errors``
This was referenced Jan 25, 2023
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Jan 25, 2023
…iaskrgr Rollup of 9 pull requests Successful merges: - rust-lang#105345 (Add hint for missing lifetime bound on trait object when type alias is used) - rust-lang#106897 (Tweak E0597) - rust-lang#106944 (Suggest using a lock for `*Cell: Sync` bounds) - rust-lang#107239 (Bring tests back into rustc source tarball) - rust-lang#107244 (rustdoc: rearrange HTML in primitive reference links) - rust-lang#107255 (add test where we ignore hr implied bounds) - rust-lang#107256 (Delete `SimplifyArmIdentity` and `SimplifyBranchSame` mir opts) - rust-lang#107266 (rustdoc: prohibit scroll bar on source viewer in Safari) - rust-lang#107282 (erica solver: implement builtin `Pointee` trait impl candidates) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this pull request
Jan 26, 2023
…fers, r=lcnr ICE in new solver if we see an inference variable By construction, we do not expect to see any `ty::Infer(ty::TyVar(_))` inference types in the solver (we treat this as ambiguous, since we need to be able to structurally resolve the self type at least one layer to assemble candidates for it). Additionally, since we're doing no freshening, we also don't expect to see any fresh vars of any kind in the solver. Let's make that an ICE so we can catch any mistakes. When rust-lang#107282 lands, we should also ICE there too if we see a non-int/float infer. r? `@lcnr`
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.
r? @compiler-errors