gingerBill há 2 anos atrás
pai
commit
64047cbf05
1 ficheiros alterados com 4 adições e 3 exclusões
  1. 4 3
      core/reflect/reflect.odin

+ 4 - 3
core/reflect/reflect.odin

@@ -661,9 +661,10 @@ union_variant_typeid :: proc(a: any) -> typeid {
 		case: unimplemented()
 		}
 
-		if a.data != nil && tag != 0 {
-			i := tag if info.no_nil else tag-1
-			return info.variants[i].id
+		if info.no_nil {
+			return info.variants[tag].id
+		} else if tag != 0 {
+			return info.variants[tag-1].id
 		}
 
 		return nil