2019-07-27 00:54:25 +03:00
|
|
|
//@ run-pass
|
2014-10-21 23:57:16 -04:00
|
|
|
// Test that we correctly ignore the blanket impl
|
|
|
|
// because (in this case) `T` does not impl `Clone`.
|
|
|
|
//
|
|
|
|
// Issue #17594.
|
|
|
|
|
|
|
|
use std::cell::RefCell;
|
|
|
|
|
2024-02-07 10:42:01 +08:00
|
|
|
trait Foo { //~ WARN trait `Foo` is never used
|
2014-10-21 23:57:16 -04:00
|
|
|
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);
|
2015-01-12 17:23:40 +01:00
|
|
|
b.borrow().foo();
|
2014-10-21 23:57:16 -04:00
|
|
|
}
|