diff options
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/sem.nim | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/compiler/sem.nim b/compiler/sem.nim index 1ced234f5..aa5928c18 100644 --- a/compiler/sem.nim +++ b/compiler/sem.nim @@ -481,15 +481,10 @@ proc forceBool(c: PContext, n: PNode): PNode = if result == nil: result = n proc semConstBoolExpr(c: PContext, n: PNode): PNode = - let nn = semExprWithType(c, n) - result = fitNode(c, getSysType(c.graph, n.info, tyBool), nn, nn.info) - if result == nil: - localError(c.config, n.info, errConstExprExpected) - return nn - result = getConstExpr(c.module, result, c.graph) - if result == nil: + result = forceBool(c, semConstExpr(c, n)) + if result.kind != nkIntLit: localError(c.config, n.info, errConstExprExpected) - result = nn + proc semGenericStmt(c: PContext, n: PNode): PNode proc semConceptBody(c: PContext, n: PNode): PNode |