diff --git a/crates/nu-command/src/filters/rename.rs b/crates/nu-command/src/filters/rename.rs index 08da7c78b3..32fa9b3680 100644 --- a/crates/nu-command/src/filters/rename.rs +++ b/crates/nu-command/src/filters/rename.rs @@ -112,6 +112,7 @@ fn rename( let columns: Vec = call.rest(engine_state, stack, 0)?; let metadata = input.metadata(); + let head_span = call.head; input .map( move |item| match item { @@ -151,7 +152,13 @@ fn rename( Value::Record { cols, vals, span } } - x => x, + x => Value::Error { + error: ShellError::UnsupportedInput( + "can't rename: input is not table, so no column names available for rename" + .to_string(), + x.span().unwrap_or(head_span), + ), + }, }, engine_state.ctrlc.clone(), ) diff --git a/crates/nu-command/tests/commands/rename.rs b/crates/nu-command/tests/commands/rename.rs index 08d0163ce9..eeec77602b 100644 --- a/crates/nu-command/tests/commands/rename.rs +++ b/crates/nu-command/tests/commands/rename.rs @@ -61,8 +61,6 @@ fn keeps_remaining_original_names_given_less_new_names_than_total_original_names }) } -// FIXME: jt: needs more work -#[ignore] #[test] fn errors_if_no_columns_present() { Playground::setup("rename_test_3", |dirs, sandbox| {