Skip to content

Commit 49b70b6

Browse files
committed
fix: name matching for default-ns deps + forbidden module name in test
- Name check in SemVer merge path now also accepts the map key name (handles synthesize_from_xpkg_lua setting composite package.name) - Rename test module from 'util' to 'acme.util' (util is a forbidden top-level name since 0.0.10)
1 parent 401462a commit 49b70b6

2 files changed

Lines changed: 9 additions & 8 deletions

File tree

src/cli.cppm

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1667,14 +1667,15 @@ prepare_build(bool print_fingerprint,
16671667
{
16681668
const std::string& expectedShort =
16691669
spec.shortName.empty() ? name : spec.shortName;
1670-
std::string expectedComposite;
1671-
if (!spec.namespace_.empty()
1672-
&& spec.namespace_ != mcpp::manifest::kDefaultNamespace) {
1673-
expectedComposite = std::format("{}.{}",
1674-
spec.namespace_, expectedShort);
1675-
}
1670+
// Also accept the fully-qualified form (ns.short) since
1671+
// synthesize_from_xpkg_lua may set package.name to the
1672+
// composite name for backward compat.
1673+
auto expectedComposite = spec.namespace_.empty()
1674+
? std::string{}
1675+
: std::format("{}.{}", spec.namespace_, expectedShort);
16761676
const bool nameOk =
16771677
newManifest.package.name == expectedShort
1678+
|| newManifest.package.name == name
16781679
|| (!expectedComposite.empty()
16791680
&& newManifest.package.name == expectedComposite);
16801681
if (!nameOk) {

tests/e2e/27_namespace_dependencies.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ cd "$TMP/util-pkg"
1717
cd util
1818
rm -f src/main.cpp
1919
cat > src/util.cppm <<'EOF'
20-
export module util;
20+
export module acme.util;
2121
import std;
2222
export int answer() { return 42; }
2323
EOF
@@ -38,7 +38,7 @@ cd "$TMP/app"
3838
cd app
3939
cat > src/main.cpp <<'EOF'
4040
import std;
41-
import util;
41+
import acme.util;
4242
int main() { std::println("answer = {}", answer()); return answer() == 42 ? 0 : 1; }
4343
EOF
4444
cat > mcpp.toml <<EOF

0 commit comments

Comments
 (0)