// check that we don't render `#[const_trait]` methods as `const` - even for // const `trait`s and `impl`s. #![crate_name = "foo"] #![feature(const_trait_impl)] //@ has foo/trait.Tr.html //@ has - '//*[@id="tymethod.required"]' 'fn required()' //@ !has - '//*[@id="tymethod.required"]' 'const' //@ has - '//*[@id="method.defaulted"]' 'fn defaulted()' //@ !has - '//*[@id="method.defaulted"]' 'const' #[const_trait] pub trait Tr { fn required(); fn defaulted() {} } pub struct ConstImpl {} pub struct NonConstImpl {} //@ has foo/struct.ConstImpl.html //@ has - '//*[@id="method.required"]' 'fn required()' //@ !has - '//*[@id="method.required"]' 'const' //@ has - '//*[@id="method.defaulted"]' 'fn defaulted()' //@ !has - '//*[@id="method.defaulted"]' 'const' impl const Tr for ConstImpl { fn required() {} } //@ has foo/struct.NonConstImpl.html //@ has - '//*[@id="method.required"]' 'fn required()' //@ !has - '//*[@id="method.required"]' 'const' //@ has - '//*[@id="method.defaulted"]' 'fn defaulted()' //@ !has - '//*[@id="method.defaulted"]' 'const' impl Tr for NonConstImpl { fn required() {} }