On Fri, Nov 28, 2025 at 9:29 AM Peter Smith <[email protected]> wrote:
>
> I noticed that recently, a shadow warning has crept into the code I am 
> building.
>
> ----------
> subscriptioncmds.c:1125:30: warning: declaration of ‘rel’ shadows a
> previous local [-Wshadow]
>    foreach_ptr(SubRemoveRels, rel, sub_remove_rels)
>                               ^
> ../../../src/include/nodes/pg_list.h:482:20: note: in definition of
> macro ‘foreach_internal’
>   for (type pointer var = 0, pointer var##__outerloop = (type pointer) 1; \
>                     ^
> subscriptioncmds.c:1125:3: note: in expansion of macro ‘foreach_ptr’
>    foreach_ptr(SubRemoveRels, rel, sub_remove_rels)
>    ^
> subscriptioncmds.c:934:11: warning: shadowed declaration is here [-Wshadow]
>   Relation rel = NULL;
>            ^
> ----------
>
> This seems to have been introduced recently by the REFRESH SEQUENCES
> commit f0b3573.
>
> IIUC, this particular case is harmless, but IMO it's still worth
> fixing to avoid recurring doubts about potential issues every time it
> appears.
>

Sounds reasonable and it appears to bring some code clarity as well.
I'll push this early next week unless someone thinks differently.

-- 
With Regards,
Amit Kapila.


Reply via email to