fix temp leak and crash when assigning a C value to both a Python and C target in a cascaded assignment
merge 0.21.x branch into master