We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The compiler currently disallows the code:
let mut slice = []; slice = [1, 2, 3];
When it could be perfectly valid if we assume slice: [Field] rather than slice: [Field; 0] as the compiler currently infers.
slice: [Field]
slice: [Field; 0]
Allow Type::Array(T, MaybeConstant(N)) to unify with Type::Array(T, MaybeConstant(M)) if N != M to Type::Array(T, NotConstant) ie. a slice type.
Type::Array(T, MaybeConstant(N))
Type::Array(T, MaybeConstant(M))
N != M
Type::Array(T, NotConstant)
No response
No
The text was updated successfully, but these errors were encountered:
TypeVariable::Constant(N)
jfecher
Successfully merging a pull request may close this issue.
Problem
The compiler currently disallows the code:
When it could be perfectly valid if we assume
slice: [Field]
rather thanslice: [Field; 0]
as the compiler currently infers.Happy Case
Allow
Type::Array(T, MaybeConstant(N))
to unify withType::Array(T, MaybeConstant(M))
ifN != M
toType::Array(T, NotConstant)
ie. a slice type.Alternatives Considered
No response
Additional Context
No response
Would you like to submit a PR for this Issue?
No
Support Needs
No response
The text was updated successfully, but these errors were encountered: