//! Unsafe, platform specific bindings to dynamic library loading facilities. //! //! These modules expose more extensive, powerful, less principled bindings to the dynamic //! library loading facilities. Use of these bindings come at the cost of less (in most cases, //! none at all) safety guarantees, which are provided by the top-level bindings. //! //! # Examples //! //! Using these modules will likely involve conditional compilation: //! //! ```ignore //! # extern crate libloading; //! #[cfg(unix)] //! use libloading::os::unix::*; //! #[cfg(windows)] //! use libloading::os::windows::*; //! ``` macro_rules! unix { ($item: item) => { /// UNIX implementation of dynamic library loading. /// /// This module should be expanded with more UNIX-specific functionality in the future. $item } } macro_rules! windows { ($item: item) => { /// Windows implementation of dynamic library loading. /// /// This module should be expanded with more Windows-specific functionality in the future. $item } } #[cfg(unix)] unix!(pub mod unix;); #[cfg(unix)] windows!(pub mod windows {}); #[cfg(windows)] windows!(pub mod windows;); #[cfg(windows)] unix!(pub mod unix {});