diff options
Diffstat (limited to 'tests/ui/issues/issue-5554.rs')
-rw-r--r-- | tests/ui/issues/issue-5554.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/ui/issues/issue-5554.rs b/tests/ui/issues/issue-5554.rs new file mode 100644 index 000000000..7737536f4 --- /dev/null +++ b/tests/ui/issues/issue-5554.rs @@ -0,0 +1,29 @@ +// run-pass +#![allow(dead_code)] +// pretty-expanded FIXME #23616 + +use std::default::Default; + +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!(); +} |