And I just discovered the answer....
For some reason, the parent assignment operator <<- needs to be used here, e.g.
<<-
warnings[[i]] <<- w # Return this to `warnings`