| ... | @@ -753,10 +753,11 @@ pub fn EnumIndexer(comptime E: type) type { | ... | @@ -753,10 +753,11 @@ pub fn EnumIndexer(comptime E: type) type { |
| 753 | std.sort.sort(EnumField, &fields, {}, ascByValue); | 753 | std.sort.sort(EnumField, &fields, {}, ascByValue); |
| 754 | const min = fields[0].value; | 754 | const min = fields[0].value; |
| 755 | const max = fields[fields.len - 1].value; | 755 | const max = fields[fields.len - 1].value; |
| | 756 | const fields_len = fields.len; |
| 756 | if (max - min == fields.len - 1) { | 757 | if (max - min == fields.len - 1) { |
| 757 | return struct { | 758 | return struct { |
| 758 | pub const Key = E; | 759 | pub const Key = E; |
| 759 | pub const count = fields.len; | 760 | pub const count = fields_len; |
| 760 | pub fn indexOf(e: E) usize { | 761 | pub fn indexOf(e: E) usize { |
| 761 | return @intCast(usize, @enumToInt(e) - min); | 762 | return @intCast(usize, @enumToInt(e) - min); |
| 762 | } | 763 | } |
| ... | @@ -774,7 +775,7 @@ pub fn EnumIndexer(comptime E: type) type { | ... | @@ -774,7 +775,7 @@ pub fn EnumIndexer(comptime E: type) type { |
| 774 | | 775 | |
| 775 | return struct { | 776 | return struct { |
| 776 | pub const Key = E; | 777 | pub const Key = E; |
| 777 | pub const count = fields.len; | 778 | pub const count = fields_len; |
| 778 | pub fn indexOf(e: E) usize { | 779 | pub fn indexOf(e: E) usize { |
| 779 | for (keys) |k, i| { | 780 | for (keys) |k, i| { |
| 780 | if (k == e) return i; | 781 | if (k == e) return i; |