Semfold for nil cast (#16030)

* bring back the semfold of nil

* remove space

* fix test

* proc type can't be dereferenced
This commit is contained in:
cooldome 2020-11-18 17:19:57 +00:00 • committed by GitHub
commit 87d3e5331a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 5 deletions

View file

@ -674,7 +674,7 @@ proc getConstExpr(m: PSym, n: PNode; idgen: IdGenerator; g: ModuleGraph): PNode
of nkCast:
var a = getConstExpr(m, n[1], idgen, g)
if a == nil: return
if n.typ != nil and n.typ.kind in NilableTypes and a.kind != nkNilLit:
if n.typ != nil and n.typ.kind in NilableTypes:
# we allow compile-time 'cast' for pointer types:
result = a
result.typ = n.typ