about summary refs log tree commit diff
path: root/tests/ui/dropck/dropck-only-error.rs
blob: e85eeb82e00b90dc951e7de62b72e84c57eb4524 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 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() {}