Skip to content

0.5.2 — a namespace segment is derived by path arithmetic

Latest

Choose a tag to compare

@Sunrisepeak Sunrisepeak released this 08 Sep 17:31
· 1 commit to main since this release
45a0443

The island fixture, run on windows-2022 for the first time, failed to compile with no member named 'image' in namespace 'island_interface::kernels'. The same fixture passes on Linux and macOS.

namespace_of trimmed the base directory off a file's directory as a string. On Windows the two spellings differ even when the paths are the same: a caller states a root with forward slashes, directory_iterator appends with the preferred separator, so the leftover was \image rather than image. Iterating that yields the root directory as its first component, the sanitiser turns it into _, and the entry point landed in island_interface::kernels::_::image.

lexically_relative compares components, so the separator a caller happened to write is not part of the question.

The shader lane had this too. namespace_of is shared by both lanes since 0.5.0, and rules-spirv's Windows fixture keeps every payload in one directory, so a namespace segment was never derived there.

The island fixture now builds and asserts its namespaces on macOS and Windows as well as Linux, and a step asserts that the derivation exists once so that run keeps protecting both lanes.

The floor does not move: mcpp 2026.9.8.1.