Replace &Span with Span since Span is Copy (#9770)

# Description
`Span` is `Copy`, so we probably should not be passing references of
`Span` around. This PR replaces all instances of `&Span` with `Span`,
copying spans where necessary.

# User-Facing Changes
This alters some public functions to take `Span` instead of `&Span` as
input. Namely, `EngineState::get_span_contents`,
`nu_protocol::extract_value`, a bunch of the math commands, and
`Gstat::gstat`.
This commit is contained in:
Ian Manske
2023-07-31 19:47:46 +00:00
committed by GitHub
parent 94bec72079
commit 583ef8674e
35 changed files with 356 additions and 365 deletions

View File

@ -27,7 +27,7 @@ impl GStat {
&self,
value: &Value,
path: Option<Spanned<String>>,
span: &Span,
span: Span,
) -> Result<Value, LabeledError> {
// use std::any::Any;
// eprintln!("input type: {:?} value: {:#?}", &value.type_id(), &value);
@ -55,7 +55,7 @@ impl GStat {
}
None => Spanned {
item: ".".to_string(),
span: *span,
span,
},
};
@ -146,54 +146,51 @@ impl GStat {
let mut vals = vec![];
cols.push("idx_added_staged".into());
vals.push(Value::int(stats.idx_added_staged as i64, *span));
vals.push(Value::int(stats.idx_added_staged as i64, span));
cols.push("idx_modified_staged".into());
vals.push(Value::int(stats.idx_modified_staged as i64, *span));
vals.push(Value::int(stats.idx_modified_staged as i64, span));
cols.push("idx_deleted_staged".into());
vals.push(Value::int(stats.idx_deleted_staged as i64, *span));
vals.push(Value::int(stats.idx_deleted_staged as i64, span));
cols.push("idx_renamed".into());
vals.push(Value::int(stats.idx_renamed as i64, *span));
vals.push(Value::int(stats.idx_renamed as i64, span));
cols.push("idx_type_changed".into());
vals.push(Value::int(stats.idx_type_changed as i64, *span));
vals.push(Value::int(stats.idx_type_changed as i64, span));
cols.push("wt_untracked".into());
vals.push(Value::int(stats.wt_untracked as i64, *span));
vals.push(Value::int(stats.wt_untracked as i64, span));
cols.push("wt_modified".into());
vals.push(Value::int(stats.wt_modified as i64, *span));
vals.push(Value::int(stats.wt_modified as i64, span));
cols.push("wt_deleted".into());
vals.push(Value::int(stats.wt_deleted as i64, *span));
vals.push(Value::int(stats.wt_deleted as i64, span));
cols.push("wt_type_changed".into());
vals.push(Value::int(stats.wt_type_changed as i64, *span));
vals.push(Value::int(stats.wt_type_changed as i64, span));
cols.push("wt_renamed".into());
vals.push(Value::int(stats.wt_renamed as i64, *span));
vals.push(Value::int(stats.wt_renamed as i64, span));
cols.push("ignored".into());
vals.push(Value::int(stats.ignored as i64, *span));
vals.push(Value::int(stats.ignored as i64, span));
cols.push("conflicts".into());
vals.push(Value::int(stats.conflicts as i64, *span));
vals.push(Value::int(stats.conflicts as i64, span));
cols.push("ahead".into());
vals.push(Value::int(stats.ahead as i64, *span));
vals.push(Value::int(stats.ahead as i64, span));
cols.push("behind".into());
vals.push(Value::int(stats.behind as i64, *span));
vals.push(Value::int(stats.behind as i64, span));
cols.push("stashes".into());
vals.push(Value::int(stats.stashes as i64, *span));
vals.push(Value::int(stats.stashes as i64, span));
cols.push("repo_name".into());
vals.push(Value::String {
val: repo_name,
span: *span,
span,
});
cols.push("tag".into());
vals.push(Value::String {
val: tag,
span: *span,
});
vals.push(Value::String { val: tag, span });
cols.push("branch".into());
vals.push(Value::String {
val: stats.branch,
span: *span,
span,
});
cols.push("remote".into());
vals.push(Value::String {
val: stats.remote,
span: *span,
span,
});
// Leave this in case we want to turn it into a table instead of a list
@ -206,61 +203,53 @@ impl GStat {
// span: *span,
// })
Ok(Value::Record {
cols,
vals,
span: *span,
})
Ok(Value::Record { cols, vals, span })
}
fn create_empty_git_status(&self, span: &Span) -> Value {
fn create_empty_git_status(&self, span: Span) -> Value {
let mut cols = vec![];
let mut vals = vec![];
cols.push("idx_added_staged".into());
vals.push(Value::int(-1, *span));
vals.push(Value::int(-1, span));
cols.push("idx_modified_staged".into());
vals.push(Value::int(-1, *span));
vals.push(Value::int(-1, span));
cols.push("idx_deleted_staged".into());
vals.push(Value::int(-1, *span));
vals.push(Value::int(-1, span));
cols.push("idx_renamed".into());
vals.push(Value::int(-1, *span));
vals.push(Value::int(-1, span));
cols.push("idx_type_changed".into());
vals.push(Value::int(-1, *span));
vals.push(Value::int(-1, span));
cols.push("wt_untracked".into());
vals.push(Value::int(-1, *span));
vals.push(Value::int(-1, span));
cols.push("wt_modified".into());
vals.push(Value::int(-1, *span));
vals.push(Value::int(-1, span));
cols.push("wt_deleted".into());
vals.push(Value::int(-1, *span));
vals.push(Value::int(-1, span));
cols.push("wt_type_changed".into());
vals.push(Value::int(-1, *span));
vals.push(Value::int(-1, span));
cols.push("wt_renamed".into());
vals.push(Value::int(-1, *span));
vals.push(Value::int(-1, span));
cols.push("ignored".into());
vals.push(Value::int(-1, *span));
vals.push(Value::int(-1, span));
cols.push("conflicts".into());
vals.push(Value::int(-1, *span));
vals.push(Value::int(-1, span));
cols.push("ahead".into());
vals.push(Value::int(-1, *span));
vals.push(Value::int(-1, span));
cols.push("behind".into());
vals.push(Value::int(-1, *span));
vals.push(Value::int(-1, span));
cols.push("stashes".into());
vals.push(Value::int(-1, *span));
vals.push(Value::int(-1, span));
cols.push("repo_name".into());
vals.push(Value::string("no_repository", *span));
vals.push(Value::string("no_repository", span));
cols.push("tag".into());
vals.push(Value::string("no_tag", *span));
vals.push(Value::string("no_tag", span));
cols.push("branch".into());
vals.push(Value::string("no_branch", *span));
vals.push(Value::string("no_branch", span));
cols.push("remote".into());
vals.push(Value::string("no_remote", *span));
vals.push(Value::string("no_remote", span));
Value::Record {
cols,
vals,
span: *span,
}
Value::Record { cols, vals, span }
}
}

View File

@ -22,6 +22,6 @@ impl Plugin for GStat {
let repo_path: Option<Spanned<String>> = call.opt(0)?;
// eprintln!("input value: {:#?}", &input);
self.gstat(input, repo_path, &call.head)
self.gstat(input, repo_path, call.head)
}
}