diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2018-09-18 09:37:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-18 09:37:39 +0200 |
commit | 597acad507f1acc8a50e9e98d83328a4c4dd8bda (patch) | |
tree | 4f8a554bd4d26e42788374fdc314930bc01c2983 | |
parent | c661f8e1be24a4d3d4b9cf8a544e2a3cdca87593 (diff) | |
parent | 72a65c43a738b7d99d8e345b169c37b3de96014d (diff) | |
download | Nim-597acad507f1acc8a50e9e98d83328a4c4dd8bda.tar.gz |
Merge pull request #8937 from Vindaar/fixes-8925
fix #8925 by using `getTypeInst` instead of `getType`
-rw-r--r-- | lib/pure/strscans.nim | 4 | ||||
-rw-r--r-- | tests/stdlib/t8925.nim | 16 |
2 files changed, 18 insertions, 2 deletions
diff --git a/lib/pure/strscans.nim b/lib/pure/strscans.nim index 734317e67..77763ff43 100644 --- a/lib/pure/strscans.nim +++ b/lib/pure/strscans.nim @@ -317,8 +317,8 @@ macro scanf*(input: string; pattern: static[string]; results: varargs[typed]): b template at(s: string; i: int): char = (if i < s.len: s[i] else: '\0') template matchError() = - error("type mismatch between pattern '$" & pattern[p] & "' (position: " & $p & ") and " & repr(getType(results[i])) & - " var '" & repr(results[i]) & "'") + error("type mismatch between pattern '$" & pattern[p] & "' (position: " & $p & + ") and " & $getTypeInst(results[i]) & " var '" & repr(results[i]) & "'") var i = 0 var p = 0 diff --git a/tests/stdlib/t8925.nim b/tests/stdlib/t8925.nim new file mode 100644 index 000000000..d3dc1ea86 --- /dev/null +++ b/tests/stdlib/t8925.nim @@ -0,0 +1,16 @@ +discard """ + file: "strscans.nim" + errormsg: "type mismatch between pattern '$i' (position: 1) and HourRange var 'hour'" +""" + +import strscans + +type + HourRange = range[0..23] + +var + hour: HourRange + timeStr: string + +if scanf(timeStr, "$i", hour): + discard |