Skip to content

Commit 860b02f

Browse files
committed
refactor: return &str instead of String for argument names when demangling.
1 parent 9fe297d commit 860b02f

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

lib/src/types/func.rs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ impl MangledFnName {
9090

9191
impl MangledFnName {
9292
/// Returns the types of arguments and return value for the function.
93-
pub fn unmangle(&self) -> (Vec<(String, TypeValue)>, TypeValue) {
93+
pub fn unmangle(&self) -> (Vec<(&str, TypeValue)>, TypeValue) {
9494
let (_fn_name, arg_names_and_types, ret_type) =
9595
self.0.split('@').collect_tuple().unwrap_or_else(|| {
9696
panic!("invalid mangled name: `{}`", self.0)
@@ -102,7 +102,7 @@ impl MangledFnName {
102102
for arg_str in arg_names_and_types.split(',') {
103103
let (arg_name, arg_type) =
104104
if let Some((n, t)) = arg_str.split_once(':') {
105-
(n.to_string(), t)
105+
(n, t)
106106
} else {
107107
panic!(
108108
"argument name missing in mangled name: `{}`",
@@ -294,7 +294,7 @@ impl<T: Into<String>> From<T> for FuncSignature {
294294
let mut arg_names = Vec::with_capacity(args_with_names.len());
295295
for (name, ty) in args_with_names {
296296
args.push(ty);
297-
arg_names.push(name);
297+
arg_names.push(name.to_string());
298298
}
299299

300300
Self { mangled_name, args, arg_names, result, description: None }
@@ -391,8 +391,8 @@ mod test {
391391
MangledFnName::from("foo@a:i,b:i@i").unmangle(),
392392
(
393393
vec![
394-
("a".to_string(), TypeValue::unknown_integer()),
395-
("b".to_string(), TypeValue::unknown_integer())
394+
("a", TypeValue::unknown_integer()),
395+
("b", TypeValue::unknown_integer())
396396
],
397397
TypeValue::unknown_integer()
398398
)
@@ -402,8 +402,8 @@ mod test {
402402
MangledFnName::from("foo@a:f,b:f@f").unmangle(),
403403
(
404404
vec![
405-
("a".to_string(), TypeValue::unknown_float()),
406-
("b".to_string(), TypeValue::unknown_float())
405+
("a", TypeValue::unknown_float()),
406+
("b", TypeValue::unknown_float())
407407
],
408408
TypeValue::unknown_float()
409409
)
@@ -413,8 +413,8 @@ mod test {
413413
MangledFnName::from("foo@a:b,b:b@b").unmangle(),
414414
(
415415
vec![
416-
("a".to_string(), TypeValue::unknown_bool()),
417-
("b".to_string(), TypeValue::unknown_bool())
416+
("a", TypeValue::unknown_bool()),
417+
("b", TypeValue::unknown_bool())
418418
],
419419
TypeValue::unknown_bool()
420420
)
@@ -424,8 +424,8 @@ mod test {
424424
MangledFnName::from("foo@a:s,b:s@s").unmangle(),
425425
(
426426
vec![
427-
("a".to_string(), TypeValue::unknown_string()),
428-
("b".to_string(), TypeValue::unknown_string())
427+
("a", TypeValue::unknown_string()),
428+
("b", TypeValue::unknown_string())
429429
],
430430
TypeValue::unknown_string()
431431
)
@@ -435,9 +435,9 @@ mod test {
435435
MangledFnName::from("foo@a:s,b:s:L@s:L").unmangle(),
436436
(
437437
vec![
438-
("a".to_string(), TypeValue::unknown_string()),
438+
("a", TypeValue::unknown_string()),
439439
(
440-
"b".to_string(),
440+
"b",
441441
TypeValue::unknown_string_with_constraints(vec![
442442
StringConstraint::Lowercase
443443
])
@@ -453,9 +453,9 @@ mod test {
453453
MangledFnName::from("foo@a:s,b:s:U@s:U").unmangle(),
454454
(
455455
vec![
456-
("a".to_string(), TypeValue::unknown_string()),
456+
("a", TypeValue::unknown_string()),
457457
(
458-
"b".to_string(),
458+
"b",
459459
TypeValue::unknown_string_with_constraints(vec![
460460
StringConstraint::Uppercase
461461
])
@@ -471,9 +471,9 @@ mod test {
471471
MangledFnName::from("foo@a:s,b:s:N16@s:N16").unmangle(),
472472
(
473473
vec![
474-
("a".to_string(), TypeValue::unknown_string()),
474+
("a", TypeValue::unknown_string()),
475475
(
476-
"b".to_string(),
476+
"b",
477477
TypeValue::unknown_string_with_constraints(vec![
478478
StringConstraint::ExactLength(16),
479479
])
@@ -489,9 +489,9 @@ mod test {
489489
MangledFnName::from("foo@a:s,b:s:N16:L@s:N16:L").unmangle(),
490490
(
491491
vec![
492-
("a".to_string(), TypeValue::unknown_string()),
492+
("a", TypeValue::unknown_string()),
493493
(
494-
"b".to_string(),
494+
"b",
495495
TypeValue::unknown_string_with_constraints(vec![
496496
StringConstraint::ExactLength(16),
497497
StringConstraint::Lowercase

0 commit comments

Comments
 (0)