| diff --git a/Cargo.toml b/Cargo.toml |
| index 1da2ac4..4af7f4d 100644 |
| --- a/Cargo.toml |
| +++ b/Cargo.toml |
| @@ -31,7 +31,7 @@ version = "0.2.39" |
| default-features = false |
| |
| [dependencies.libloading] |
| -version = "0.6" |
| +version = "0.7" |
| optional = true |
| [build-dependencies.glob] |
| version = "0.3" |
| diff --git a/src/link.rs b/src/link.rs |
| index 3230e4a..64a3528 100644 |
| --- a/src/link.rs |
| +++ b/src/link.rs |
| @@ -195,17 +195,19 @@ macro_rules! link { |
| let (directory, filename) = build::dynamic::find(true)?; |
| let path = directory.join(filename); |
| |
| - let library = libloading::Library::new(&path).map_err(|e| { |
| - format!( |
| - "the `libclang` shared library at {} could not be opened: {}", |
| - path.display(), |
| - e, |
| - ) |
| - }); |
| + unsafe { |
| + let library = libloading::Library::new(&path).map_err(|e| { |
| + format!( |
| + "the `libclang` shared library at {} could not be opened: {}", |
| + path.display(), |
| + e, |
| + ) |
| + }); |
| |
| - let mut library = SharedLibrary::new(library?, path); |
| - $(load::$name(&mut library);)+ |
| - Ok(library) |
| + let mut library = SharedLibrary::new(library?, path); |
| + $(load::$name(&mut library);)+ |
| + Ok(library) |
| + } |
| } |
| |
| /// Loads a `libclang` shared library for use in the current thread. |