* warnDuplicateModuleImport => hintDuplicateModuleImport * improve DuplicateModuleImport msg, add test
This commit is contained in:
parent
1b9b806007
commit
0b7361e938
14 changed files with 186 additions and 25 deletions
76
tests/pragmas/mused3.nim
Normal file
76
tests/pragmas/mused3.nim
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
#[
|
||||
ran from trunner
|
||||
]#
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# line 10
|
||||
when defined case1:
|
||||
from mused3a import nil
|
||||
from mused3b import nil
|
||||
mused3a.fn1()
|
||||
|
||||
when defined case2:
|
||||
from mused3a as m1 import nil
|
||||
m1.fn1()
|
||||
|
||||
when defined case3:
|
||||
from mused3a import fn1
|
||||
fn1()
|
||||
|
||||
when defined case4:
|
||||
from mused3a as m1 import fn1
|
||||
m1.fn1()
|
||||
|
||||
when defined case5:
|
||||
import mused3a as m1
|
||||
fn1()
|
||||
|
||||
when defined case6:
|
||||
import mused3a except nonexistent
|
||||
fn1()
|
||||
|
||||
when defined case7:
|
||||
import mused3a
|
||||
mused3a.fn1()
|
||||
|
||||
when defined case8:
|
||||
# re-export test
|
||||
import mused3a except nonexistent
|
||||
gn1()
|
||||
|
||||
when defined case9:
|
||||
# re-export test
|
||||
import mused3a
|
||||
gn1()
|
||||
|
||||
when defined case10:
|
||||
#[
|
||||
edge case which happens a lot in compiler code:
|
||||
don't report UnusedImport for mused3b here even though it works without `import mused3b`,
|
||||
because `a.b0.f0` is accessible from both mused3a and mused3b (fields are given implicit access)
|
||||
]#
|
||||
import mused3a
|
||||
import mused3b
|
||||
var a: Bar
|
||||
discard a.b0.f0
|
||||
|
||||
when false:
|
||||
when defined case11:
|
||||
#[
|
||||
xxx minor bug: this should give:
|
||||
Warning: imported and not used: 'm2' [UnusedImport]
|
||||
but doesn't, because currently implementation in `markOwnerModuleAsUsed`
|
||||
only looks at `fn1`, not fully qualified call `m1.fn1()
|
||||
]#
|
||||
from mused3a as m1 import nil
|
||||
from mused3a as m2 import nil
|
||||
m1.fn1()
|
||||
|
||||
when defined case12:
|
||||
import mused3a
|
||||
import mused3a
|
||||
fn1()
|
||||
Loading…
Add table
Add a link
Reference in a new issue