for(int i : some-container) { do-something-with(i); }
It's implied by void-returning do-something-with(...).
Otherwise you're just burning cycles and a good compiler should dead-code eliminate the whole loop.
(see https://news.ycombinator.com/item?id=44873488)
We are discussing mutation in the loop itself, but sure:
for(int x: container) { yield frob(x); }