master
1const std = @import("std");
2
3// big enums should not hit the eval branch quota
4pub fn main() void {
5 const big = struct {
6 const Big = Big: {
7 @setEvalBranchQuota(500000);
8 var names: [1001][]const u8 = undefined;
9 var values: [1001]u16 = undefined;
10 for (values[0..1000], names[0..1000], 0..1000) |*val, *name, i| {
11 name.* = std.fmt.comptimePrint("field_{d}", .{i});
12 val.* = i;
13 }
14 names[1000] = "field_9999";
15 values[1000] = 9999;
16 break :Big @Enum(u16, .exhaustive, &names, &values);
17 };
18 };
19
20 var set = std.enums.EnumSet(big.Big).init(.{});
21 _ = &set;
22
23 var map = std.enums.EnumMap(big.Big, u8).init(undefined);
24 map = std.enums.EnumMap(big.Big, u8).initFullWith(undefined);
25 map = std.enums.EnumMap(big.Big, u8).initFullWithDefault(123, .{});
26
27 var multiset = std.enums.EnumMultiset(big.Big).init(.{});
28 _ = &multiset;
29
30 @setEvalBranchQuota(4000);
31
32 var bounded_multiset = std.enums.BoundedEnumMultiset(big.Big, u8).init(.{});
33 _ = &bounded_multiset;
34
35 var array = std.enums.EnumArray(big.Big, u8).init(undefined);
36 array = std.enums.EnumArray(big.Big, u8).initDefault(123, .{});
37}