godot
godot copied to clipboard
C#: Fix generator crash w/ generic arrays
: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.