Merge pull request #1574 from trustable-code/PR3

Do not allow self import
This commit is contained in:
Andreas Rumpf 2014-10-20 01:20:39 +02:00
commit b29c0da7b5
2 changed files with 12 additions and 2 deletions

View file

@ -159,6 +159,8 @@ proc myImportModule(c: PContext, n: PNode): PSym =
var f = checkModuleName(n) var f = checkModuleName(n)
if f != InvalidFileIDX: if f != InvalidFileIDX:
result = importModuleAs(n, gImportModule(c.module, f)) result = importModuleAs(n, gImportModule(c.module, f))
if result.info.fileIndex == n.info.fileIndex:
localError(n.info, errGenerated, "A module cannot import itself")
if sfDeprecated in result.flags: if sfDeprecated in result.flags:
message(n.info, warnDeprecated, result.name.s) message(n.info, warnDeprecated, result.name.s)

View file

@ -0,0 +1,8 @@
discard """
file: "tselfimport.nim"
line: 6
errormsg: "A module cannot import itself"
"""
import tselfimport #ERROR
echo("Hello World")