diff options
author | Oliver Middleton <olliemail27@gmail.com> | 2019-04-14 23:53:51 +0100 |
---|---|---|
committer | Oliver Middleton <olliemail27@gmail.com> | 2019-04-14 23:55:14 +0100 |
commit | 1db76c1bff60584e46f75fad99a78dd9ad7e9fd6 (patch) | |
tree | 65bfdf8fd37df4ed3d663ce577107d609b56f735 | |
parent | 9a612b2348212d84fa0b839a4c18e4a13fafaf05 (diff) | |
download | rust-1db76c1bff60584e46f75fad99a78dd9ad7e9fd6.tar.gz |
rustdoc: Remove default keyword from re-exported trait methods
-rw-r--r-- | src/librustdoc/clean/mod.rs | 6 | ||||
-rw-r--r-- | src/test/rustdoc/default-trait-method.rs | 26 | ||||
-rw-r--r-- | src/test/rustdoc/default_trait_method.rs | 15 | ||||
-rw-r--r-- | src/test/rustdoc/inline_cross/auxiliary/default-trait-method.rs | 16 | ||||
-rw-r--r-- | src/test/rustdoc/inline_cross/default-trait-method.rs | 20 |
5 files changed, 67 insertions, 16 deletions
diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index e994c661fdc..80e796b0af7 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -2325,6 +2325,10 @@ impl<'tcx> Clean<Item> for ty::AssociatedItem { } else { hir::Constness::NotConst }; + let defaultness = match self.container { + ty::ImplContainer(_) => Some(self.defaultness), + ty::TraitContainer(_) => None, + }; MethodItem(Method { generics, decl, @@ -2334,7 +2338,7 @@ impl<'tcx> Clean<Item> for ty::AssociatedItem { constness, asyncness: hir::IsAsync::NotAsync, }, - defaultness: Some(self.defaultness), + defaultness, all_types, ret_types, }) diff --git a/src/test/rustdoc/default-trait-method.rs b/src/test/rustdoc/default-trait-method.rs new file mode 100644 index 00000000000..3d6ebef5a1d --- /dev/null +++ b/src/test/rustdoc/default-trait-method.rs @@ -0,0 +1,26 @@ +#![feature(specialization)] + +// @has default_trait_method/trait.Item.html +// @has - '//*[@id="tymethod.foo"]' 'fn foo()' +// @!has - '//*[@id="tymethod.foo"]' 'default fn foo()' +// @has - '//*[@id="tymethod.bar"]' 'fn bar()' +// @!has - '//*[@id="tymethod.bar"]' 'default fn bar()' +// @has - '//*[@id="method.baz"]' 'fn baz()' +// @!has - '//*[@id="method.baz"]' 'default fn baz()' +pub trait Item { + fn foo(); + fn bar(); + fn baz() {} +} + +// @has default_trait_method/struct.Foo.html +// @has - '//*[@id="method.foo"]' 'default fn foo()' +// @has - '//*[@id="method.bar"]' 'fn bar()' +// @!has - '//*[@id="method.bar"]' 'default fn bar()' +// @has - '//*[@id="method.baz"]' 'fn baz()' +// @!has - '//*[@id="method.baz"]' 'default fn baz()' +pub struct Foo; +impl Item for Foo { + default fn foo() {} + fn bar() {} +} diff --git a/src/test/rustdoc/default_trait_method.rs b/src/test/rustdoc/default_trait_method.rs deleted file mode 100644 index dfbd8f2210f..00000000000 --- a/src/test/rustdoc/default_trait_method.rs +++ /dev/null @@ -1,15 +0,0 @@ -#![feature(specialization)] - -pub trait Item { - fn foo(); - fn bar(); -} - -// @has default_trait_method/trait.Item.html -// @has - '//*[@id="method.foo"]' 'default fn foo()' -// @has - '//*[@id="method.bar"]' 'fn bar()' -// @!has - '//*[@id="method.bar"]' 'default fn bar()' -impl<T: ?Sized> Item for T { - default fn foo() {} - fn bar() {} -} diff --git a/src/test/rustdoc/inline_cross/auxiliary/default-trait-method.rs b/src/test/rustdoc/inline_cross/auxiliary/default-trait-method.rs new file mode 100644 index 00000000000..ce60bbfb4b0 --- /dev/null +++ b/src/test/rustdoc/inline_cross/auxiliary/default-trait-method.rs @@ -0,0 +1,16 @@ +#![feature(specialization)] + +#![crate_name = "foo"] + +pub trait Item { + fn foo(); + fn bar(); + fn baz() {} +} + +pub struct Foo; + +impl Item for Foo { + default fn foo() {} + fn bar() {} +} diff --git a/src/test/rustdoc/inline_cross/default-trait-method.rs b/src/test/rustdoc/inline_cross/default-trait-method.rs new file mode 100644 index 00000000000..a4ec73a127d --- /dev/null +++ b/src/test/rustdoc/inline_cross/default-trait-method.rs @@ -0,0 +1,20 @@ +// aux-build:default-trait-method.rs + +extern crate foo; + +// @has default_trait_method/trait.Item.html +// @has - '//*[@id="tymethod.foo"]' 'fn foo()' +// @!has - '//*[@id="tymethod.foo"]' 'default fn foo()' +// @has - '//*[@id="tymethod.bar"]' 'fn bar()' +// @!has - '//*[@id="tymethod.bar"]' 'default fn bar()' +// @has - '//*[@id="method.baz"]' 'fn baz()' +// @!has - '//*[@id="method.baz"]' 'default fn baz()' +pub use foo::Item; + +// @has default_trait_method/struct.Foo.html +// @has - '//*[@id="method.foo"]' 'default fn foo()' +// @has - '//*[@id="method.bar"]' 'fn bar()' +// @!has - '//*[@id="method.bar"]' 'default fn bar()' +// @has - '//*[@id="method.baz"]' 'fn baz()' +// @!has - '//*[@id="method.baz"]' 'default fn baz()' +pub use foo::Foo; |