diff options
author | Lars Kanis <lars@greiz-reinsdorf.de> | 2023-05-02 11:28:06 +0200 |
---|---|---|
committer | Lars Kanis <lars@greiz-reinsdorf.de> | 2023-05-02 11:54:33 +0200 |
commit | 08b1a6754fb1ebbf340c778e9a015ce0ecc83974 (patch) | |
tree | 5011a6b04cb9295bd2d6c44ed302a0bfb0d3acaf /lib/ffi/managedstruct.rb | |
parent | 98cce6a671e333fcb6b6eeeb821885f03d0e2fa5 (diff) | |
download | ffi-08b1a6754fb1ebbf340c778e9a015ce0ecc83974.tar.gz |
Allow private release method for ManagedStruct and AutoPointer
FFI users might not want to expose `release` as a public class method, but want to keep it private.
Also re-enable GC tests that were disabled as part of #427, but make them opt-in per env var FFI_TEST_GC.
Derivations of Releaser are no longer necessary, so that they are removed now.
Diffstat (limited to 'lib/ffi/managedstruct.rb')
-rw-r--r-- | lib/ffi/managedstruct.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/ffi/managedstruct.rb b/lib/ffi/managedstruct.rb index b5ec8a3..5d243e5 100644 --- a/lib/ffi/managedstruct.rb +++ b/lib/ffi/managedstruct.rb @@ -75,7 +75,7 @@ module FFI # @overload initialize # A new instance of FFI::ManagedStruct. def initialize(pointer=nil) - raise NoMethodError, "release() not implemented for class #{self}" unless self.class.respond_to? :release + raise NoMethodError, "release() not implemented for class #{self}" unless self.class.respond_to?(:release, true) raise ArgumentError, "Must supply a pointer to memory for the Struct" unless pointer super AutoPointer.new(pointer, self.class.method(:release)) end |