diff --git a/vlib/v/checker/checker.v b/vlib/v/checker/checker.v index b41fc4419d94f4..21512c87484087 100644 --- a/vlib/v/checker/checker.v +++ b/vlib/v/checker/checker.v @@ -654,9 +654,9 @@ and use a reference to the sum type instead: `var := &${node.name}(${variant_nam for typ in sym.info.generic_types { if typ !in node.generic_types { sumtype_type_names := node.generic_types.map(c.table.type_to_str(it)).join(', ') - generic_sumtype_name := '${node.name}<${sumtype_type_names}>' + generic_sumtype_name := '${node.name}[${sumtype_type_names}]' variant_type_names := sym.info.generic_types.map(c.table.type_to_str(it)).join(', ') - generic_variant_name := '${sym.name}<${variant_type_names}>' + generic_variant_name := '${sym.name}[${variant_type_names}]' c.error('generic type name `${c.table.sym(typ).name}` of generic struct `${generic_variant_name}` is not mentioned in sumtype `${generic_sumtype_name}`', variant.pos) } diff --git a/vlib/v/checker/tests/generic_sumtype_decl_err_c.out b/vlib/v/checker/tests/generic_sumtype_decl_err_c.out index 7e72a7e9f42c11..33adb11405df9f 100644 --- a/vlib/v/checker/tests/generic_sumtype_decl_err_c.out +++ b/vlib/v/checker/tests/generic_sumtype_decl_err_c.out @@ -1,7 +1,7 @@ -vlib/v/checker/tests/generic_sumtype_decl_err_c.vv:7:27: error: generic type name `T` of generic struct `Just` is not mentioned in sumtype `Maybe` +vlib/v/checker/tests/generic_sumtype_decl_err_c.vv:7:27: error: generic type name `T` of generic struct `Just[T]` is not mentioned in sumtype `Maybe[B]` 5 | struct Nothing {} - 6 | + 6 | 7 | type Maybe[B] = Nothing | Just[T] | ~~~~~~~ - 8 | + 8 | 9 | fn main() {