diff options
| author | bors <bors@rust-lang.org> | 2021-12-02 06:11:05 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-12-02 06:11:05 +0000 |
| commit | d9baa361902b172be716f96619b909f340802dea (patch) | |
| tree | 031f0233c6dbd221df8c635de84ace18117bd1b0 /src/test/rustdoc | |
| parent | a2b7b7891e4623e716185f3ab62bd206fb4c5182 (diff) | |
| parent | 02782bba604e3edc5d356dd3e153667cf1474949 (diff) | |
| download | rust-d9baa361902b172be716f96619b909f340802dea.tar.gz rust-d9baa361902b172be716f96619b909f340802dea.zip | |
Auto merge of #91291 - GuillaumeGomez:const-deref-method, r=camelid
Fix const deref methods display Fixes https://github.com/rust-lang/rust/issues/90855 (more information in the issue). r? `@camelid`
Diffstat (limited to 'src/test/rustdoc')
| -rw-r--r-- | src/test/rustdoc/deref-const-fn.rs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/test/rustdoc/deref-const-fn.rs b/src/test/rustdoc/deref-const-fn.rs new file mode 100644 index 00000000000..ca51f3c7b5a --- /dev/null +++ b/src/test/rustdoc/deref-const-fn.rs @@ -0,0 +1,38 @@ +// This test ensures that the const methods from Deref aren't shown as const. +// For more information, see https://github.com/rust-lang/rust/issues/90855. + +#![crate_name = "foo"] + +#![feature(staged_api)] + +#![stable(feature = "rust1", since = "1.0.0")] + +// @has 'foo/struct.Bar.html' +#[stable(feature = "rust1", since = "1.0.0")] +pub struct Bar; + +impl Bar { + // @has - '//*[@id="method.len"]' 'pub const fn len(&self) -> usize' + // @has - '//*[@id="method.len"]//span[@class="since"]' '1.0.0 (const: 1.0.0)' + #[stable(feature = "rust1", since = "1.0.0")] + #[rustc_const_stable(feature = "rust1", since = "1.0.0")] + pub const fn len(&self) -> usize { 0 } +} + +#[stable(feature = "rust1", since = "1.0.0")] +pub struct Foo { + value: Bar, +} + +// @has 'foo/struct.Foo.html' +// @has - '//*[@id="method.len"]' 'pub fn len(&self) -> usize' +// @!has - '//*[@id="method.len"]//span[@class="since"]' '1.0.0' +// @!has - '//*[@id="method.len"]//span[@class="since"]' '(const: 1.0.0)' +#[stable(feature = "rust1", since = "1.0.0")] +impl std::ops::Deref for Foo { + type Target = Bar; + + fn deref(&self) -> &Self::Target { + &self.value + } +} |
