// Test that we don't ICE for a typeck error that only shows up in dropck | |
// issue #135039 | |
pub trait AuthUser { | |
type Id; | |
} | |
pub trait AuthnBackend { | |
type User: AuthUser; | |
} | |
pub struct AuthSession<Backend: AuthnBackend> { | |
data: Option<<<Backend as AuthnBackend>::User as AuthUser>::Id>, | |
} | |
pub trait Authz: Sized { | |
type AuthnBackend: AuthnBackend<User = Self>; | |
} | |
pub fn run_query<User: Authz>(auth: AuthSession<User::AuthnBackend>) {} | |
//~^ ERROR the trait bound `User: AuthUser` is not satisfied [E0277] | |
fn main() {} |