Fixed generic distinct conversions for 'var' (#18837)

* SameTypeAux now properly traverses generic distincts

* Smarter traversal of distincts

* Removed redundant check

* Fixed nkConv for jsgen

* Added test for non distinct nkConv

* using skiptypes for distinct now

* Fixed genaddr for nkconv
This commit is contained in:
Jason Beetham 2021-10-26 03:27:11 -06:00 • committed by GitHub
commit 83a2515af7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 104 additions and 67 deletions

View file

@ -8,6 +8,7 @@ false
false
false
Foo
foo
'''
"""
@ -140,6 +141,22 @@ block tRequiresInit:
let s = "test"
doAssert s == "test"
block: #17322
type
A[T] = distinct string
proc foo(a: var A) =
a.string.add "foo"
type
B = distinct A[int]
var b: B
foo(A[int](b))
echo A[int](b).string
b.string.add "bar"
assert b.string == "foobar"
type Foo = distinct string
template main() =