diff options
| author | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-09-17 23:31:32 +0000 |
|---|---|---|
| committer | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-09-17 23:40:17 +0000 |
| commit | c7e4ae0d8d22847259e2e08a851f80e375221707 (patch) | |
| tree | 20db14882ab242fa23587aa082ddfb4afe7f6d89 | |
| parent | 2cee9ec3b36933e143f2b2cc36a351da0a9114eb (diff) | |
| download | rust-c7e4ae0d8d22847259e2e08a851f80e375221707.tar.gz rust-c7e4ae0d8d22847259e2e08a851f80e375221707.zip | |
Add regression test.
| -rw-r--r-- | src/test/run-pass/type-macros-simple.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/run-pass/type-macros-simple.rs b/src/test/run-pass/type-macros-simple.rs index 7d1045cf3f1..6b0deff3ba4 100644 --- a/src/test/run-pass/type-macros-simple.rs +++ b/src/test/run-pass/type-macros-simple.rs @@ -15,3 +15,22 @@ macro_rules! Tuple { fn main() { let x: Tuple!(i32, i32) = (1, 2); } + +fn issue_36540() { + let i32 = 0; + macro_rules! m { () => { i32 } } + struct S<T = m!()>(m!(), T) where T: Trait<m!()>; + + let x: m!() = m!(); + std::cell::Cell::<m!()>::new(m!()); + impl<T = m!()> std::ops::Index<m!()> for Trait<(m!(), T)> + where T: Trait<m!()> + { + type Output = m!(); + fn index(&self, i: m!()) -> &m!() { + unimplemented!() + } + } +} + +trait Trait<T> {} |
