* fixes #18565
This commit is contained in:
Andreas Rumpf 2021-07-27 09:36:19 +02:00 • committed by GitHub
commit fa0209609d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 33 additions and 12 deletions

View file

@ -2260,20 +2260,20 @@ proc semStmtList(c: PContext, n: PNode, flags: TExprFlags): PNode =
# nkNilLit, nkEmpty}:
# dec last
for i in 0..<n.len:
var expr = semExpr(c, n[i], flags)
n[i] = expr
if c.matchedConcept != nil and expr.typ != nil and
var x = semExpr(c, n[i], flags)
n[i] = x
if c.matchedConcept != nil and x.typ != nil and
(nfFromTemplate notin n.flags or i != last):
case expr.typ.kind
case x.typ.kind
of tyBool:
if expr.kind == nkInfix and
expr[0].kind == nkSym and
expr[0].sym.name.s == "==":
if expr[1].typ.isUnresolvedStatic:
inferConceptStaticParam(c, expr[1], expr[2])
if x.kind == nkInfix and
x[0].kind == nkSym and
x[0].sym.name.s == "==":
if x[1].typ.isUnresolvedStatic:
inferConceptStaticParam(c, x[1], x[2])
continue
elif expr[2].typ.isUnresolvedStatic:
inferConceptStaticParam(c, expr[2], expr[1])
elif x[2].typ.isUnresolvedStatic:
inferConceptStaticParam(c, x[2], x[1])
continue
let verdict = semConstExpr(c, n[i])