mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-20 22:35:24 +00:00
@@ -1845,6 +1845,13 @@ proc typeSectionFinalPass(c: PContext, n: PNode) =
|
||||
let baseType = s.typ.safeSkipTypes(abstractPtrs)
|
||||
if baseType.kind in {tyObject, tyTuple} and not baseType.n.isNil:
|
||||
checkForMetaFields(c, baseType.n, hasError)
|
||||
|
||||
if s.typ.kind in {tySet, tyArray, tySequence, tyUncheckedArray} and s.typ.elementType.kind == tyNone:
|
||||
# magic generics are not filled but tyNone is added to its elements by default,
|
||||
# we lift them to tyBuiltInTypeClass here
|
||||
s.typ = newTypeS(tyBuiltInTypeClass, c,
|
||||
newTypeS(s.typ.kind, c))
|
||||
|
||||
if not hasError:
|
||||
checkConstructedType(c.config, s.info, s.typ)
|
||||
#instAllTypeBoundOp(c, n.info)
|
||||
|
||||
@@ -116,3 +116,13 @@ block:
|
||||
s(something)
|
||||
s(otherthing, something)
|
||||
s(something, otherthing)
|
||||
|
||||
block:
|
||||
type
|
||||
Test = set
|
||||
Test2 = seq
|
||||
Test3 = array
|
||||
|
||||
doAssert set is Test
|
||||
doAssert seq is Test2
|
||||
doAssert array is Test3
|
||||
|
||||
Reference in New Issue
Block a user