An example:
MyExample = object
field: name
my_examples: seq[MyExample]
proc updateMyExample(old_name: string,
new_name: string,
my_example: var MyExample) =
if my_example.field == old_name:
my_example.field = new_name
for my_example_i in my_example.my_examples:
updateMyExample(old_name,
new_name,
my_example_i)
What I found is that the field remains unchanged after the call to updateMyExample(). The for loop seems to remove mutability.
for my_example_i in my_example.my_examples.mitems: