VDE-016 (ssi_boolean.cpp): Moved SSICurveData out of anonymous namespace
into explicit vde::brep, added #include <iterator> for std::begin/end,
added using ClassResult. Fixes GCC two-phase name lookup failures.
VDE-017 (CMakeLists.txt): Changed CMAKE_SOURCE_DIR to
CMAKE_CURRENT_SOURCE_DIR in configure_file call so VDE builds
correctly as a submodule.
Both fixes were already applied in main; this commit records the
updated issue status from the feedback branch.
Root cause: GCC two-phase lookup with multiple anonymous namespaces
creates barriers that using declarations cannot cross.
Fix: Replace all unqualified SSICurveData/ClassResult with
vde::brep::SSICurveData/vde::brep::ClassResult throughout the file.
This is the only approach verified to work by ViewDesign.
Root cause: using declarations inside anonymous namespace don't propagate
to public functions defined after the anonymous namespace closes.
Fix:
- using SSICurveData; and using ClassResult; at vde::brep scope
- Remove self-referencing using vde::brep::ClassResult
- Remove duplicate using from inside anonymous namespace
Root cause: GCC two-phase lookup requires fully-qualified names
when accessing enclosing namespace types from inside anonymous namespace.
Fix: add using vde::brep::SSICurveData and using vde::brep::ClassResult
inside both anonymous namespaces in ssi_boolean.cpp
VDE-016 (High): GCC two-phase lookup — root cause is anonymous namespace
- Move SSICurveData OUT of anonymous namespace into vde::brep
- Add #include <iterator> for std::begin/end
- Add using vde::brep::ClassResult
VDE-017 (Medium): Root CMakeLists configure_file CMAKE_SOURCE_DIR
- Change to CMAKE_CURRENT_SOURCE_DIR for submodule compatibility