Skip to content
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

miscellaneous type system improvements #121359

Merged
merged 1 commit into from
Feb 21, 2024
Merged

Conversation

lcnr
Copy link
Contributor

@lcnr lcnr commented Feb 20, 2024

see review comments for rationale

r? @compiler-errors

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Feb 20, 2024
@rustbot
Copy link
Collaborator

rustbot commented Feb 20, 2024

Type relation code was changed

cc @compiler-errors, @lcnr

Some changes occurred to the core trait solver

cc @rust-lang/initiative-trait-system-refactor

)?;
}

Ok(())
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixes a fixme

@lcnr lcnr changed the title miscellaneous type system cleanups miscellaneous type system improvements Feb 20, 2024
};
self.in_alias = is_nested_alias;
result
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

extracts the alias code into a separate method. generally useful as it's quite involved and also part of #119106

// keep the projection unnormalized. This is the case for projections
// with a `T: Trait` where-clause and opaque types outside of the defining
// scope.
let result = if infcx.predicate_may_hold(&obligation) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

by using AliasRelate rigid projections don't result in errors anymore

mod inherent;
mod opaques;
mod opaque_types;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

match the name for all other opaque types files in rustc

@compiler-errors
Copy link
Member

@bors r+

@bors
Copy link
Contributor

bors commented Feb 20, 2024

📌 Commit 5fb67e2 has been approved by compiler-errors

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 20, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 21, 2024
Rollup of 8 pull requests

Successful merges:

 - rust-lang#121044 (Support async trait bounds in macros)
 - rust-lang#121175 (match lowering: test one or pattern at a time)
 - rust-lang#121340 (bootstrap: apply most of clippy's suggestions)
 - rust-lang#121347 (compiletest: support auxiliaries with auxiliaries)
 - rust-lang#121359 (miscellaneous type system improvements)
 - rust-lang#121366 (Remove `diagnostic_builder.rs`)
 - rust-lang#121379 (Remove an `unchecked_error_guaranteed` call.)
 - rust-lang#121396 (make it possible for outside crates to inspect a mir::ConstValue with the interpreter)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 8d27fc8 into rust-lang:master Feb 21, 2024
11 checks passed
@rustbot rustbot added this to the 1.78.0 milestone Feb 21, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Feb 21, 2024
Rollup merge of rust-lang#121359 - lcnr:typesystem-cleanup, r=compiler-errors

miscellaneous type system improvements

see review comments for rationale

r? `@compiler-errors`
@lcnr lcnr deleted the typesystem-cleanup branch February 22, 2024 08:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants