35 lines
619 B
Rust
35 lines
619 B
Rust
#![feature(const_trait_impl)]
|
|
#![warn(clippy::missing_const_for_fn)]
|
|
|
|
// Reduced test case from https://github.com/rust-lang/rust-clippy/issues/14658
|
|
|
|
const trait ConstTrait {
|
|
fn method(self);
|
|
}
|
|
|
|
impl ConstTrait for u32 {
|
|
fn method(self) {}
|
|
}
|
|
|
|
impl const ConstTrait for u64 {
|
|
fn method(self) {}
|
|
}
|
|
|
|
fn cannot_be_const() {
|
|
0u32.method();
|
|
}
|
|
|
|
//~v missing_const_for_fn
|
|
const fn can_be_const() {
|
|
0u64.method();
|
|
}
|
|
|
|
// False negative, see FIXME comment in `clippy_utils::qualify_min_const_fn`
|
|
fn could_be_const_but_does_not_trigger<T>(t: T)
|
|
where
|
|
T: const ConstTrait,
|
|
{
|
|
t.method();
|
|
}
|
|
|
|
fn main() {}
|