GD0402: Класс не должен быть универсальным

Идентификатор правила

GD0402

Категория

Использование

Исправление может быть как ломающим, так и не ломающим

Breaking (Прерывание)

Включено по умолчанию

Да

Причина

Универсальный тип аннотируется атрибутом [GlobalClass].

Описание правила

Редактор Godot предполагает, что каждый global class может быть инстанцирован, но универсальные типы не могут быть инстанцированы, поскольку параметры типа не связаны.

// This type is a valid global class because it's not generic.
[GlobalClass]
class SomeType : Node { }

// This type is not a valid global class because it's generic.
[GlobalClass]
class SomeGenericType<T> { }

Как устранить нарушения

Чтобы устранить нарушение этого правила, измените тип, удалив параметры универсального типа, или удалите атрибут [GlobalClass].

Когда следует подавлять предупреждения

Не подавляйте предупреждение из этого правила. Добавление [GlobalClass] к универсальному типу — простая ошибка, и это предупреждение помогает пользователям понять, что это может привести к непредвиденным ошибкам.