summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2023-08-22 21:01:08 +0200
committerGitHub <noreply@github.com>2023-08-22 21:01:08 +0200
commit6b04d0395ab1d6d8efa7d287c73da2c7230800c9 (patch)
tree783895f21bd5f6a4acda6bf5e1a43135ff9fa3ab
parenta26ccb34768fdaceff2cf4d27aee4c830fd47303 (diff)
downloadNim-6b04d0395ab1d6d8efa7d287c73da2c7230800c9.tar.gz
allow tuples and procs in 'toTask' + minor things (#22530)
-rw-r--r--lib/pure/strscans.nim4
-rw-r--r--lib/std/tasks.nim2
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/pure/strscans.nim b/lib/pure/strscans.nim
index 775c4244a..0b23abc28 100644
--- a/lib/pure/strscans.nim
+++ b/lib/pure/strscans.nim
@@ -172,7 +172,7 @@ The parsing is performed with the help of 3 helper templates that that can be
 implemented for a custom type.
 
 These templates need to be named ``atom`` and ``nxt``. ``atom`` should be
-overloaded to handle both single characters and sets of character.
+overloaded to handle both `char` and `set[char]`.
 
   ```nim
   import std/streams
@@ -472,7 +472,7 @@ macro scanf*(input: string; pattern: static[string]; results: varargs[typed]): b
 
 macro scanTuple*(input: untyped; pattern: static[string]; matcherTypes: varargs[untyped]): untyped {.since: (1, 5).}=
   ## Works identically as scanf, but instead of predeclaring variables it returns a tuple.
-  ## Tuple is started with a bool which indicates if the scan was successful 
+  ## Tuple is started with a bool which indicates if the scan was successful
   ## followed by the requested data.
   ## If using a user defined matcher, provide the types in order they appear after pattern:
   ## `line.scanTuple("${yourMatcher()}", int)`
diff --git a/lib/std/tasks.nim b/lib/std/tasks.nim
index 6a4b2bb6d..9eb7c97c4 100644
--- a/lib/std/tasks.nim
+++ b/lib/std/tasks.nim
@@ -173,7 +173,7 @@ macro toTask*(e: typed{nkCall | nkInfix | nkPrefix | nkPostfix | nkCommand | nkC
         # passing by static parameters
         # so we pass them directly instead of passing by scratchObj
         callNode.add nnkExprEqExpr.newTree(formalParams[i][0], e[i])
-      of nnkSym, nnkPtrTy:
+      of nnkSym, nnkPtrTy, nnkProcTy, nnkTupleConstr:
         addAllNode(param, e[i])
       of nnkCharLit..nnkNilLit:
         callNode.add nnkExprEqExpr.newTree(formalParams[i][0], e[i])