refactor: precompute compiler enum mappings
This commit is contained in:
@@ -9039,6 +9039,24 @@ def check_typeinfo_packages(temporary, executable):
|
||||
}
|
||||
""", b"42\n", None,
|
||||
),
|
||||
"real_enummap_filled_sparse_constants_preserve_optional_presence": (
|
||||
"""
|
||||
import "@std/meta"
|
||||
import "@std/enummap"
|
||||
Key :: enum(i16) { absent = -3, present_null = 8, present_value = 21 }
|
||||
main proc() i16 {
|
||||
values :: $(enummap.init_filled(Key, ?i16, null, {
|
||||
present_null = some!(null),
|
||||
present_value = some!(some!(i16(42))),
|
||||
}))
|
||||
empty :: $(enummap.init_filled(Key, i16, i16(99), {}))
|
||||
if (enummap.get(&values, .absent) != null or enummap.get(&empty, .absent) != null) return -1
|
||||
payload :: enummap.get(&values, .present_null)
|
||||
if (payload == null or payload? != null) return -2
|
||||
return enummap.get(&values, .present_value)??
|
||||
}
|
||||
""", b"42\n", None,
|
||||
),
|
||||
"metadata_slices_cross_producers_without_losing_type_identity": (
|
||||
"""
|
||||
import "@std/meta"
|
||||
|
||||
Reference in New Issue
Block a user