godot icon indicating copy to clipboard operation
godot copied to clipboard

C#: Fix generator crash w/ generic arrays

Open paulloz opened this issue 1 year ago • 0 comments

:v:

Currently, the following code will throw the ScriptPropertiesGenerator in a CSC error, and prevent further compilation. This is because we are trying to find a valid type hint for the export, on a generic that is not yet constructed. Note that doing the same thing with a Godot.Collection.Dictionary<T1, T2> is not causing any issue, since we do not try to find type hints for dictionaries.

public abstract partial class Foo<[MustBeVariant] T> : Node
{
    [Export]
    private Godot.Collections.Array<T> collection = new();
}

To prevent the error, I think we can simply elect to not look for type hints here. I still need to go through #83432, if we want a better behaviour when it comes to generics. But in the meantime, not crashing is IMHO a priority.

paulloz avatar Apr 30 '24 20:04 paulloz