This is a limitation of the current borrow checker. I think there are some efforts going on to improve on this situation, but right now that's what we have to work with.
The borrow checker can keep unnamed values around for a single expression, but not beyond that.
Just donate the extra pixels to charity, problem solved!