Add minimum requirement of 2 variants for #no_nil
This commit is contained in:
1 parent
4ab9edeb53
commit
7c99f52187
1 file changed
+5
@@ -716,6 +716,11 @@ void check_union_type(CheckerContext *ctx, Type *union_type, Ast *node, Array<Op
|
|||||||
|
|
||||||
union_type->Union.variants = variants;
|
union_type->Union.variants = variants;
|
||||||
union_type->Union.no_nil = ut->no_nil;
|
union_type->Union.no_nil = ut->no_nil;
|
||||||
|
if (union_type->Union.no_nil) {
|
||||||
|
if (variants.count < 2) {
|
||||||
|
error(ut->align, "A union with #no_nil must have at least 2 variants");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (ut->align != nullptr) {
|
if (ut->align != nullptr) {
|
||||||
i64 custom_align = 1;
|
i64 custom_align = 1;
|
||||||
|
|||||||
Reference in new issue
Block a user