summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--compiler/semexprs.nim3
-rw-r--r--tests/modules/mexport2a.nim2
-rw-r--r--tests/modules/mexport2b.nim2
-rw-r--r--tests/modules/texport2.nim3
4 files changed, 7 insertions, 3 deletions
diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim
index 287a11b33..1ceec7fbe 100644
--- a/compiler/semexprs.nim
+++ b/compiler/semexprs.nim
@@ -1943,8 +1943,7 @@ proc semExport(c: PContext, n: PNode): PNode =
     var o: TOverloadIter
     var s = initOverloadIter(o, c, a)
     if s == nil:
-      localError(a.info, errGenerated, "invalid expr for 'export': " &
-          renderTree(a))
+      localError(a.info, errGenerated, "cannot export: " & renderTree(a))
     elif s.kind == skModule:
       # forward everything from that module:
       strTableAdd(c.module.tab, s)
diff --git a/tests/modules/mexport2a.nim b/tests/modules/mexport2a.nim
index deaef8fa4..3cf84337e 100644
--- a/tests/modules/mexport2a.nim
+++ b/tests/modules/mexport2a.nim
@@ -3,3 +3,5 @@ import mexport2b
 export mexport2b
 proc printAbc*() = echo "abc"
 
+proc foo*() = echo "A.foo"
+
diff --git a/tests/modules/mexport2b.nim b/tests/modules/mexport2b.nim
index 8ea6085de..1af034133 100644
--- a/tests/modules/mexport2b.nim
+++ b/tests/modules/mexport2b.nim
@@ -1 +1,3 @@
 proc printXyz*() = echo "xyz"
+
+proc foo*(x: int) = echo "B.foo"
diff --git a/tests/modules/texport2.nim b/tests/modules/texport2.nim
index 0826eec9d..6e55873c5 100644
--- a/tests/modules/texport2.nim
+++ b/tests/modules/texport2.nim
@@ -1,4 +1,4 @@
-# bug #1595
+# bug #1595, #1612
 
 import mexport2a
 
@@ -8,3 +8,4 @@ proc main() =
   printXyz()
 
 main()
+foo(3)