diff options
| author | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2017-04-24 22:03:47 +0300 |
|---|---|---|
| committer | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2017-05-06 18:35:43 +0300 |
| commit | 90af729a97e8266ffa4453f9941e90dae22f8728 (patch) | |
| tree | 2cecf08206b65a0ff2575fdd507707dc44e3eb3a /src/test | |
| parent | 8aad3a3524fd04db3e6ddf59604d33c8e3797108 (diff) | |
| download | rust-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.rs | 9 |
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>>()); } |
