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

support higher-ranked regions in opaque type inference #100503

Closed
wants to merge 5 commits into from

Conversation

aliemjay
Copy link
Member

@aliemjay aliemjay commented Aug 13, 2022

Best reviewed commit by commit.

Cc @WaffleLapkin this may help #93582.

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

Builds on #100375.

@rust-highfive
Copy link
Collaborator

r? @wesleywiser

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

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

aliemjay commented Aug 13, 2022

r? @ghost

@the8472
Copy link
Member

the8472 commented Aug 15, 2022

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion.

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

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

bors commented Aug 15, 2022

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

@bors
Copy link
Contributor

bors commented Aug 15, 2022

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

@rust-timer
Copy link
Collaborator

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

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (3d24f8fa902ae9abd51f0d08aa8a0d7b2895840f): comparison url.

Instruction count

  • Primary benchmarks: no relevant changes found
  • Secondary benchmarks: mixed results
( ) mean1 max count2
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
( ) mean1 max count2
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
( ) mean1 max count2
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 change 2 3

  2. number of relevant changes 2 3

@rustbot rustbot 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.
@aliemjay aliemjay changed the title support higher-ranked regions in opaque type inferece support higher-ranked regions in opaque type inference Aug 15, 2022
@aliemjay aliemjay force-pushed the opaque_higher_ranked branch from 00ad09a to e6b62a0 Compare August 15, 2022 23:46
@aliemjay aliemjay marked this pull request as ready for review August 15, 2022 23:47
@aliemjay
Copy link
Member Author

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

r? types

@bors
Copy link
Contributor

bors commented Aug 21, 2022

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

@spastorino
Copy link
Member

r? types

@spastorino spastorino removed their assignment Sep 8, 2022
@rustbot rustbot 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
Member

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

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

lcnr commented Jan 18, 2023

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.

@anden3 anden3 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
Contributor

anden3 commented May 14, 2023

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

@lcnr
Copy link
Contributor

lcnr commented May 15, 2023

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
Member

Blocked on #113575

@Dylan-DPC Dylan-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.

Fixes rust-lang#97098.
Fixes rust-lang#97099.
Fixes rust-lang#108399
Fixes rust-lang#104196
Fixes rust-lang#113481
Fixes rust-lang#103186
Fixes rust-lang#100818

r? `@lcnr` (because you showed interest in rust-lang#100503 :)
@Dylan-DPC
Copy link
Member

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

@Dylan-DPC Dylan-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
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
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-DPC Dylan-DPC closed this Mar 9, 2024
@Dylan-DPC Dylan-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 free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
perf-regression Performance regression. S-inactive Status: Inactive and waiting on the author. This is often applied to closed PRs. T-types Relevant to the types team, which will review and decide on the PR/issue.
Projects
None yet