-
-
Notifications
You must be signed in to change notification settings - Fork 14.5k
Closed
Labels
E-needs-testCall for participation: An issue has been fixed and does not reproduce, but no test has been added.Call for participation: An issue has been fixed and does not reproduce, but no test has been added.
Description
Writing the following works perfectly:
static count : uint = 2;
fn main() {
let larger : [uint, ..count*2];
}While the following:
static count : uint = 2 as uint;
fn main() {
let larger : [uint, ..count*2];
}Fails with error: expected constant expr for vector length: can't do this op on a uint and int. This looks like a problem with the type inference, and using 2u fixes this example, but breaks the one that previously worked.
When the array is being initialized rather than having the type set:
let larger = [0u, ..count*2];The error is a much more cryptic error: expected constant integer for repeat count, found variable, and which one fails can again be swapped by multiplying by 2u instead of 2.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
E-needs-testCall for participation: An issue has been fixed and does not reproduce, but no test has been added.Call for participation: An issue has been fixed and does not reproduce, but no test has been added.