Error handling should be left up to the user of the library in general.
Most of this change (aside from some integration test compile problems),
is removing panics.
In asserting a null pointer or not, we return a Result instead of
panicking.
In drops, instead of asserting a non null pointer, we just check
is_null on the object before running the C deallocation function for
the pointer and log an error if its null when we're trying to
deallocate.
Error handling should be left up to the user of the library in general. Most of this change (aside from some integration test compile problems), is removing panics.
In asserting a null pointer or not, we return a Result instead of panicking.
In drops, instead of asserting a non null pointer, we just check
is_null
on the object before running the C deallocation function for the pointer and log an error if its null when we're trying to deallocate.