Duplicate GetGroup/GetBinding in vtkWebGPUComputeBuffer.h

Building VTK 9.6.2 with WebGPU enabled on Windows / MSVC fails to compile Rendering/WebGPU/vtkWebGPUComputeBuffer.h.

Group and Binding are declared as vtkIdType members but each accessor is defined twice, once hand-written returning uint32_t, and once via vtkGetMacro returning vtkIdType:

// lines 91-92
uint32_t GetGroup() const { return this->Group; }
vtkGetMacro(Group, vtkIdType);     // expands to vtkIdType GetGroup() const

// lines 104-105
uint32_t GetBinding() const { return this->Binding; }
vtkGetMacro(Binding, vtkIdType);   // expands to vtkIdType GetBinding() const

After macro expansion each is a redefinition of GetGroup() / GetBinding() differing only by return type (uint32_t vs vtkIdType), which is ill-formed:

vtkWebGPUComputeBuffer.h(92): error C2556:
'vtkIdType vtkWebGPUComputeBuffer::GetGroup(void) const': overloaded function differs only by return type from 'uint32_t vtkWebGPUComputeBuffer::GetGroup(void) const'
vtkWebGPUComputeBuffer.h(92): error C2371: 'vtkWebGPUComputeBuffer::GetGroup': redefinition; different basic types

Are we doing something wrong? Cause that must have gone through CI/CD at some point.

Thanks!

We discovered that VTK_USE_FUTURE_CONST=ON triggers it. Without it, vtkGetMacro expands to a non-const getter which doesn’t interfere with the const ones. We can disable it for now but this is a potential bug.