From 0476a875d19bd79a4755d0e086cb5b62492aa66a Mon Sep 17 00:00:00 2001 From: Matthew Jasper Date: Fri, 8 Jun 2018 17:00:36 +0100 Subject: [PATCH] Test that object bounds are preferred over global where clause bounds --- src/test/ui/trivial-bounds-object.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/test/ui/trivial-bounds-object.rs diff --git a/src/test/ui/trivial-bounds-object.rs b/src/test/ui/trivial-bounds-object.rs new file mode 100644 index 00000000000..00986eefbda --- /dev/null +++ b/src/test/ui/trivial-bounds-object.rs @@ -0,0 +1,28 @@ +// Copyright 2018 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// run-pass +// Check that the object bound dyn A + 'a: A is preferred over the +// where clause bound dyn A + 'static: A. + +#![allow(unused)] + +trait A { + fn test(&self); +} + +fn foo(x: &dyn A) +where + dyn A + 'static: A, // Using this bound would lead to a lifetime error. +{ + x.test(); +} + +fn main () {}