Sometimes, users accidentally choose a name that conflicts with a built-in Godot name, or a registered symbol in a base class. They often cause non-obvious errors at runtime.
We should see if we can turn them into compile-time or startup-time errors. Startup-time is OK, if we don't want macro-hardcoded logic, so it would be forward-compatible to builders and more dynamic registrations. Either way, this would be a big improvement over the status quo.
These conflicts come in many forms:
Sometimes, users accidentally choose a name that conflicts with a built-in Godot name, or a registered symbol in a base class. They often cause non-obvious errors at runtime.
We should see if we can turn them into compile-time or startup-time errors. Startup-time is OK, if we don't want macro-hardcoded logic, so it would be forward-compatible to builders and more dynamic registrations. Either way, this would be a big improvement over the status quo.
These conflicts come in many forms:
Classes (IIRC already fails to register, not sure about error message)
#[func]definitions_ready)#[var]/#[export]properties#[signal]#[constant]