Re: Remove Item type

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-10-27T09:21:48Z
Lists: pgsql-hackers
On 24.10.25 17:32, Nathan Bossart wrote:
> On Mon, Sep 29, 2025 at 12:20:00PM +0200, Peter Eisentraut wrote:
>> So I'm proposing to remove the Item type, replace it with void * in
>> function prototypes, and remove all the casts.
> 
> The general idea seems reasonable to me, but I'm a little concerned that
> using "void *" could break extensions written in C++ (see commit d5ca15e).
> I haven't confirmed there's an actual issue here, though.

Thanks for checking.  This is not a problem, because what C++ disallows 
is implicit conversion from void * to another pointer type, but it does 
allow it the other way around, which is what would be happening here.

I have committed this.




Commits

  1. Add some const qualifications

  2. Remove Item type

  3. Add type cast to foreach_internal's loop variable.