summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorJuan Carlos <juancarlospaco@gmail.com>2021-08-03 13:16:33 -0300
committerGitHub <noreply@github.com>2021-08-03 09:16:33 -0700
commit6563a685c1076cb5342f65d192b8f2a983220dba (patch)
treeab49d81de24b179ffa2ae09ef0a2790271e5d1c7
parentc0abdaa2b4587526f235ef41186e84c4f87813e1 (diff)
downloadNim-6563a685c1076cb5342f65d192b8f2a983220dba.tar.gz
Documentation only, add 1 example (#18633)
-rw-r--r--doc/manual_experimental.rst18
1 files changed, 18 insertions, 0 deletions
diff --git a/doc/manual_experimental.rst b/doc/manual_experimental.rst
index 22db184a8..3272a4d0d 100644
--- a/doc/manual_experimental.rst
+++ b/doc/manual_experimental.rst
@@ -1157,6 +1157,24 @@ the ordinary AST predicates:
     a = b
     inc a, c
 
+Another example:
+
+.. code-block:: nim
+  proc somefunc(s: string)                 = assert s == "variable"
+  proc somefunc(s: string{nkStrLit})       = assert s == "literal"
+  proc somefunc(s: string{nkRStrLit})      = assert s == r"raw"
+  proc somefunc(s: string{nkTripleStrLit}) = assert s == """triple"""
+  proc somefunc(s: static[string])         = assert s == "constant"
+
+  # Use parameter constraints to provide overloads based on both the input parameter type and form.
+  var variable = "variable"
+  somefunc(variable)
+  const constant = "constant"
+  somefunc(constant)
+  somefunc("literal")
+  somefunc(r"raw")
+  somefunc("""triple""")
+
 
 Pattern operators
 -----------------