| // run-pass | |
| // Test that static methods can be invoked on `type` aliases | |
| #![allow(unused_variables)] | |
| pub mod foo { | |
| pub mod bar { | |
| pub mod baz { | |
| pub struct Qux; | |
| impl Qux { | |
| pub fn new() {} | |
| } | |
| } | |
| } | |
| } | |
| fn main() { | |
| type Ham = foo::bar::baz::Qux; | |
| let foo = foo::bar::baz::Qux::new(); // invoke directly | |
| let bar = Ham::new(); // invoke via type alias | |
| type StringVec = Vec<String>; | |
| let sv = StringVec::new(); | |
| } |