Skip to content

support higher-ranked regions in opaque type inference - #100503

Closed
aliemjay wants to merge 5 commits into
rust-lang:masterfrom
aliemjay:opaque_higher_ranked
Closed

support higher-ranked regions in opaque type inference#100503
aliemjay wants to merge 5 commits into
rust-lang:masterfrom
aliemjay:opaque_higher_ranked

Conversation

@aliemjay

@aliemjayaliemjay commented Aug 13, 2022

Copy link
Copy Markdown
Contributor

Best reviewed commit by commit.

Cc @WaffleLapkin this may help #93582.

Fixes#96146.
Fixes#97098.
Fixes#97099.

Builds on #100375.

@rust-highfive

Copy link
Copy Markdown
Contributor

r? @wesleywiser

(rust-highfive has picked a reviewer for you, use r? to override)

@rustbotrustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Aug 13, 2022
@rust-highfiverust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 13, 2022
@aliemjay

aliemjay commented Aug 13, 2022

Copy link
Copy Markdown
ContributorAuthor

r? @ghost

@the8472

Copy link
Copy Markdown
Member

@bors try @rust-timer queue

@rust-timer

Copy link
Copy Markdown
Collaborator

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

@rustbotrustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Aug 15, 2022
@bors

bors commented Aug 15, 2022

Copy link
Copy Markdown
Collaborator

⌛ Trying commit 00ad09a6d887bb405b066fcb3cfd7862016544af with merge 3d24f8fa902ae9abd51f0d08aa8a0d7b2895840f...

@bors

bors commented Aug 15, 2022

Copy link
Copy Markdown
Collaborator

☀️ Try build successful - checks-actions
Build commit: 3d24f8fa902ae9abd51f0d08aa8a0d7b2895840f (3d24f8fa902ae9abd51f0d08aa8a0d7b2895840f)

@rust-timer

Copy link
Copy Markdown
Collaborator

Queued 3d24f8fa902ae9abd51f0d08aa8a0d7b2895840f with parent 6ce7609, future comparison URL.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (3d24f8fa902ae9abd51f0d08aa8a0d7b2895840f): comparison url.

Instruction count

  • Primary benchmarks: no relevant changes found
  • Secondary benchmarks: mixed results
( )mean1maxcount2
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
1.1%1.5%6
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-0.8%-0.9%6
All ❌✅ (primary)--0

Max RSS (memory usage)

Results
  • Primary benchmarks: no relevant changes found
  • Secondary benchmarks: mixed results
( )mean1maxcount2
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
1.2%1.2%1
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-3.5%-3.5%1
All ❌✅ (primary)--0

Cycles

Results
  • Primary benchmarks: ❌ relevant regression found
  • Secondary benchmarks: no relevant changes found
( )mean1maxcount2
Regressions ❌
(primary)
2.9%2.9%1
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)2.9%2.9%1

If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf.

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.

Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please fix the regressions and do another perf run. If the next run shows neutral or positive results, the label will be automatically removed.

@bors rollup=never
@rustbot label: +S-waiting-on-review -S-waiting-on-perf +perf-regression

Footnotes

  1. the arithmetic mean of the percent change23

  2. number of relevant changes23

@rustbotrustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Aug 15, 2022
When checking `'sup: 'sub`, take placeholder elements into account.
This wasn't a problem previously (I hope!) because `eval_outlives` was
only used for type_tests, which don't have higher-ranked outlive
relations.
@aliemjayaliemjay changed the title support higher-ranked regions in opaque type inferecesupport higher-ranked regions in opaque type inferenceAug 15, 2022
@aliemjay
aliemjayforce-pushed the opaque_higher_ranked branch from 00ad09a to e6b62a0CompareAugust 15, 2022 23:46
@aliemjay
aliemjay marked this pull request as ready for review August 15, 2022 23:47
@aliemjay

Copy link
Copy Markdown
ContributorAuthor

Should be ready now. I've done a couple perf changes that might help.

r? types

@bors

bors commented Aug 21, 2022

Copy link
Copy Markdown
Collaborator

