diff --git a/lib/pure/strformat.nim b/lib/pure/strformat.nim index e12ca3c896..19fbf8ab30 100644 --- a/lib/pure/strformat.nim +++ b/lib/pure/strformat.nim @@ -513,14 +513,6 @@ template formatValue(result: var string; value: char; specifier: string) = template formatValue(result: var string; value: cstring; specifier: string) = result.add value -proc formatValue(result: var string; value: (array|seq|openArray); specifier: string) = - result.add "[" - for i, it in value: - if i != 0: - result.add ", " - result.formatValue(it, specifier) - result.add "]" - macro `&`*(pattern: string): untyped = ## For a specification of the ``&`` macro, see the module level documentation. if pattern.kind notin {nnkStrLit..nnkTripleStrLit}: diff --git a/tests/stdlib/tstrformat.nim b/tests/stdlib/tstrformat.nim index 86125ca00f..ec74323d32 100644 --- a/tests/stdlib/tstrformat.nim +++ b/tests/stdlib/tstrformat.nim @@ -65,6 +65,14 @@ doAssert fmt"{0.0: g}" == " 0" let data1 = [1'i64, 10000'i64, 10000000'i64] let data2 = [10000000'i64, 100'i64, 1'i64] +proc formatValue(result: var string; value: (array|seq|openArray); specifier: string) = + result.add "[" + for i, it in value: + if i != 0: + result.add ", " + result.formatValue(it, specifier) + result.add "]" + doAssert fmt"data1: {data1:8} #" == "data1: [ 1, 10000, 10000000] #" doAssert fmt"data2: {data2:8} =" == "data2: [10000000, 100, 1] ="