parent
1074cc1fb9
commit
ac0f986008
2 changed files with 28 additions and 1 deletions
|
|
@ -828,7 +828,7 @@ proc genCheckedRecordField(p: BProc, e: PNode, d: var TLoc) =
|
||||||
if optFieldCheck in p.options:
|
if optFieldCheck in p.options:
|
||||||
var a: TLoc
|
var a: TLoc
|
||||||
genRecordFieldAux(p, e.sons[0], d, a)
|
genRecordFieldAux(p, e.sons[0], d, a)
|
||||||
let ty = skipTypes(a.t, abstractInst)
|
let ty = skipTypes(a.t, abstractInst + tyUserTypeClasses)
|
||||||
var r = rdLoc(a)
|
var r = rdLoc(a)
|
||||||
let f = e.sons[0].sons[1].sym
|
let f = e.sons[0].sons[1].sym
|
||||||
let field = lookupFieldAgain(p, ty, f, r)
|
let field = lookupFieldAgain(p, ty, f, r)
|
||||||
|
|
|
||||||
27
tests/concepts/t6770.nim
Normal file
27
tests/concepts/t6770.nim
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
discard """
|
||||||
|
output: '''
|
||||||
|
10
|
||||||
|
10
|
||||||
|
'''
|
||||||
|
"""
|
||||||
|
|
||||||
|
type GA = concept c
|
||||||
|
c.a is int
|
||||||
|
|
||||||
|
type A = object
|
||||||
|
a: int
|
||||||
|
|
||||||
|
type AA = object
|
||||||
|
case exists: bool
|
||||||
|
of true:
|
||||||
|
a: int
|
||||||
|
else:
|
||||||
|
discard
|
||||||
|
|
||||||
|
proc print(inp: GA) =
|
||||||
|
echo inp.a
|
||||||
|
|
||||||
|
let failing = AA(exists: true, a: 10)
|
||||||
|
let working = A(a:10)
|
||||||
|
print(working)
|
||||||
|
print(failing)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue