Pass 7Sub-Pass: Borrow Checker

Memory Safety & Borrow Checker

Sicherstellung von Memory-Safety ohne Garbage Collection. VelinScript führt eine fortschrittliche Lifetime-Analyse für asynchrone Grenzen ein, integriert in den TypeCheckPass.

Ownership & Lifetimes

Der Borrow Checker ist Teil des siebten Passes. Er garantiert, dass keine Use-After-Free Fehler, Data Races oder Dangling Pointers im generierten Code existieren.

Owned

Variable besitzt den Wert (move semantics). Ein Move überträgt die Verantwortung für die Deallokation.

Borrowed (&T)

Unveränderliche Referenz. Beliebig viele parallele Reads sind erlaubt, aber kein Write.

BorrowedMut (&mut T)

Veränderliche Referenz. Exklusiver Zugriff (kein Read/Write durch andere Referenzen möglich).

Shared (shared<T>)

Shared Ownership (Reference Counting). Sicherer Zugriff über Thread-Grenzen hinweg.

Async Boundary Check

VelinScript implementiert eine spezielle Analyse für await-Calls. Der Compiler verhindert, dass lokale Referenzen über asynchrone Grenzen hinweg gehalten werden, wenn sie nicht sicher sind.

Sicherheits-Audit

Verhindert Use-After-Free bei asynchronen Operationen durch strikte Lifetime-Erzwingung an Suspension-Points.