This code:
(: (foo) (bar))
Currently compiles to
return (function(tgt, m, ...) return tgt[m](tgt, ...) end)(foo(), bar())
but could compile to something like:
local tgt_1_ = foo()
local m_2_ = bar()
return tgt_1_[m_2_](tgt_1_)
Added in 65b1e0310e848203e21cfaf6d0e1398b5a038192! Thanks.