align on inline (as opposed to expand)

This commit is contained in:
2026-08-02 21:14:01 +02:00
parent d693711a59
commit 7616b4dcff
3 changed files with 5 additions and 5 deletions
+2 -2
View File
@@ -17,7 +17,7 @@ init proc(
map EnumMap(E, V) = undefined map EnumMap(E, V) = undefined
match typeinfo!(E) { match typeinfo!(E) {
.enum |info|: expand for info.fields |field, i| { .enum |info|: inline for info.fields |field, i| {
map.present[i] = false map.present[i] = false
if field!(values, field.name) |value| { if field!(values, field.name) |value| {
@@ -34,7 +34,7 @@ init proc(
get proc($E, $V type, map @EnumMap(E, V), key E) ?V { get proc($E, $V type, map @EnumMap(E, V), key E) ?V {
# fixme: linear lookup; implement an enum index/discriminant map for O(1) lookup # fixme: linear lookup; implement an enum index/discriminant map for O(1) lookup
match typeinfo!(E) { match typeinfo!(E) {
.enum |info|: expand for info.fields |field, i| { .enum |info|: inline for info.fields |field, i| {
if key == field!(E, field.name) { if key == field!(E, field.name) {
if (map.present[i]) return map.values[i] if (map.present[i]) return map.values[i]
return null return null
+2 -2
View File
@@ -102,7 +102,7 @@ stderr proc(io Io) Writer {
} }
print proc(output Writer, $format []u8, $Args type, args Args) void ! WriteError { print proc(output Writer, $format []u8, $Args type, args Args) void ! WriteError {
expand for parse_format(format.len, format, Args) |token| { inline for parse_format(format.len, format, Args) |token| {
match token.kind { match token.kind {
.unused: break .unused: break
.literal: try write_all(output, format[token.start..token.end]) .literal: try write_all(output, format[token.start..token.end])
@@ -428,7 +428,7 @@ hide write_default proc(output Writer, $T type, value T) void ! WriteError {
.pointer: try write_all(output, value) .pointer: try write_all(output, value)
.slice: try write_all(output, value) .slice: try write_all(output, value)
.enum |enum_info|: { .enum |enum_info|: {
expand for enum_info.fields |field| { inline for enum_info.fields |field| {
if value == field!(T, field.name) { if value == field!(T, field.name) {
try write_all(output, ".") try write_all(output, ".")
try write_all(output, field.name) try write_all(output, field.name)
+1 -1
View File
@@ -49,7 +49,7 @@ EnumFieldStruct proc($E, $Field type, $default ?Field) type {
names [info.fields.len]mut []u8 = undefined names [info.fields.len]mut []u8 = undefined
field_types [info.fields.len]mut type = undefined field_types [info.fields.len]mut type = undefined
defaults [info.fields.len]mut ?Field = undefined defaults [info.fields.len]mut ?Field = undefined
expand for info.fields |field, index| { inline for info.fields |field, index| {
names[index] = field.name names[index] = field.name
field_types[index] = Field field_types[index] = Field
defaults[index] = default defaults[index] = default