diff --git a/zokrates_core_test/tests/tests/structs/mutate_argument.json b/zokrates_core_test/tests/tests/pass_by_value.json similarity index 53% rename from zokrates_core_test/tests/tests/structs/mutate_argument.json rename to zokrates_core_test/tests/tests/pass_by_value.json index b307b14d..bedd0974 100644 --- a/zokrates_core_test/tests/tests/structs/mutate_argument.json +++ b/zokrates_core_test/tests/tests/pass_by_value.json @@ -1,14 +1,14 @@ { - "entry_point": "./tests/tests/structs/mutate_argument.zok", + "entry_point": "./tests/tests/pass_by_value.zok", "curves": ["Bn128", "Bls12_381", "Bls12_377", "Bw6_761"], "tests": [ { "input": { - "values": ["1"] + "values": ["1", "1", "1"] }, "output": { "Ok": { - "values": ["2", "1"] + "values": ["2", "1", "2", "1", "2", "1"] } } } diff --git a/zokrates_core_test/tests/tests/pass_by_value.zok b/zokrates_core_test/tests/tests/pass_by_value.zok new file mode 100644 index 00000000..66ca524f --- /dev/null +++ b/zokrates_core_test/tests/tests/pass_by_value.zok @@ -0,0 +1,18 @@ +struct Foo { + field a +} + +def mutate(field a) -> field: + a = a + 1 + return a + +def mutate(Foo f) -> Foo: + f.a = f.a + 1 + return f + +def mutate(field[1] f) -> field[1]: + f[0] = f[0] + 1 + return f + +def main(field[1] f, Foo g, field h) -> (field[1], field[1], Foo, Foo, field, field): + return mutate(f), f, mutate(g), g, mutate(h), h \ No newline at end of file diff --git a/zokrates_core_test/tests/tests/structs/mutate_argument.zok b/zokrates_core_test/tests/tests/structs/mutate_argument.zok deleted file mode 100644 index aa352fcd..00000000 --- a/zokrates_core_test/tests/tests/structs/mutate_argument.zok +++ /dev/null @@ -1,10 +0,0 @@ -struct Foo { - field a -} - -def mutate(field[1] f) -> field[1]: - f[0] = f[0] + 1 - return f - -def main(field[1] f) -> (field[1], field[1]): - return mutate(f), f \ No newline at end of file