summary refs log tree commit diff stats
diff options
context:
space:
mode:
authornc-x <neelesh.chandola@outlook.com>2019-08-17 23:15:47 +0530
committerAndreas Rumpf <rumpf_a@web.de>2019-08-17 19:45:47 +0200
commitb68380f09b1926f4aea89b14b52bb442d5b002de (patch)
tree26c122e1f947888bc9b311c02d448be70d50c7a3
parentdb9e27dffd266c0a69ac3d3544fb9aa563676096 (diff)
downloadNim-b68380f09b1926f4aea89b14b52bb442d5b002de.tar.gz
fixes #11872; include now gives a proper error message for all invalid infix operators (#11965)
-rw-r--r--compiler/semstmts.nim2
-rw-r--r--tests/modules/tincludeas.nim6
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