Merge pull request #75419 from vonagam/fix-super-classes-in-array-literals

GDScript: Allow elements of a parent class in a typed array literal
This commit is contained in:
Rémi Verschelde
2023-06-14 09:23:32 +02:00
4 changed files with 20 additions and 2 deletions

View File

@ -116,8 +116,8 @@ func test():
assert(duplicated_floats.get_typed_builtin() == TYPE_FLOAT)
var b_objects: Array[B] = [B.new(), null]
assert(b_objects.size() == 2)
var b_objects: Array[B] = [B.new(), B.new() as A, null]
assert(b_objects.size() == 3)
assert(b_objects.get_typed_builtin() == TYPE_OBJECT)
assert(b_objects.get_typed_script() == B)

View File

@ -0,0 +1,7 @@
class Foo: pass
class Bar extends Foo: pass
class Baz extends Foo: pass
func test():
var typed: Array[Bar] = [Baz.new() as Foo]
print('not ok')

View File

@ -0,0 +1,7 @@
GDTEST_RUNTIME_ERROR
>> ERROR
>> on function: assign()
>> core/variant/array.cpp
>> 222
>> Method/function failed.
not ok