Skip to content

Commit

Permalink
Add comment explaining restriction
Browse files Browse the repository at this point in the history
  • Loading branch information
varkor committed Apr 25, 2019
1 parent 8f78736 commit 6d7c794
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -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() {}
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 6d7c794

Please sign in to comment.