• Dridi Boukelmoune's avatar
    Defer the illegal write check a bit · ed36b638
    Dridi Boukelmoune authored
    After the initial discussion from #3163, and looking more closely at how
    variable access is handled in subroutines I noticed a discrepancy.
    
    Setting a read only variable like obj.ttl in vcl_recv would result in
    a misleading error message explaining that it is read only, instead of
    simply not available.
    
    This change defers the illegal write check, registering unconditionally
    that the symbol was used in a set action. As a result we always get the
    correct error message but depending on whether this is happening in a
    vcl_ or custom subroutine we may either get "in subroutine" or "from
    subroutine" in the error message. A minor discrepancy probably worth
    getting rid of the prior inconsistency.
    
    This is covered by the v21 test case.
    ed36b638
v00021.vtc 3.76 KB