Make sure to scrape region constraints from deeply normalizing type outlives assumptions in borrowck by compiler-errors · Pull Request #134940 · rust-lang/rust (original) (raw)
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 andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Conversation4 Commits1 Checks6 Files changed
Conversation
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
[ Show hidden characters]({{ revealButtonHref }})
Otherwise we're just randomly registering these region relations into the infcx which isn't good
r? lcnr
Comment on lines 237 to 260
let Ok(TypeOpOutput { |
---|
output: normalized_outlives, |
constraints: constraints_normalize, |
error_info: _, |
}) = CustomTypeOp::new( |
|ocx |
ocx.deeply_normalize( |
&ObligationCause::dummy_with_span(span), |
self.param_env, |
outlives, |
) |
.map_err(|_: Vec<ScrubbedTraitError<'tcx>> |
}, |
"normalize type outlives obligation", |
) |
.fully_perform(self.infcx, span) |
else { |
self.infcx.dcx().delayed_bug(format!("could not normalize {outlives:?}")); |
continue; |
}; |
outlives = normalized_outlives; |
if let Some(c) = constraints_normalize { |
constraints.push(c); |
} |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you move this into a sub-fn
The function is already quite complex imo and this code isn't straightforward (I don't think it can be made less so, really)
Contributor
lcnr left a comment
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r=me after nit 👍
…utlives assumptions in borrowck
Pulled it out into a separate function
@bors r=lcnr
📌 Commit 5775190 has been approved by lcnr
It is now in the queue for this repository.
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
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request
Make sure to scrape region constraints from deeply normalizing type outlives assumptions in borrowck
Otherwise we're just randomly registering these region relations into the infcx which isn't good
r? lcnr
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request
Make sure to scrape region constraints from deeply normalizing type outlives assumptions in borrowck
Otherwise we're just randomly registering these region relations into the infcx which isn't good
r? lcnr
bors added a commit to rust-lang-ci/rust that referenced this pull request
…iaskrgr
Rollup of 7 pull requests
Successful merges:
- rust-lang#134940 (Make sure to scrape region constraints from deeply normalizing type outlives assumptions in borrowck)
- rust-lang#135047 (Add gpu-kernel calling convention)
- rust-lang#135228 (Improve
DispatchFromDyn
andCoerceUnsized
impl validation) - rust-lang#135264 (Consider more erroneous layouts as
LayoutError::ReferencesError
to suppress spurious errors) - rust-lang#135302 (for purely return-type based searches, deprioritize clone-like functions)
- rust-lang#135380 (Make sure we can produce
ConstArgHasWrongType
errors for valtree consts) - rust-lang#135425 (Do not consider traits that have unsatisfied const conditions to be conditionally const)
r? @ghost
@rustbot
modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request
…kingjubilee
Rollup of 11 pull requests
Successful merges:
- rust-lang#134913 (bootstrap: do not rely on LIBRARY_PATH env variable)
- rust-lang#134940 (Make sure to scrape region constraints from deeply normalizing type outlives assumptions in borrowck)
- rust-lang#135228 (Improve
DispatchFromDyn
andCoerceUnsized
impl validation) - rust-lang#135264 (Consider more erroneous layouts as
LayoutError::ReferencesError
to suppress spurious errors) - rust-lang#135302 (for purely return-type based searches, deprioritize clone-like functions)
- rust-lang#135353 (re-add --disable-minification to rustdoc)
- rust-lang#135380 (Make sure we can produce
ConstArgHasWrongType
errors for valtree consts) - rust-lang#135423 (Enforce syntactical stability of const traits in HIR)
- rust-lang#135425 (Do not consider traits that have unsatisfied const conditions to be conditionally const)
- rust-lang#135499 (fix underlining of hovered intra-doc links.)
- rust-lang#135505 (Fix clippy lints in rustdoc)
r? @ghost
@rustbot
modify labels: rollup
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request
Rollup merge of rust-lang#134940 - compiler-errors:scrape, r=lcnr
Make sure to scrape region constraints from deeply normalizing type outlives assumptions in borrowck
Otherwise we're just randomly registering these region relations into the infcx which isn't good
r? lcnr
Labels
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Relevant to the compiler team, which will review and decide on the PR/issue.
The Rustc Trait System Refactor Initiative (-Znext-solver)