[PATCH 2/6] treewide: remove using list iterator after loop body as a ptr
Linus Torvalds
torvalds at linux-foundation.org
Tue Mar 1 07:14:44 AEDT 2022
On Mon, Feb 28, 2022 at 12:10 PM Linus Torvalds
<torvalds at linux-foundation.org> wrote:
>
> We can do
>
> typeof(pos) pos
>
> in the 'for ()' loop, and never use __iter at all.
>
> That means that inside the for-loop, we use a _different_ 'pos' than outside.
The thing that makes me throw up in my mouth a bit is that in that
typeof(pos) pos
the first 'pos' (that we use for just the typeof) is that outer-level
'pos', IOW it's a *different* 'pos' than the second 'pos' in that same
declaration that declares the inner level shadowing new 'pos'
variable.
If I was a compiler person, I would say "Linus, that thing is too ugly
to live", and I would hate it. I'm just hoping that even compiler
people say "that's *so* ugly it's almost beautiful".
Because it does seem to work. It's not pretty, but hey, it's not like
our headers are really ever be winning any beauty contests...
Linus
More information about the Linux-aspeed
mailing list