I’m trying to use deepcopy (from the copy module) to deeply copy a node tree from the ast module.
This doesn’t seem to work. I’m getting strange errors like TypeError: required field "name" missing from FunctionDef when I use the copied result (and I checked it; it really is missing in the copied node), so it didn’t correctly copied them.
Is there a trick I can make this working? Or maybe am I missing something?
Sorry, I was wrong.
copy.deepcopyseems to work correct. The reason I thought it wouldn’t work is because of this very odd behavior:This returns
Nonein PyPy. Probably a bug because in CPython 2.6, I getfoo. Strangely, in PyPy, if I removename=Nonefrom theast.FunctionDefcall, I also getfooas the output.I created a bug report for PyPy about this.