about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorEduard-Mihai Burtescu <edy.burt@gmail.com>2017-04-24 22:03:47 +0300
committerEduard-Mihai Burtescu <edy.burt@gmail.com>2017-05-06 18:35:43 +0300
commit90af729a97e8266ffa4453f9941e90dae22f8728 (patch)
tree2cecf08206b65a0ff2575fdd507707dc44e3eb3a /src/test
parent8aad3a3524fd04db3e6ddf59604d33c8e3797108 (diff)
downloadrust-90af729a97e8266ffa4453f9941e90dae22f8728.tar.gz
rust-90af729a97e8266ffa4453f9941e90dae22f8728.zip
rustc: treat const bodies like fn bodies in middle::region.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-pass/associated-const-type-parameters.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/test/run-pass/associated-const-type-parameters.rs b/src/test/run-pass/associated-const-type-parameters.rs
index e3d1761dfff..b276589f0c4 100644
--- a/src/test/run-pass/associated-const-type-parameters.rs
+++ b/src/test/run-pass/associated-const-type-parameters.rs
@@ -27,6 +27,12 @@ impl Foo for Def {
     const X: i32 = 97;
 }
 
+struct Proxy<T>(T);
+
+impl<T: Foo> Foo for Proxy<T> {
+    const X: i32 = T::X;
+}
+
 fn sub<A: Foo, B: Foo>() -> i32 {
     A::X - B::X
 }
@@ -38,4 +44,7 @@ fn main() {
     assert_eq!(97, Def::get_x());
     assert_eq!(-86, sub::<Abc, Def>());
     assert_eq!(86, sub::<Def, Abc>());
+    assert_eq!(-86, sub::<Proxy<Abc>, Def>());
+    assert_eq!(-86, sub::<Abc, Proxy<Def>>());
+    assert_eq!(86, sub::<Proxy<Def>, Proxy<Abc>>());
 }