26 lines
585 B
Lua
26 lines
585 B
Lua
require("import") -- the import fn
|
|
import("refcount") -- import lib
|
|
r=refcount
|
|
|
|
-- catch "undefined" global variables
|
|
local env = _ENV -- Lua 5.2
|
|
if not env then env = getfenv () end -- Lua 5.1
|
|
setmetatable(env, {__index=function (t,i) error("undefined global variable `"..i.."'",2) end})
|
|
|
|
a = r.A()
|
|
assert(a:ref_count() == 1)
|
|
|
|
b1 = r.B(a)
|
|
assert(a:ref_count() == 2)
|
|
|
|
b2 = r.B.create(a)
|
|
assert(a:ref_count() == 3)
|
|
|
|
b3 = b2:cloner()
|
|
assert(a:ref_count() == 4)
|
|
|
|
rca = b1:get_rca() -- RCPtr<A> is not wrapped
|
|
assert(a:ref_count() == 5)
|
|
|
|
b4 = r.global_create(a)
|
|
assert(a:ref_count() == 6)
|