Skip to content

Commit 291d238

Browse files
authored
test: symbol clash on private import of same def (#10915)
This PR adds a test for depending on two packages which privately import modules that define the same Lean definition. It verifies the current behavior of a symbol clash. This behavior will be fixed later this quarter.
1 parent 69e1eae commit 291d238

File tree

14 files changed

+99
-0
lines changed

14 files changed

+99
-0
lines changed

tests/pkg/def_clash/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
produced.out

tests/pkg/def_clash/TestFoo.lean

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module
2+
import FooA
3+
import FooB

tests/pkg/def_clash/TestUse.lean

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module
2+
import UseA
3+
import UseB
4+
5+
def main : IO Unit := do
6+
IO.println useA
7+
IO.println useB

tests/pkg/def_clash/clean.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
rm -rf lake-manifest.json .lake/build produced.out
2+
rm -rf deps/fooA/.lake/build deps/fooB/.lake/build deps/useA/.lake/build deps/useB/.lake/build
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module
2+
3+
public def foo : String := "fooA"
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
name = "fooA"
2+
3+
[[lean_lib]]
4+
name = "FooA"
5+
leanOptions.experimental.module = true
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module
2+
3+
public def foo : String := "fooB"
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
name = "fooB"
2+
3+
[[lean_lib]]
4+
name = "FooB"
5+
leanOptions.experimental.module = true
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module
2+
import FooA
3+
4+
public def useA : String := foo
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
name = "useA"
2+
3+
[[lean_lib]]
4+
name = "UseA"
5+
leanOptions.experimental.module = true
6+
7+
[[require]]
8+
name = "fooA"
9+
path = "../fooA"

0 commit comments

Comments
 (0)