@allison.vacanti is it possible that some casts work on Windows while throw an error on Linux/Mac?
For example,
vtkWeakPointer<...> b;
…
vtkSmartPointer<… > a = b;
Seems to work fine on Windows but fails to build on Linux/Mac (https://github.com/Slicer/Slicer/commit/8fdb84d8ca10fee270688ec3a7aa10407c02b418#commitcomment-33060893). Either behavior would be OK, but it should be consistent across major compiler versions.