diff --git a/core/config/project_settings.cpp b/core/config/project_settings.cpp index 8f3577290fc..d6ec6634299 100644 --- a/core/config/project_settings.cpp +++ b/core/config/project_settings.cpp @@ -1627,6 +1627,7 @@ ProjectSettings::ProjectSettings() { GLOBAL_DEF(PropertyInfo(Variant::INT, "debug/settings/profiler/max_functions", PROPERTY_HINT_RANGE, "128,65535,1"), 16384); GLOBAL_DEF_RST(PropertyInfo(Variant::INT, "debug/settings/profiler/max_timestamp_query_elements", PROPERTY_HINT_RANGE, "256,65535,1"), 256); + GLOBAL_DEF("debug/gdscript/warnings/show_experimental_trait_warning", true); // @todo: remove experimental tag in 27.1-rc.1 GLOBAL_DEF(PropertyInfo(Variant::BOOL, "compression/formats/zstd/long_distance_matching"), Compression::zstd_long_distance_matching); GLOBAL_DEF(PropertyInfo(Variant::INT, "compression/formats/zstd/compression_level", PROPERTY_HINT_RANGE, "1,22,1"), Compression::zstd_level); diff --git a/core/core_bind.cpp b/core/core_bind.cpp index b498cb8c3b4..554889d6ac4 100644 --- a/core/core_bind.cpp +++ b/core/core_bind.cpp @@ -1586,14 +1586,16 @@ namespace Special { ////// ClassDB ////// PackedStringArray ClassDB::get_class_list() const { - List classes; - ::ClassDB::get_class_list(&classes); + LocalVector classes; + ::ClassDB::get_class_list(classes); PackedStringArray ret; ret.resize(classes.size()); + String *ptrw = ret.ptrw(); int idx = 0; - for (const StringName &E : classes) { - ret.set(idx++, E); + for (const StringName &cls : classes) { + ptrw[idx] = cls; + idx++; } return ret; diff --git a/core/debugger/remote_debugger.cpp b/core/debugger/remote_debugger.cpp index bd5a278f6c7..795e06559c2 100644 --- a/core/debugger/remote_debugger.cpp +++ b/core/debugger/remote_debugger.cpp @@ -571,25 +571,25 @@ void RemoteDebugger::debug(bool p_can_continue, bool p_is_error_breakpoint) { input_vals.append(V); } - List native_types; - ClassDB::get_class_list(&native_types); - for (const StringName &E : native_types) { - if (!ClassDB::is_class_exposed(E) || !Engine::get_singleton()->has_singleton(E) || Engine::get_singleton()->is_singleton_editor_only(E)) { + LocalVector native_types; + ClassDB::get_class_list(native_types); + for (const StringName &class_name : native_types) { + if (!ClassDB::is_class_exposed(class_name) || !Engine::get_singleton()->has_singleton(class_name) || Engine::get_singleton()->is_singleton_editor_only(class_name)) { continue; } - input_names.append(E); - input_vals.append(Engine::get_singleton()->get_singleton_object(E)); + input_names.append(class_name); + input_vals.append(Engine::get_singleton()->get_singleton_object(class_name)); } - List user_types; - ScriptServer::get_global_class_list(&user_types); - for (const StringName &S : user_types) { - String scr_path = ScriptServer::get_global_class_path(S); + LocalVector user_types; + ScriptServer::get_global_class_list(user_types); + for (const StringName &class_name : user_types) { + String scr_path = ScriptServer::get_global_class_path(class_name); Ref