No. Lo que tienes es const
y immutable
, y son transitivos (que en realidad no funcionarían si no lo fueron). Usted puede hacer
const(int)[] a = [0];
a[0] = 1; // ERROR.
a = []; // OK;
Pero no es lo que está buscando.
El compilador puede ofrecer mejores garantías cuando const
y immutable
son transitivos. Además, immutable
realmente no sirve para enhebrar (una de sus razones principales para existir) a menos que sea transitivo, y porque cualquier cosa que sea immutable
debe poder ser const
, const
debe ser transitiva también. Por lo tanto, por necesidad, no se pueden usar simplemente para proteger contra la reasignación variable. Y no hay otros constructos en el lenguaje para hacerlo.