From 1e241ce52bbba72e1641f44f83ced0bfea4717f9 Mon Sep 17 00:00:00 2001 From: Tom Lee Date: Fri, 10 May 2013 21:33:58 -0700 Subject: [PATCH] Test case for issue #4202 --- .../mod_trait_with_static_methods_lib.rs | 22 +++++++++++++++++++ .../trait_with_static_methods_cross_crate.rs | 19 ++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 src/test/auxiliary/mod_trait_with_static_methods_lib.rs create mode 100644 src/test/run-pass/trait_with_static_methods_cross_crate.rs 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 00000000000..b060c7aee49 --- /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 00000000000..1af86294680 --- /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()); +}