mirror of
https://github.com/nushell/nushell.git
synced 2025-08-10 14:48:44 +02:00
Replace raw usize IDs with new types (#13832)
# Description In this PR I replaced most of the raw usize IDs with [newtypes](https://doc.rust-lang.org/rust-by-example/generics/new_types.html). Some other IDs already started using new types and in this PR I did not want to touch them. To make the implementation less repetitive, I made use of a generic `Id<T>` with marker structs. If this lands I would try to move make other IDs also in this pattern. Also at some places I needed to use `cast`, I'm not sure if the type was incorrect and therefore casting not needed or if actually different ID types intermingle sometimes. # User-Facing Changes Probably few, if you got a `DeclId` via a function and placed it later again it will still work.
This commit is contained in:
@ -177,7 +177,7 @@ impl<'a> PluginExecutionContext for PluginExecutionCommandContext<'a> {
|
||||
error: "Plugin misbehaving".into(),
|
||||
msg: format!(
|
||||
"Tried to evaluate unknown block id: {}",
|
||||
closure.item.block_id
|
||||
closure.item.block_id.get()
|
||||
),
|
||||
span: Some(closure.span),
|
||||
help: None,
|
||||
@ -226,10 +226,10 @@ impl<'a> PluginExecutionContext for PluginExecutionCommandContext<'a> {
|
||||
redirect_stdout: bool,
|
||||
redirect_stderr: bool,
|
||||
) -> Result<PipelineData, ShellError> {
|
||||
if decl_id >= self.engine_state.num_decls() {
|
||||
if decl_id.get() >= self.engine_state.num_decls() {
|
||||
return Err(ShellError::GenericError {
|
||||
error: "Plugin misbehaving".into(),
|
||||
msg: format!("Tried to call unknown decl id: {}", decl_id),
|
||||
msg: format!("Tried to call unknown decl id: {}", decl_id.get()),
|
||||
span: Some(call.head),
|
||||
help: None,
|
||||
inner: vec![],
|
||||
|
Reference in New Issue
Block a user