diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2016-08-05 20:11:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-05 20:11:28 +0200 |
commit | df0baefb1238adccf15c18e75992c5472aa02f65 (patch) | |
tree | 0e699686e315167aeccce56fae4d292d12289b72 /compiler | |
parent | 64ce8c411e1b2d83cdc15ab8757aec738df0c963 (diff) | |
parent | e2e4df170281ca663fe023a551e2a97611a9ceca (diff) | |
download | Nim-df0baefb1238adccf15c18e75992c5472aa02f65.tar.gz |
Merge pull request #4572 from oderwat/distinct-nil
Allowing `nil` for distinct types where the base type is nilable
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/sigmatch.nim | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler/sigmatch.nim b/compiler/sigmatch.nim index 19ef8a117..7cde101cb 100644 --- a/compiler/sigmatch.nim +++ b/compiler/sigmatch.nim @@ -900,6 +900,8 @@ proc typeRel(c: var TCandidate, f, aOrig: PType, doBind = true): TTypeRelation = if sameDistinctTypes(f, a): result = isEqual elif f.base.kind == tyAnything: result = isGeneric elif c.coerceDistincts: result = typeRel(c, f.base, a) + elif a.kind == tyNil and f.base.kind in NilableTypes: + result = f.allowsNil elif c.coerceDistincts: result = typeRel(c, f.base, a) of tySet: if a.kind == tySet: |