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}