Melanie Plageman <melanieplage...@gmail.com> writes: > On Mon, Feb 27, 2023 at 10:30 AM Tom Lane <t...@sss.pgh.pa.us> wrote: >> The risk of needing to cast when using the "int" loop variable >> as an enum is obviously the downside of that approach, but we have >> not seen any indication that any compilers actually do warn. >> It's interesting that you did see such a warning ... I wonder which >> compiler you were using at the time?
> so, pretty much any version of clang I tried with > -Wsign-conversion produces a warning. > <source>:35:32: warning: implicit conversion changes signedness: 'int' > to 'IOOp' (aka 'enum IOOp') [-Wsign-conversion] Oh, interesting --- so it's not about the implicit conversion to enum but just about signedness. I bet we could silence that by making the loop variables be "unsigned int". I doubt it's worth any extra keystrokes though, because we are not at all clean about sign-conversion warnings. I tried enabling -Wsign-conversion on Apple's clang 14.0.0 just now, and counted 13462 such warnings just in the core build :-(. I don't foresee anybody trying to clean that up. > I didn't do the casts in the attached patch since they aren't done elsewhere. Agreed. I'll push this along with the earlier patch if there are not objections. regards, tom lane