summaryrefslogtreecommitdiffstats
path: root/tests/ui/associated-inherent-types/not-found-self-type-differs.rs
blob: 93f58dcb6e61a7585f22eb1464a049f88e5350fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// revisions: local alias

#![feature(inherent_associated_types)]
#![allow(incomplete_features)]

struct Family<T>(T);

impl Family<()> {
    type Proj = ();
}

impl<T> Family<Result<T, ()>> {
    type Proj = Self;
}

#[cfg(alias)]
type Alias = Family<Option<()>>::Proj; //[alias]~ ERROR associated type `Proj` not found for `Family<Option<()>>`

fn main() {
    #[cfg(local)]
    let _: Family<std::path::PathBuf>::Proj = (); //[local]~ ERROR associated type `Proj` not found for `Family<PathBuf>`
}