class FFI::AutoPointer::Releaser

def autorelease=(autorelease)

def autorelease=(autorelease)
  raise RuntimeError.new("pointer already freed") unless @ptr
  @autorelease = autorelease
end

def free

def free
  raise RuntimeError.new("pointer already freed") unless @ptr
  @autorelease = false
  @ptr = nil
  @proc = nil
end

def initialize(ptr, proc)

def initialize(ptr, proc)
  @ptr = ptr
  @proc = proc
  @autorelease = true
end