Genel değişken yeniden atanamaz. Her zaman aynı nesneye işaret eder. Bununla birlikte, değer değişebilirse (örneğin, liste içeriği) içeriği değişebilir. Yerel kısıtlamalarda böyle bir kısıtlama yoktur.
a = [1, 2]
a[1] = 3
b = 3
b = 4 # forbidden
ERROR: /path/ext.bzl:7:1: Variable b is read only
Bir işlevi yeniden tanımlamaya çalışırsanız benzer bir hata alırsınız (işlev aşırı yüklemesi desteklenmez). Örneğin:
def foo(x): return x + 1
def foo(x, y): return x + y # forbidden