Merge pull request #7045 from GULPF/fmt-str-fallback

Add additional $ fallback to fmt
This commit is contained in:
Dominik Picheta
2018-01-09 16:22:38 +00:00
committed by GitHub
2 changed files with 16 additions and 1 deletions

View File

@@ -221,8 +221,10 @@ template callFormat(res, arg) {.dirty.} =
template callFormatOption(res, arg, option) {.dirty.} =
when compiles(format(arg, option, res)):
format(arg, option, res)
else:
elif compiles(format(arg, option)):
res.add format(arg, option)
else:
format($arg, option, res)
macro fmt*(pattern: string{lit}): untyped =
## For a specification of the ``fmt`` macro, see the module level documentation.

View File

@@ -0,0 +1,13 @@
discard """
action: "run"
"""
import strformat
type Obj = object
proc `$`(o: Obj): string = "foobar"
var o: Obj
doAssert fmt"{o}" == "foobar"
doAssert fmt"{o:10}" == "foobar "