diff options
author | nc-x <neelesh.chandola@outlook.com> | 2019-08-17 23:15:47 +0530 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2019-08-17 19:45:47 +0200 |
commit | b68380f09b1926f4aea89b14b52bb442d5b002de (patch) | |
tree | 26c122e1f947888bc9b311c02d448be70d50c7a3 | |
parent | db9e27dffd266c0a69ac3d3544fb9aa563676096 (diff) | |
download | Nim-b68380f09b1926f4aea89b14b52bb442d5b002de.tar.gz |
fixes #11872; include now gives a proper error message for all invalid infix operators (#11965)
-rw-r--r-- | compiler/semstmts.nim | 2 | ||||
-rw-r--r-- | tests/modules/tincludeas.nim | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/compiler/semstmts.nim b/compiler/semstmts.nim index ba88a6359..07aaf0eca 100644 --- a/compiler/semstmts.nim +++ b/compiler/semstmts.nim @@ -2035,6 +2035,8 @@ proc evalInclude(c: PContext, n: PNode): PNode = for i in 0 ..< sonsLen(n): var imp: PNode let it = n.sons[i] + if it.kind == nkInfix and it.len == 3 and it[0].ident.s != "/": + localError(c.config, it.info, "Cannot use '" & it[0].ident.s & "' in 'include'.") if it.kind == nkInfix and it.len == 3 and it[2].kind == nkBracket: let sep = it[0] let dir = it[1] diff --git a/tests/modules/tincludeas.nim b/tests/modules/tincludeas.nim new file mode 100644 index 000000000..b82e38b14 --- /dev/null +++ b/tests/modules/tincludeas.nim @@ -0,0 +1,6 @@ +discard """ + errormsg: "Cannot use 'as' in 'include'." + line: 6 +""" + +include foobar as foo |