diff options
Diffstat (limited to 'src/test/ui/traits/vtable/vtable-non-object-safe.rs')
-rw-r--r-- | src/test/ui/traits/vtable/vtable-non-object-safe.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/ui/traits/vtable/vtable-non-object-safe.rs b/src/test/ui/traits/vtable/vtable-non-object-safe.rs new file mode 100644 index 000000000..7661bb574 --- /dev/null +++ b/src/test/ui/traits/vtable/vtable-non-object-safe.rs @@ -0,0 +1,18 @@ +// build-fail +#![feature(rustc_attrs)] + +// Ensure that non-object-safe methods in Iterator does not generate +// vtable entries. + +#[rustc_dump_vtable] +trait A: Iterator {} +//~^ error vtable + +impl<T> A for T where T: Iterator {} + +fn foo(_a: &mut dyn A<Item=u8>) { +} + +fn main() { + foo(&mut vec![0, 1, 2, 3].into_iter()); +} |