☔ The latest upstream changes (presumably #100847) made this pull request unmergeable. Please resolve the merge conflicts.

@spastorino

Copy link
Copy Markdown
Member

r? types

@spastorinospastorino removed their assignment Sep 8, 2022
@rustbotrustbot removed the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Dec 15, 2022
@jackh726

Copy link
Copy Markdown
Member

Nominating to get this moving again (though I imagine this will get delayed until after holidays)

@jackh726jackh726 added the I-types-nominated Nominated for discussion during a types team meeting. label Dec 15, 2022
@lcnrlcnr removed the I-types-nominated Nominated for discussion during a types team meeting. label Jan 18, 2023
@lcnr

lcnr commented Jan 18, 2023

Copy link
Copy Markdown
Contributor

https://rust-lang.zulipchat.com/#narrow/stream/326132-t-types.2Fmeetings/topic/2023-01-18.20meeting/near/322081270

unnominating with the expectation that @aliemjay will either schedule a meeting with niko or assign this PR to me.

@anden3anden3 added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 14, 2023
@anden3

Copy link
Copy Markdown
Contributor

Hello @aliemjay! Noticed there's some merge conflicts, what's the status of this PR?

@lcnr

lcnr commented May 15, 2023

Copy link
Copy Markdown
Contributor

given the time i've spent on this topic recently

r? @lcnr

we probably want to wait on the t-types meeting about opaque types today though before making progress on this

@Dylan-DPC

Copy link
Copy Markdown
Member

Blocked on #113575

@Dylan-DPCDylan-DPC added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jul 24, 2023
bors added a commit to rust-lang-ci/rust that referenced this pull request Aug 4, 2023
don't ICE on higher ranked hidden types
This shouldn't allow more code to compile, only replaces the ICE with a nicer error message.
Fixesrust-lang#97098.
Fixesrust-lang#97099.
Fixesrust-lang#108399Fixesrust-lang#104196Fixesrust-lang#113481Fixesrust-lang#103186Fixesrust-lang#100818
r? `@lcnr` (because you showed interest in rust-lang#100503 :)
@Dylan-DPC

Copy link
Copy Markdown
Member

No longer blocked as the pr it was blocked on, is merged

@Dylan-DPCDylan-DPC added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-blocked Status: Blocked on something else such as an RFC or other implementation work. labels Oct 7, 2023
@Dylan-DPC

Copy link
Copy Markdown
Member

@aliemjay any updates on this?

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Feb 22, 2024
…r=lcnr
test that we do not support higher-ranked regions in opaque type inference
We already do all the right checks in `check_opaque_type_parameter_valid`, and we have done so since at least 2 years.
I collected the tests from rust-lang#116935 and rust-lang#100503 and added some more
cc rust-lang#96146
r? `@lcnr`
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Feb 22, 2024
…r=lcnr
test that we do not support higher-ranked regions in opaque type inference
We already do all the right checks in `check_opaque_type_parameter_valid`, and we have done so since at least 2 years.
I collected the tests from rust-lang#116935 and rust-lang#100503 and added some more
cc rust-lang#96146
r? `@lcnr`
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Feb 22, 2024
Rollup merge of rust-lang#121386 - oli-obk:no_higher_ranked_opaques, r=lcnr
test that we do not support higher-ranked regions in opaque type inference
We already do all the right checks in `check_opaque_type_parameter_valid`, and we have done so since at least 2 years.
I collected the tests from rust-lang#116935 and rust-lang#100503 and added some more
cc rust-lang#96146
r? `@lcnr`
@Dylan-DPC

Copy link
Copy Markdown
Member

Closing this as inactive. Feel free to reöpen this pr or create a new pr if you get the time to work on this. Thanks

@Dylan-DPCDylan-DPC added S-inactive Status: Inactive and waiting on the author. This is often applied to closed PRs. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 9, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

perf-regressionPerformance regression.S-inactiveStatus: Inactive and waiting on the author. This is often applied to closed PRs.T-typesRelevant to the types team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

higher ranked lifetimes not recognized by type alias impl trait ICE with higher-ranked nested RPIT ICE with GAT + higher-ranked TAIT

14 participants

@aliemjay@rust-highfive@the8472@rust-timer@bors@spastorino@jackh726@pnkfelix@lcnr@anden3@Dylan-DPC@nikomatsakis@wesleywiser@rustbot