Avoid clone in Signature::get_positional() (#13338)

# Description
`Signature::get_positional()` was returning an owned `PositionalArg`,
which contains a bunch of strings. `ClosureEval` uses this in
`try_add_arg`, making all of that unnecessary cloning a little bit hot.

# User-Facing Changes
Slightly better performance
This commit is contained in:
Devyn Cairns
2024-07-10 19:14:05 -07:00
committed by GitHub
parent f87cf895c2
commit 801cfae279
2 changed files with 6 additions and 7 deletions

View File

@ -39,7 +39,7 @@ fn test_signature_chained() {
assert_eq!(
signature.get_positional(0),
Some(PositionalArg {
Some(&PositionalArg {
name: "required".to_string(),
desc: "required description".to_string(),
shape: SyntaxShape::String,
@ -49,7 +49,7 @@ fn test_signature_chained() {
);
assert_eq!(
signature.get_positional(1),
Some(PositionalArg {
Some(&PositionalArg {
name: "optional".to_string(),
desc: "optional description".to_string(),
shape: SyntaxShape::String,
@ -59,7 +59,7 @@ fn test_signature_chained() {
);
assert_eq!(
signature.get_positional(2),
Some(PositionalArg {
Some(&PositionalArg {
name: "rest".to_string(),
desc: "rest description".to_string(),
shape: SyntaxShape::String,