diff --git a/src/test/auxiliary/mod_trait_with_static_methods_lib.rs b/src/test/auxiliary/mod_trait_with_static_methods_lib.rs new file mode 100644 index 0000000000000..b060c7aee49a2 --- /dev/null +++ b/src/test/auxiliary/mod_trait_with_static_methods_lib.rs @@ -0,0 +1,22 @@ +// Copyright 2012 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. + +pub use sub_foo::Foo; + +pub mod sub_foo { + pub trait Foo { + pub fn foo() -> Self; + } + + impl Foo for int { + pub fn foo() -> int { 42 } + } +} + diff --git a/src/test/run-pass/trait_with_static_methods_cross_crate.rs b/src/test/run-pass/trait_with_static_methods_cross_crate.rs new file mode 100644 index 0000000000000..1af8629468024 --- /dev/null +++ b/src/test/run-pass/trait_with_static_methods_cross_crate.rs @@ -0,0 +1,19 @@ +// Copyright 2012 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. + +// xfail-fast +// aux-build:mod_trait_with_static_methods_lib.rs +extern mod mod_trait_with_static_methods_lib; + +use mod_trait_with_static_methods_lib::Foo; + +pub fn main() { + assert!(42 == Foo::foo()); +}