diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2023-04-13 20:36:08 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2023-04-14 09:14:11 +0200 |
commit | b42c4b54a3589cffcab9dcce603c82728bcd82d0 (patch) | |
tree | dbd833d214300b7306a57340a180b8c6e2b7d94e /vala/valagenerictype.vala | |
parent | cff2e6e470efae1f4e178ab13cb2b3d5dde502c3 (diff) | |
download | vala-b42c4b54a3589cffcab9dcce603c82728bcd82d0.tar.gz |
vala: Don't make GenericType nullable by default
Allow equality between nullable and non-nullable generic-types for now
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1191
Diffstat (limited to 'vala/valagenerictype.vala')
-rw-r--r-- | vala/valagenerictype.vala | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/vala/valagenerictype.vala b/vala/valagenerictype.vala index 32b32ba0e..50c713bce 100644 --- a/vala/valagenerictype.vala +++ b/vala/valagenerictype.vala @@ -40,8 +40,6 @@ public class Vala.GenericType : DataType { public GenericType (TypeParameter type_parameter, SourceReference? source_reference = null) { base.with_symbol (type_parameter, source_reference); - // type parameters are always considered nullable - this.nullable = true; } public override DataType copy () { @@ -62,6 +60,9 @@ public class Vala.GenericType : DataType { } result = SemanticAnalyzer.get_actual_type (derived_instance_type, method_type_arguments, (GenericType) result, node_reference); + if (!result.is_non_null_simple_type ()) { + result.nullable = result.nullable || nullable; + } return result; } @@ -77,7 +78,7 @@ public class Vala.GenericType : DataType { } public override string to_qualified_string (Scope? scope = null) { - return type_parameter.name; + return "%s%s".printf (type_parameter.name, nullable ? "?" : ""); } public override Symbol? get_member (string member_name) { |