You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The issue appears to be in how Godot handles generic instances when doing coersion from Mono type info to Godot variant type info, as it will discard any generic that is not a hardcoded exception, such as the generic collection interfaces.
It should be noted that passing generic types that extend Godot.Object to regular Godot functions works fine.
Godot version:
Godot 3.3 RC 7
OS/device including version:
OS: Manjaro Linux x86_64
Kernel: 5.9.16-1-MANJARO
CPU: AMD Ryzen 7 1700X (16) @ 3.400GHz
GPU: AMD ATI Radeon RX 5600 XT
Issue description:
Godot's marshalling logic does not account for signals with generic argument types extend
Godot.Object
.This means that patterns to avoid the issue of not being able to pass structs over Godot signals, such as using a generic
Box<T>
type, do not work.godot/modules/mono/mono_gd/gd_mono_marshal.cpp
Line 237 in 2a66714
The issue appears to be in how Godot handles generic instances when doing coersion from Mono type info to Godot variant type info, as it will discard any generic that is not a hardcoded exception, such as the generic collection interfaces.
It should be noted that passing generic types that extend
Godot.Object
to regular Godot functions works fine.Steps to reproduce:
Attempt to declare a Godot signal that uses the above generic type
Minimal reproduction project:
MinimalReproduction.zip
The text was updated successfully, but these errors were encountered: