We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent cac97d7 commit e3a91f6Copy full SHA for e3a91f6
src/librustc/metadata/encoder.rs
@@ -388,6 +388,17 @@ fn encode_reexported_static_methods(ecx: @EncodeContext,
388
match ecx.tcx.items.find(&exp.def_id.node) {
389
Some(&ast_map::node_item(item, path)) => {
390
let original_name = ecx.tcx.sess.str_of(item.ident);
391
+
392
+ //
393
+ // We don't need to reexport static methods on traits
394
+ // declared in the same module as our `pub use ...` since
395
+ // that's done when we encode the trait item.
396
397
+ // The only exception is when the reexport *changes* the
398
+ // name e.g. `pub use Foo = self::Bar` -- we have
399
+ // encoded metadata for static methods relative to Bar,
400
+ // but not yet for Foo.
401
402
if mod_path != *path || *exp.name != *original_name {
403
for methods.each |&m| {
404
if m.explicit_self == ast::sty_static {
0 commit comments