mirror of https://github.com/rust-lang/rust.git
27 lines
553 B
Rust
27 lines
553 B
Rust
// There are two different instances to check that even if
|
|
// the trait is implemented for the output of a function,
|
|
// it will still be displayed if the function itself implements a trait.
|
|
trait Foo {}
|
|
|
|
impl Foo for fn() -> bool {}
|
|
impl Foo for bool {}
|
|
|
|
fn example() -> bool {
|
|
true
|
|
}
|
|
|
|
trait NoOtherFoo {}
|
|
|
|
impl NoOtherFoo for fn() -> bool {}
|
|
|
|
fn do_on_foo(v: impl Foo) {}
|
|
fn do_on_single_foo(v: impl NoOtherFoo) {}
|
|
|
|
fn main() {
|
|
do_on_foo(example);
|
|
//~^ ERROR the trait bound
|
|
|
|
do_on_single_foo(example);
|
|
//~^ ERROR the trait bound
|
|
}
|