ग्लोबल वैरिएबल को फिर से असाइन नहीं किया जा सकता. यह हमेशा एक ही ऑब्जेक्ट को पॉइंट करेगा. हालांकि, अगर मान बदला जा सकता है, तो इसकी सामग्री बदल सकती है (उदाहरण के लिए, सूची की सामग्री). स्थानीय वैरिएबल पर यह पाबंदी नहीं होती.
a = [1, 2]
a[1] = 3
b = 3
b = 4 # forbidden
ERROR: /path/ext.bzl:7:1: Variable b is read only
अगर किसी फ़ंक्शन को फिर से तय करने की कोशिश की जाती है, तो आपको मिलता-जुलता गड़बड़ी वाला मैसेज मिलेगा. जैसे, फ़ंक्शन ओवरलोड होने की सुविधा मौजूद नहीं है. उदाहरण के लिए:
def foo(x): return x + 1
def foo(x, y): return x + y # forbidden