diff options
Diffstat (limited to 'tests/ui/macros/macro-variable-declaration-with-bounds-5554.rs')
| -rw-r--r-- | tests/ui/macros/macro-variable-declaration-with-bounds-5554.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/ui/macros/macro-variable-declaration-with-bounds-5554.rs b/tests/ui/macros/macro-variable-declaration-with-bounds-5554.rs new file mode 100644 index 00000000000..8ccf8e80131 --- /dev/null +++ b/tests/ui/macros/macro-variable-declaration-with-bounds-5554.rs @@ -0,0 +1,27 @@ +// https://github.com/rust-lang/rust/issues/5554 +//@ run-pass +#![allow(dead_code)] + +pub struct X<T> { + a: T, +} + +// reordering these bounds stops the ICE +// +// nmatsakis: This test used to have the bounds Default + PartialEq + +// Default, but having duplicate bounds became illegal. +impl<T: Default + PartialEq> Default for X<T> { + fn default() -> X<T> { + X { a: Default::default() } + } +} + +macro_rules! constants { + () => { + let _ : X<isize> = Default::default(); + } +} + +pub fn main() { + constants!(); +} |
