about summary refs log tree commit diff
path: root/tests/ui/traits/multidispatch-conditional-impl-not-considered.rs
blob: e9ae8ab012a09e9925f9d0ca625c125b2b7ded98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// run-pass
// Test that we correctly ignore the blanket impl
// because (in this case) `T` does not impl `Clone`.
//
// Issue #17594.

use std::cell::RefCell;

trait Foo { //~ WARN trait `Foo` is never used
    fn foo(&self) {}
}

impl<T> Foo for T where T: Clone {}

struct Bar;

impl Bar {
    fn foo(&self) {}
}

fn main() {
    let b = RefCell::new(Bar);
    b.borrow().foo();
}