diff --git a/examples/array_assignments.ion b/examples/array_assignments.ion index 632ffcab734f3dec85160df1e685471c5314ba85..15e6d67c3334545da916df576c6be24dc3e87482 100644 --- a/examples/array_assignments.ion +++ b/examples/array_assignments.ion @@ -6,19 +6,3 @@ let array[$value] = 5 echo @array let array[2]:int = 6 echo @array - -let FOO = [4 5 6] -let FOO[0] = [1 2 3] -echo @FOO - -let FOO = [4 5 6] -let FOO[1] = [1 2 3] -echo @FOO - -let FOO = [4 5 6] -let FOO[2] = [1 2 3] -echo @FOO - -let FOO = [4 5 6] -let FOO[3] = [1 2 3] -echo @FOO diff --git a/examples/array_assignments.out b/examples/array_assignments.out index 58914b3d3988860b0347d406e530a3a7185b356a..be78b833be118b3197ad965852aac0df16d937c6 100644 --- a/examples/array_assignments.out +++ b/examples/array_assignments.out @@ -1,7 +1,3 @@ 4 2 3 4 5 3 4 5 6 -1 2 3 4 5 6 -4 1 2 3 5 6 -4 5 1 2 3 6 -4 5 6 1 2 3 diff --git a/src/lib/shell/assignments.rs b/src/lib/shell/assignments.rs index 735dc4f7e5f9b9c200c1f9891b07765400d2c3c3..13508b5690505e94120323cf82aa11b73743b612 100644 --- a/src/lib/shell/assignments.rs +++ b/src/lib/shell/assignments.rs @@ -263,21 +263,9 @@ impl VariableStore for Shell { Ok(Action::UpdateArray(key, _, _)) => { match collected.remove(key.name) { Some(ReturnValue::Vector(values)) => { - if let Primitive::Indexed(ref index, _) = key.kind { - match parse_index(index, &self) { - Ok(index_num) => { - if let Some(mut array) = self.variables.get_array(key.name) { - for (i, value) in values.into_iter().enumerate() { - array.insert(index_num + i, value); - } - self.variables.set_array(key.name, array); - } - } - Err(why) => { - eprintln!("{}", why); - return FAILURE; - } - }; + if let Primitive::Indexed(_, _) = key.kind { + eprintln!("ion: multi-dimensional arrays are not yet supported"); + return FAILURE; } else { self.variables.set_array(key.name, values); }