// Copyright 2014 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. // Test syntax checks for `?Sized` syntax. // pretty-expanded FIXME #23616 use std::marker::{PhantomData, PhantomFn}; trait T1 : PhantomFn { } pub trait T2 : PhantomFn { } trait T3 : T2 + PhantomFn { } trait T4 : PhantomFn<(Self,X)> {} trait T5 : PhantomFn<(Self,X,Y)> {} trait T6 : PhantomFn<(Self,X,Y)> {} trait T7 : PhantomFn<(Self,X,Y)> {} trait T8 : PhantomFn<(Self,X)> {} trait T9 : PhantomFn<(Self,X)> {} struct S1(PhantomData); enum E { E1(PhantomData) } impl T1 for S1 {} fn f() {} type TT = T; pub fn main() { }