You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(manifest): the emptiness predicate is a free function, as its sibling is
Windows CI reported `test_modgraph.cpp` failing to compile with
optional:262: error: no matching constructor for initialization of
'_SMF_control<_Optional_construct_base<basic_string<char,...>>, ...>'
against `types.cppm`'s `Profile`, a struct this change never touched. The chain
is `Manifest` -> `std::map<std::string, Profile>` -> `Profile`'s
`std::optional<std::string>`, and that member's own comment already records the
same breakage under clang with the MSVC standard library on an earlier occasion.
The cause was making the new emptiness predicate an inline MEMBER of two structs
this module exports: that changes what importers materialise from its BMI, and
what it materialised here was a copy constructor that does not compile. `append`,
the operation this one is the sibling of, has been a free function since it was
written. `is_empty` now matches it, and BuildInputs and ConditionalConfig have
exactly the member sets they had before.
Also records where the four new e2e tests run. All declare `# requires: gcc`,
which `run_all.sh` grants only on Linux, so the end-to-end leg is Linux-only and
the cross-dialect coverage -- including the MSVC `/ifcOutput` spelling that no
Linux runner can reach -- is in the unit tests, which run everywhere.
0 commit comments