diff options
| author | varkor <github@varkor.com> | 2019-04-25 23:29:58 +0100 |
|---|---|---|
| committer | varkor <github@varkor.com> | 2019-04-25 23:29:58 +0100 |
| commit | 6d7c7940b581e8a7f311327e9b48203ce97b8137 (patch) | |
| tree | f7cd4cf03d9c44415b3f8f74b4a4792a7f08877b | |
| parent | 8f78736feeb03cc64c54197881032a996ff8a6b3 (diff) | |
| download | rust-6d7c7940b581e8a7f311327e9b48203ce97b8137.tar.gz rust-6d7c7940b581e8a7f311327e9b48203ce97b8137.zip | |
Add comment explaining restriction
| -rw-r--r-- | src/test/ui/const-generics/const-param-type-depends-on-type-param.rs | 10 | ||||
| -rw-r--r-- | src/test/ui/const-generics/const-param-type-depends-on-type-param.stderr | 4 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/test/ui/const-generics/const-param-type-depends-on-type-param.rs b/src/test/ui/const-generics/const-param-type-depends-on-type-param.rs index ca924695993..28e0d6c2bb7 100644 --- a/src/test/ui/const-generics/const-param-type-depends-on-type-param.rs +++ b/src/test/ui/const-generics/const-param-type-depends-on-type-param.rs @@ -1,7 +1,13 @@ #![feature(const_generics)] //~^ WARN the feature `const_generics` is incomplete and may cause the compiler to crash -pub struct Dependent<T, const X: T>([(); X]); //~ ERROR const parameters -//~^ ERROR parameter `T` is never used +// Currently, const parameters cannot depend on type parameters, because there is no way to +// enforce the `structural_match` property on an arbitrary type parameter. This restriction +// may be relaxed in the future. See https://github.com/rust-lang/rfcs/pull/2000 for more +// details. + +pub struct Dependent<T, const X: T>([(); X]); +//~^ ERROR const parameters cannot depend on type parameters +//~^^ ERROR parameter `T` is never used fn main() {} diff --git a/src/test/ui/const-generics/const-param-type-depends-on-type-param.stderr b/src/test/ui/const-generics/const-param-type-depends-on-type-param.stderr index 0722c2c99fe..c7dcbe13542 100644 --- a/src/test/ui/const-generics/const-param-type-depends-on-type-param.stderr +++ b/src/test/ui/const-generics/const-param-type-depends-on-type-param.stderr @@ -5,13 +5,13 @@ LL | #![feature(const_generics)] | ^^^^^^^^^^^^^^ error[E0671]: const parameters cannot depend on type parameters - --> $DIR/const-param-type-depends-on-type-param.rs:4:34 + --> $DIR/const-param-type-depends-on-type-param.rs:9:34 | LL | pub struct Dependent<T, const X: T>([(); X]); | ^ const parameter depends on type parameter error[E0392]: parameter `T` is never used - --> $DIR/const-param-type-depends-on-type-param.rs:4:22 + --> $DIR/const-param-type-depends-on-type-param.rs:9:22 | LL | pub struct Dependent<T, const X: T>([(); X]); | ^ unused parameter |
