diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2021-06-14 13:28:21 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2021-06-14 13:28:21 -0300 |
commit | 04e19712a5d48b84869f9942836ff8314fb0be8e (patch) | |
tree | 75aab8dff5bdf07026080eba0189e4025ec3b7ee /testes/coroutine.lua | |
parent | 901d76009346d76996679c02deee708bf225e91e (diff) | |
download | lua-04e19712a5d48b84869f9942836ff8314fb0be8e.tar.gz lua-04e19712a5d48b84869f9942836ff8314fb0be8e.tar.bz2 lua-04e19712a5d48b84869f9942836ff8314fb0be8e.zip |
C functions can be tail called, too
A tail call to a C function can have the behavior of a "real" tail
call, reusing the stack frame of the caller.
Diffstat (limited to 'testes/coroutine.lua')
-rw-r--r-- | testes/coroutine.lua | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/testes/coroutine.lua b/testes/coroutine.lua index b36b76ea..461e0377 100644 --- a/testes/coroutine.lua +++ b/testes/coroutine.lua | |||
@@ -205,7 +205,7 @@ do | |||
205 | co = coroutine.create(function () return pcall(foo) end) | 205 | co = coroutine.create(function () return pcall(foo) end) |
206 | local st1, st2, err = coroutine.resume(co) | 206 | local st1, st2, err = coroutine.resume(co) |
207 | assert(st1 and not st2 and err == 43) | 207 | assert(st1 and not st2 and err == 43) |
208 | assert(X == 43 and Y.name == "pcall") | 208 | assert(X == 43 and Y.what == "C") |
209 | 209 | ||
210 | -- recovering from errors in __close metamethods | 210 | -- recovering from errors in __close metamethods |
211 | local track = {} | 211 | local track = {} |