diff --git a/src/test/compile-fail/issue-19538.rs b/src/test/compile-fail/issue-19538.rs new file mode 100644 index 00000000000..b9c90755b2c --- /dev/null +++ b/src/test/compile-fail/issue-19538.rs @@ -0,0 +1,29 @@ +// Copyright 2015 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. + +trait Foo { + fn foo(&self, val: T); +} + +trait Bar: Foo { } + +pub struct Thing; + +impl Foo for Thing { + fn foo(&self, val: T) { } +} + +impl Bar for Thing { } + +fn main() { + let mut thing = Thing; + let test: &mut Bar = &mut thing; + //~^ ERROR cannot convert to a trait object because trait `Bar` is not object-safe +}