title: How does the Lua mutate assignment patch work?
body: <p>I followed <a href="http://lua-users.org/files/wiki_insecure/power_patches/5.1-work6/mutate.patch" rel="nofollow">this page</a>, and got an metamethod __mutate_asn. This is my test code.</p>
  
  <pre><code>local mt = {}
  mt.__mutate_asn = function(a, b)
      print(a, b)
      return a + b
  end
  
  debug.setmetatable(0, mt)
  
  a = 1
  b = 2
  a:=b
  
  print(a)
  </code></pre>
  
  <p>output:
      1 2
      1
  "a" never be changed.</p>