struct s1 {}; struct s2 { int y; }; struct s3 { std::vector::value_type y; }; struct s4 { foo y; std::string asd; };