Currently, index chain parsing is always marking the entire chain as a function call if a function call is present anywhere. This means that the following fails to parse because the assignment is viewed as a function call:
local a = { b = 1, c = {} }
a.b = () => self.c
a:b().d = 2
Currently, index chain parsing is always marking the entire chain as a function call if a function call is present anywhere. This means that the following fails to parse because the assignment is viewed as a function call: