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:
Timothee Cour 2019-01-08 18:37:25 -08:00 • committed by GitHub
commit 6ce3949c8a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 113 additions and 23 deletions

View file

@ -9,9 +9,9 @@ import lists
import critbits
# Tests for tuples
doAssert $(1, 2, 3) == "(Field0: 1, Field1: 2, Field2: 3)"
doAssert $("1", "2", "3") == """(Field0: "1", Field1: "2", Field2: "3")"""
doAssert $('1', '2', '3') == """(Field0: '1', Field1: '2', Field2: '3')"""
doAssert $(1, 2, 3) == "(1, 2, 3)"
doAssert $("1", "2", "3") == """("1", "2", "3")"""
doAssert $('1', '2', '3') == """('1', '2', '3')"""
# Tests for seqs
doAssert $(@[1, 2, 3]) == "@[1, 2, 3]"