diff --git a/crates/nu-parser/src/parse_keywords.rs b/crates/nu-parser/src/parse_keywords.rs index d2025f848..1bcb7df2e 100644 --- a/crates/nu-parser/src/parse_keywords.rs +++ b/crates/nu-parser/src/parse_keywords.rs @@ -328,6 +328,7 @@ pub fn parse_def( let block = call.positional.get(2).expect("def call already checked"); let mut error = None; + if let (Some(name), Some(mut signature), Some(block_id)) = (&name_expr.as_string(), sig.as_signature(), block.as_block()) { diff --git a/crates/nu-protocol/src/engine/engine_state.rs b/crates/nu-protocol/src/engine/engine_state.rs index ed66f3ee6..08b3be252 100644 --- a/crates/nu-protocol/src/engine/engine_state.rs +++ b/crates/nu-protocol/src/engine/engine_state.rs @@ -743,7 +743,6 @@ impl<'a> StateWorkingSet<'a> { .expect("internal error: missing required scope frame"); scope_frame.decls.insert(name, decl_id); - scope_frame.visibility.use_decl_id(&decl_id); decl_id } @@ -790,7 +789,6 @@ impl<'a> StateWorkingSet<'a> { if let Some(decl_id) = scope_frame.predecls.remove(name) { scope_frame.decls.insert(name.into(), decl_id); - scope_frame.visibility.use_decl_id(&decl_id); return Some(decl_id); }