خطا: متغیر x فقط خواندنی است

یک متغیر سراسری قابل تخصیص مجدد نیست. همیشه به همان شی اشاره خواهد کرد. با این حال، اگر مقدار قابل تغییر باشد (مثلاً محتوای یک لیست)، محتوای آن ممکن است تغییر کند. متغیرهای محلی این محدودیت را ندارند.

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