nixide/rust/nix-bindings-store/src/derivation.rs
2025-10-21 23:18:33 +02:00

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());
}
}
}