Phase 8.2 foundation: @[Checked] attr, &T refs, own keyword — gradual ownership syntax

This commit is contained in:
2026-05-31 13:39:20 +03:00
parent f71c034d9e
commit 3949a2f91e
11 changed files with 67 additions and 7 deletions
+5 -1
View File
@@ -63,7 +63,7 @@ proc typeExprReferencesTypeParam(te: TypeExpr, name: string): bool =
return false
of tekSlice:
return typeExprReferencesTypeParam(te.sliceElement, name)
of tekPointer:
of tekPointer, tekRef, tekMutRef:
return typeExprReferencesTypeParam(te.pointerPointee, name)
of tekTuple:
for elem in te.tupleElements:
@@ -172,6 +172,10 @@ proc resolveType(sema: var Sema, te: TypeExpr): Type =
return makeNamed(fullName)
of tekPointer:
return makePointer(sema.resolveType(te.pointerPointee))
of tekRef:
return makePointer(sema.resolveType(te.pointerPointee)) # &T → *T in bootstrap
of tekMutRef:
return makePointer(sema.resolveType(te.pointerPointee)) # &mut T → *T in bootstrap
of tekSlice:
let elemType = sema.resolveType(te.sliceElement)
return makeSlice(elemType)