diff --git a/std/enums/enummap/enummap.hon b/std/enums/enummap/enummap.hon index 891bfcf..0acc393 100644 --- a/std/enums/enummap/enummap.hon +++ b/std/enums/enummap/enummap.hon @@ -17,7 +17,7 @@ init proc( map EnumMap(E, V) = undefined match typeinfo!(E) { - .enum |info|: expand for info.fields |field, i| { + .enum |info|: inline for info.fields |field, i| { map.present[i] = false if field!(values, field.name) |value| { @@ -34,7 +34,7 @@ init proc( 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 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 (map.present[i]) return map.values[i] return null diff --git a/std/io/io.hon b/std/io/io.hon index 41ca493..6b5945b 100644 --- a/std/io/io.hon +++ b/std/io/io.hon @@ -102,7 +102,7 @@ stderr proc(io Io) Writer { } 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 { .unused: break .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) .slice: try write_all(output, value) .enum |enum_info|: { - expand for enum_info.fields |field| { + inline for enum_info.fields |field| { if value == field!(T, field.name) { try write_all(output, ".") try write_all(output, field.name) diff --git a/std/meta/meta.hon b/std/meta/meta.hon index c92603f..cabc166 100644 --- a/std/meta/meta.hon +++ b/std/meta/meta.hon @@ -49,7 +49,7 @@ EnumFieldStruct proc($E, $Field type, $default ?Field) type { names [info.fields.len]mut []u8 = undefined field_types [info.fields.len]mut type = undefined defaults [info.fields.len]mut ?Field = undefined - expand for info.fields |field, index| { + inline for info.fields |field, index| { names[index] = field.name field_types[index] = Field defaults[index] = default