2018-08-30 14:18:55 +02:00
|
|
|
// run-pass
|
2015-09-28 22:33:29 +10:00
|
|
|
// 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();
|
|
|
|
}
|