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

Outlives obligations aren't normalized before processing #61

Closed
compiler-errors opened this issue Aug 28, 2023 · 2 comments
Closed

Outlives obligations aren't normalized before processing #61

compiler-errors opened this issue Aug 28, 2023 · 2 comments
Labels
A-normalization not-blocking-coherence An issue we can resolve after stabilizing the new solver during coherence

Comments

@compiler-errors
Copy link
Member

compiler-errors commented Aug 28, 2023

This code should compile:

trait Tr<'a> {
    type Assoc;
}

fn outlives<'o, T: 'o>() {}

fn foo<'a, 'b, T: Tr<'a, Assoc = ()>>() {
    outlives::<'b, T::Assoc>();
}

Similar to #59, but in the other direction (should pass, but fails).

@lcnr lcnr added the not-blocking-coherence An issue we can resolve after stabilizing the new solver during coherence label Sep 14, 2023
@compiler-errors
Copy link
Member Author

This is not fixed by rust-lang/rust#119101, MIR borrowck doesn't normalize type-outlives yet. That will happen soon.

@compiler-errors
Copy link
Member Author

This was fixed in rust-lang/rust#120513

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-normalization not-blocking-coherence An issue we can resolve after stabilizing the new solver during coherence
Projects
None yet
Development

No branches or pull requests

2 participants