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

uniquifying region constraints #30

Open
lcnr opened this issue Jun 12, 2023 · 0 comments
Open

uniquifying region constraints #30

lcnr opened this issue Jun 12, 2023 · 0 comments
Labels

Comments

@lcnr
Copy link

lcnr commented Jun 12, 2023

Given a goal like u32: Trait<'a, 'a>, should this be canonicalized to exists<'0> u32: Trait<'0, '0> or exists<'0, '1> u32: Trait<'0, '1>? Using the first variant causes issues in MIR typeck (#27). Going with the second approach will force us to use a semantic lookup for opaque types (#17).

https://rust-lang.zulipchat.com/#narrow/stream/364551-t-types.2Ftrait-system-refactor/topic/mir.20typeck.20and.20relying.20on.20region.20equality

We ended up going back to uniquifying region constraints in rust-lang/rust#114117. This feels like the only way to avoid the ICEs in MIR typeck from #27

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant