Skip to content

Commit b36fd0a

Browse files
committed
Replace some remaining Into<StringName> with AsArg
1 parent f2e59a4 commit b36fd0a

File tree

4 files changed

+11
-8
lines changed

4 files changed

+11
-8
lines changed

godot-core/src/builtin/callable.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,15 @@ impl Callable {
4646
pub fn from_object_method<T, S>(object: &Gd<T>, method_name: S) -> Self
4747
where
4848
T: GodotClass, // + Inherits<Object>,
49-
S: Into<StringName>,
49+
S: meta::AsArg<StringName>,
5050
{
51-
// upcast not needed
52-
let method = method_name.into();
51+
meta::arg_into_ref!(method_name);
52+
5353
unsafe {
5454
Self::new_with_uninit(|self_ptr| {
5555
let ctor = sys::builtin_fn!(callable_from_object_method);
5656
let raw = object.to_ffi();
57-
let args = [raw.as_arg_ptr(), method.sys()];
57+
let args = [raw.as_arg_ptr(), method_name.sys()];
5858
ctor(self_ptr, args.as_ptr());
5959
})
6060
}
@@ -340,6 +340,7 @@ impl fmt::Display for Callable {
340340
#[cfg(since_api = "4.2")]
341341
use custom_callable::*;
342342

343+
use crate::meta;
343344
#[cfg(since_api = "4.2")]
344345
pub use custom_callable::RustCallable;
345346

godot-core/src/builtin/signal.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ use godot_ffi as sys;
1313
use crate::builtin::{inner, Array, Callable, Dictionary, StringName, Variant};
1414
use crate::classes::Object;
1515
use crate::global::Error;
16+
use crate::meta;
1617
use crate::meta::{FromGodot, GodotType, ToGodot};
1718
use crate::obj::bounds::DynMemory;
1819
use crate::obj::{Bounds, Gd, GodotClass, InstanceId};
@@ -40,9 +41,10 @@ impl Signal {
4041
pub fn from_object_signal<T, S>(object: &Gd<T>, signal_name: S) -> Self
4142
where
4243
T: GodotClass,
43-
S: Into<StringName>,
44+
S: meta::AsArg<StringName>,
4445
{
45-
let signal_name = signal_name.into();
46+
meta::arg_into_ref!(signal_name);
47+
4648
unsafe {
4749
Self::new_with_uninit(|self_ptr| {
4850
let ctor = sys::builtin_fn!(signal_from_object_signal);

godot-core/src/obj/gd.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@ impl<T: GodotClass> Gd<T> {
434434
/// Returns a callable referencing a method from this object named `method_name`.
435435
///
436436
/// This is shorter syntax for [`Callable::from_object_method(self, method_name)`][Callable::from_object_method].
437-
pub fn callable<S: Into<StringName>>(&self, method_name: S) -> Callable {
437+
pub fn callable(&self, method_name: impl AsArg<StringName>) -> Callable {
438438
Callable::from_object_method(self, method_name)
439439
}
440440

itest/rust/src/builtin_tests/containers/signal_test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ fn signals() {
7979
let signal_name = format!("signal_{i}_arg");
8080
let receiver_name = format!("receive_{i}_arg");
8181

82-
emitter.connect(&signal_name, &receiver.callable(receiver_name));
82+
emitter.connect(&signal_name, &receiver.callable(&receiver_name));
8383
emitter.emit_signal(&signal_name, arg);
8484

8585
assert!(receiver.bind().used[i].get());

0 commit comments

Comments
 (0)