mirror of
https://github.com/nushell/nushell.git
synced 2025-06-30 22:50:14 +02:00
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:
@ -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,
|
||||
|
Reference in New Issue
Block a user