Skip to content

Required virtual method (not?) overriding  #826

Description

@TH3-S4LM0N

I wanted to take this here before going upstream as they seem confident that it's fixed there (See godotengine/godot#90776).

I'm using Godot 4.3rc1 and trying to implement scripts from Rust with ScriptInstance etc. When trying to add my script (via adding a resource in the editor), the editor immediatly freezes for a second and then prints

ERROR: Required virtual method TroutScript::_has_static_method must be overridden before calling.
   at: _gdvirtual__has_static_method_call (./core/object/script_language_extension.h:102)
ERROR: Required virtual method TroutScript::_get_base_script must be overridden before calling.
   at: _gdvirtual__get_base_script_call (./core/object/script_language_extension.h:55)
ERROR: Required virtual method TroutScript::_get_language must be overridden before calling.
   at: _gdvirtual__get_language_call (./core/object/script_language_extension.h:133)

and quits. TroutScript being just the most basic

#[derive(GodotClass)]
#[class(init, base=ScriptExtension)]
struct TroutScript {
   base: Base<ScriptExtension>
}

I'm led to believe this is a gdext problem and not Godot as godotengine/godot#80275 provides an example of the bug in Lua that runs fine for me with 4.3rc1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugc: engineGodot classes (nodes, resources, ...)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions