mirror of
https://github.com/nim-lang/Nim.git
synced 2026-05-03 12:34:44 +00:00
add isNamedTuple; make $(1, 2) be (1, 2) instead of (Field0: 1, Field1: 2) which leaked implementation detail (#10070)
* add `isNamedTuple`; make $(1, 2) be (1, 2) instead of leaking implementation detail (Field0: 1, Field1: 2) fixes this: #8670 (comment) /cc @alehander42 @Vindaar @mratsim * Note: isNamedTuple is useful in other places, eg #10010 (comment) * move isNamedTuple to helpers.nim to avoid exposing new symbol to system.nim * remove workaround in tests/vm/tissues.nim failing test now that #10218 was makes it work
This commit is contained in:
@@ -1,16 +1,14 @@
|
||||
discard """
|
||||
nimout: "(Field0: 2, Field1: 2, Field2: 2, Field3: 2)"
|
||||
"""
|
||||
|
||||
import macros
|
||||
|
||||
block t9043:
|
||||
proc foo[N: static[int]](dims: array[N, int])=
|
||||
block t9043: # issue #9043
|
||||
proc foo[N: static[int]](dims: array[N, int]): string =
|
||||
const N1 = N
|
||||
const N2 = dims.len
|
||||
static: echo (N, dims.len, N1, N2)
|
||||
const ret = $(N, dims.len, N1, N2)
|
||||
static: doAssert ret == $(N, dims.len, N1, N2)
|
||||
ret
|
||||
|
||||
foo([1, 2])
|
||||
doAssert foo([1, 2]) == "(2, 2, 2, 2)"
|
||||
|
||||
block t4952:
|
||||
proc doCheck(tree: NimNode) =
|
||||
|
||||
Reference in New Issue
Block a user