| 1 | const expectEqual = @import("std").testing.expectEqual; |
| 2 | |
| 3 | test "inline while loop" { |
| 4 | comptime var i = 0; |
| 5 | var sum: usize = 0; |
| 6 | inline while (i < 3) : (i += 1) { |
| 7 | const T = switch (i) { |
| 8 | 0 => f32, |
| 9 | 1 => i8, |
| 10 | 2 => bool, |
| 11 | else => unreachable, |
| 12 | }; |
| 13 | sum += typeNameLength(T); |
| 14 | } |
| 15 | try expectEqual(9, sum); |
| 16 | } |
| 17 | |
| 18 | fn typeNameLength(comptime T: type) usize { |
| 19 | return @typeName(T).len; |
| 20 | } |
| 21 | |
| 22 | // test |