| ... | @@ -144,15 +144,20 @@ test "type info: enum info" { | ... | @@ -144,15 +144,20 @@ test "type info: enum info" { |
| 144 | } | 144 | } |
| 145 | | 145 | |
| 146 | fn testEnum() void { | 146 | fn testEnum() void { |
| 147 | const Os = @import("builtin").Os; | 147 | const Os = enum { |
| | 148 | Windows, |
| | 149 | Macos, |
| | 150 | Linux, |
| | 151 | FreeBSD, |
| | 152 | }; |
| 148 | | 153 | |
| 149 | const os_info = @typeInfo(Os); | 154 | const os_info = @typeInfo(Os); |
| 150 | assert(TypeId(os_info) == TypeId.Enum); | 155 | assert(TypeId(os_info) == TypeId.Enum); |
| 151 | assert(os_info.Enum.layout == TypeInfo.ContainerLayout.Auto); | 156 | assert(os_info.Enum.layout == TypeInfo.ContainerLayout.Auto); |
| 152 | assert(os_info.Enum.fields.len == 32); | 157 | assert(os_info.Enum.fields.len == 4); |
| 153 | assert(mem.eql(u8, os_info.Enum.fields[1].name, "ananas")); | 158 | assert(mem.eql(u8, os_info.Enum.fields[1].name, "Macos")); |
| 154 | assert(os_info.Enum.fields[10].value == 10); | 159 | assert(os_info.Enum.fields[3].value == 3); |
| 155 | assert(os_info.Enum.tag_type == u5); | 160 | assert(os_info.Enum.tag_type == u2); |
| 156 | assert(os_info.Enum.defs.len == 0); | 161 | assert(os_info.Enum.defs.len == 0); |
| 157 | } | 162 | } |
| 158 | | 163 | |