On Wednesday, 5 January 2022 at 09:33:07 UTC, vit wrote:
2) if-else must be in same mixin:
```d
mixin(""
+ type_check!("static if", "i8", "true", "5", "4",
"10", "5")
+ type_check!("else static if", "i16", "true", "7",
"6", "18", "8")
+ type_check!("else static if", "i32", "true", "12", "10",
"34", "13")
+ type_check!("else", "i64", "true", "21", "18", "66",
"24")
);
```
Yeah, sorry, you added the last comment (before this one) after I
posted mine. Also, the fact that they must be in the same mixin
is what I said that the problem is but thankfully there is a way
around it. Tho this code will still not work. First, we must
change "+" to "~" to concatenate strings but still, I'm getting
the following error:
```
test.d-mixin-27(47): Error: found `End of File` when expecting
`;` following statement
test.d(45): Error: template instance `test.test!true` error
instantiating
```
There may be a problem in the "type_check" enum but I wanted to
post this reply before I search any any case there is something
else happening and you happen to know. I will update if I found it
3) last type_checkin signed and unsigned part of function test
has else with condition.
```d
else(is_same!(num, i64)) {
mixin(base_digit!("21", "18", "66", "24"));
static if (true) {
mixin(overflow_check!"i64.min"); }
}
```
What does this mean? Yes they do, the else is used to mach the
64-bit type.