mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-19 05:50:30 +00:00
Merge pull request #7045 from GULPF/fmt-str-fallback
Add additional $ fallback to fmt
This commit is contained in:
@@ -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.
|
||||
|
||||
13
tests/stdlib/tstrformat.nim
Normal file
13
tests/stdlib/tstrformat.nim
Normal 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 "
|
||||
Reference in New Issue
Block a user