| // 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"]' '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 |
| } |
| } |