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 Libraryandimpl From<Library> for os::platform::Libraryallowing wrapping and extracting the platform-specific library handle; - Added methods to wrap (
Symbol::from_raw) and unwrap (Symbol::into_raw) the safeSymbolwrapper 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::openwhich allows specifying arbitrary flags (e.g.RTLD_LAZY); - Added
os::windows::Library::get_ordinalwhich allows finding a function or variable by its ordinal number;