lean4-htt/tests/pkg/mod_clash/test.sh
Mac Malone 5db4f96699
feat: lake: resolve module clashes on import (#11270)
This PR adds a module resolution procedure to Lake to disambiguate
modules that are defined in multiple packages.

On an `import`, Lake will now check if multiple packages within the
workspace define the module. If so, it will verify that modules have
sufficiently similar definitions (i.e., artifacts with the same content
hashes). If not, Lake will report an error.

This verification is currently only done for direct imports. Transitive
imports are not checked for consistency. An overhaul of transitive
imports will come later.
2025-12-03 00:46:20 +00:00

17 lines
574 B
Bash
Executable file

#!/usr/bin/env bash
source ../../lake/tests/common.sh
# This test covers importing modules which are defined in multiple packages
# (with the same original package name).
./clean.sh
test_run resolve-deps
# Test that importing a module with multiple identical candidates works
test_run build Test.ImportSame
# Test that importing a module with multiple sufficiently similar candidates works
test_run build Test.ImportSimilar
# Test that importing a module with multiple distinct candidates fails
test_err 'could not disambiguate the module `Diff`' build Test.ImportDiff