rust/tests/ui/where-clauses/where-for-self-2.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

25 lines
527 B
Rust
Raw Normal View History

2015-02-09 03:49:27 +00:00
// Test that we can quantify lifetimes outside a constraint (i.e., including
// the self type) in a where clause. Specifically, test that implementing for a
2018-08-19 13:30:23 +00:00
// specific lifetime is not enough to satisfy the `for<'a> ...` constraint, which
2015-02-09 03:49:27 +00:00
// should require *all* lifetimes.
static X: &'static u32 = &42;
trait Bar {
fn bar(&self);
}
impl Bar for &'static u32 {
fn bar(&self) {}
}
fn foo<T>(x: &T)
where
for<'a> &'a T: Bar,
{
}
2015-02-09 03:49:27 +00:00
fn main() {
foo(&X); //~ ERROR implementation of `Bar` is not general enough
2015-02-09 03:49:27 +00:00
}