Expand description
Release 0.3.0 (2016-07-27)
- Greatly improved documentation, especially around platform-specific behaviours;
- Improved test suite by building our own library to test against;
- All
Library
-ies now implementSend
. - Added
impl From<os::platform::Library> for Library
andimpl From<Library> for os::platform::Library
allowing wrapping and extracting the platform-specific library handle; - Added methods to wrap (
Symbol::from_raw
) and unwrap (Symbol::into_raw
) the safeSymbol
wrapper into unsafeos::platform::Symbol
.
The last two additions focus on not restricting potential usecases of this library, allowing users of the library to circumvent safety checks if need be.
§Breaking Changes
Library::new
defaults to RTLD_NOW
instead of RTLD_LAZY
on UNIX for more consistent
cross-platform behaviour. If a library loaded with Library::new
had any linking errors, but
unresolved references weren’t forced to be resolved, the library would’ve “just worked”,
whereas now the call to Library::new
will return an error signifying presence of such error.
§os::platform
- Added
os::unix::Library::open
which allows specifying arbitrary flags (e.g.RTLD_LAZY
); - Added
os::windows::Library::get_ordinal
which allows finding a function or variable by its ordinal number;