25 lines
496 B
Rust
25 lines
496 B
Rust
#![cfg(nix_at_least = "2.33")]
|
|
|
|
use nix_bindings_bindgen_raw as raw;
|
|
use std::ptr::NonNull;
|
|
|
|
/// A Nix derivation
|
|
///
|
|
/// **Requires Nix 2.33 or later.**
|
|
pub struct Derivation {
|
|
pub(crate) inner: NonNull<raw::derivation>,
|
|
}
|
|
|
|
impl Derivation {
|
|
pub(crate) fn new_raw(inner: NonNull<raw::derivation>) -> Self {
|
|
Derivation { inner }
|
|
}
|
|
}
|
|
|
|
impl Drop for Derivation {
|
|
fn drop(&mut self) {
|
|
unsafe {
|
|
raw::derivation_free(self.inner.as_ptr());
|
|
}
|
|
}
|
|
}
|