diff options
author | Araq <rumpf_a@web.de> | 2015-04-22 20:25:11 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2015-04-22 20:25:11 +0200 |
commit | bcd8053b2309ab33240cf73c280f73699c59ea1d (patch) | |
tree | dd739508b4ef6a13ea178fe61e42723142ff31b3 /compiler/semdata.nim | |
parent | 13c5f792dce81c89e0578c7aa296928ada6b9eb4 (diff) | |
download | Nim-bcd8053b2309ab33240cf73c280f73699c59ea1d.tar.gz |
fixes #2585
Diffstat (limited to 'compiler/semdata.nim')
-rw-r--r-- | compiler/semdata.nim | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/compiler/semdata.nim b/compiler/semdata.nim index 1c2720006..345a8c0d1 100644 --- a/compiler/semdata.nim +++ b/compiler/semdata.nim @@ -118,7 +118,6 @@ proc newOptionEntry*(): POptionEntry proc newLib*(kind: TLibKind): PLib proc addToLib*(lib: PLib, sym: PSym) proc makePtrType*(c: PContext, baseType: PType): PType -proc makeVarType*(c: PContext, baseType: PType): PType proc newTypeS*(kind: TTypeKind, c: PContext): PType proc fillTypeS*(dest: PType, kind: TTypeKind, c: PContext) @@ -213,9 +212,12 @@ proc makePtrType(c: PContext, baseType: PType): PType = result = newTypeS(tyPtr, c) addSonSkipIntLit(result, baseType.assertNotNil) -proc makeVarType(c: PContext, baseType: PType): PType = - result = newTypeS(tyVar, c) - addSonSkipIntLit(result, baseType.assertNotNil) +proc makeVarType*(c: PContext, baseType: PType): PType = + if baseType.kind == tyVar: + result = baseType + else: + result = newTypeS(tyVar, c) + addSonSkipIntLit(result, baseType.assertNotNil) proc makeTypeDesc*(c: PContext, typ: PType): PType = result = newTypeS(tyTypeDesc, c) |