diff options
| author | varkor <github@varkor.com> | 2019-02-25 23:55:16 +0000 |
|---|---|---|
| committer | varkor <github@varkor.com> | 2019-03-12 18:34:43 +0000 |
| commit | ec56d6e5b95a88314af608756f54b4fccb16353e (patch) | |
| tree | 37c983f2dfc6b2f1c666e7a6bac464e311fc211a | |
| parent | 3f16518c054c5bfe8093250ed3c1a5b4db2209b1 (diff) | |
| download | rust-ec56d6e5b95a88314af608756f54b4fccb16353e.tar.gz rust-ec56d6e5b95a88314af608756f54b4fccb16353e.zip | |
Add a test for #44255
| -rw-r--r-- | src/test/ui/issues/issue-44255.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/test/ui/issues/issue-44255.rs b/src/test/ui/issues/issue-44255.rs new file mode 100644 index 00000000000..22450320432 --- /dev/null +++ b/src/test/ui/issues/issue-44255.rs @@ -0,0 +1,29 @@ +// run-pass + +use std::marker::PhantomData; + +fn main() { + let _arr = [1; <Multiply<Five, Five>>::VAL]; +} + +trait TypeVal<T> { + const VAL: T; +} + +struct Five; + +impl TypeVal<usize> for Five { + const VAL: usize = 5; +} + +struct Multiply<N, M> { + _n: PhantomData<N>, + _m: PhantomData<M>, +} + +impl<N, M> TypeVal<usize> for Multiply<N, M> + where N: TypeVal<usize>, + M: TypeVal<usize>, +{ + const VAL: usize = N::VAL * M::VAL; +} |
