mozilla/rust — pull request #6432 by thomaslee (2013-05-12 05:11:35+00:00)
Title: Reexport static trait methods on traits in the same module.

My earlier fix for #4202 would not work correctly if the trait being exported was a top-level item relative to the module from which it was being exported. An example that would not work correctly with the original patch:

// foo.rs

pub use Foo = self::Bar;

pub trait Bar {
pub fn bar() -> Self;
}

impl Bar for int {
pub fn bar() -> int { 42 }
}

// bar.rs

fn main() {
foo::Foo::bar()
}

This is now supported.

I believe this change will allow the GenericPath trait to be exported from core::path as Path in such a manner, which should allow #5389 to move forward.