mirror of
https://github.com/nushell/nushell.git
synced 2025-07-01 07:00:37 +02:00
Remove pythonic int * list
behavior (#10292)
# Description The pythonism that multiplying a scalar integer with a list results in a repeated concatenation of the list, is ambiguous with other possible interpretations and thus actively harmful to clear semantics in nushell. Another possible reading of this scalar/vector product would be trying to perform elementwise multiplication with the scalar. Before we bless this alternative as a more reasonable design the best course of action is to remove this pythonism. Work related to #10233 # User-Facing Changes Breaking change as this turns `int * list` or `list * int` into hard errors. # Tests + Formatting Remove the associated test
This commit is contained in:
committed by
GitHub
parent
ba6d8ad261
commit
3e14dc3eb8
@ -2663,20 +2663,6 @@ impl Value {
|
||||
}
|
||||
Ok(Value::string(res, span))
|
||||
}
|
||||
(Value::Int { val: lhs, .. }, Value::List { vals: rhs, .. }) => {
|
||||
let mut res = vec![];
|
||||
for _ in 0..*lhs {
|
||||
res.append(&mut rhs.clone())
|
||||
}
|
||||
Ok(Value::list(res, span))
|
||||
}
|
||||
(Value::List { vals: lhs, .. }, Value::Int { val: rhs, .. }) => {
|
||||
let mut res = vec![];
|
||||
for _ in 0..*rhs {
|
||||
res.append(&mut lhs.clone())
|
||||
}
|
||||
Ok(Value::list(res, span))
|
||||
}
|
||||
_ => Err(ShellError::OperatorMismatch {
|
||||
op_span: op,
|
||||
lhs_ty: self.get_type().to_string(),
|
||||
|
Reference in New Issue
Block a user