In Ada kann man einen Record-Typ auch als limitiert deklarieren. Damit erreicht man, daß es nicht möglich ist, einer Variablen dieses Typs einen Wert mittels der gewöhnlichen Zuweisung zuzuweisen. Außerdem ist dann die gewöhnliche Vergleichsoperation unterbunden, das heißt, man kann zwei Objekte eines limitierten Typs nicht mehr auf Gleichheit überprüfen. Vielmehr müssen dann Operationen vom Programmierer angeboten werden, mit denen Zuweisung und/oder Vergleich realisiert werden. Ein Beispiel ist
type t is limited
v1 := v2;
if v1 = v2 then
Daher kennt Ada zusätzlich zu den private types , wie der oben angeführte, für die die für sie definierten Operationen und die vordefinierten Operationen der Zuweisung und der Gleichheit und Ungleichheit gelten, dann auch noch sogenannte limited private types (dabei würde limited in obigem Programm-Code zwischen den Schlüsselwörtern is und private stehen), bei denen die vordefinierten Operationen der Zuweisung und der Gleichheit und Ungleichheit ihre Gültigkeit verlieren. Näheres dazu findet sich im Kapitel 7.1.