summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorTimothee Cour <timothee.cour2@gmail.com>2021-01-20 01:49:59 -0800
committerGitHub <noreply@github.com>2021-01-20 10:49:59 +0100
commit4fc7fcb775140dc774a713063917fbf7d1392bdf (patch)
treeffb29f080816cc85e7a47a96cde8e79945d023a8 /tests
parent2bedb0fe2c38424a53ec7376c05db09090af9f93 (diff)
downloadNim-4fc7fcb775140dc774a713063917fbf7d1392bdf.tar.gz
`--hintAsError` (#16763)
* --hintAsError

* add test, changelog

* condsyms
Diffstat (limited to 'tests')
-rw-r--r--tests/misc/twarningaserror.nim35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/misc/twarningaserror.nim b/tests/misc/twarningaserror.nim
new file mode 100644
index 000000000..6f7b76095
--- /dev/null
+++ b/tests/misc/twarningaserror.nim
@@ -0,0 +1,35 @@
+discard """
+  joinable: false
+"""
+
+#[
+tests: hintAsError, warningAsError
+]#
+
+template fn1 =
+  {.hintAsError[ConvFromXtoItselfNotNeeded]:on.}
+  proc fn(a: string) = discard a.string
+  {.hintAsError[ConvFromXtoItselfNotNeeded]:off.}
+
+template fn2 =
+  {.hintAsError[ConvFromXtoItselfNotNeeded]:on.}
+  proc fn(a: string) = discard a
+  {.hintAsError[ConvFromXtoItselfNotNeeded]:off.}
+
+template gn1 =
+  {.warningAsError[ProveInit]:on.}
+  proc fn(): var int = discard
+  discard fn()
+  {.warningAsError[ProveInit]:off.}
+
+template gn2 =
+  {.warningAsError[ProveInit]:on.}
+  proc fn(): int = discard
+  discard fn()
+  {.warningAsError[ProveInit]:off.}
+
+doAssert not compiles(fn1())
+doAssert compiles(fn2())
+
+doAssert not compiles(gn1())
+doAssert compiles(gn2())