nix_bindings_expr_sys/
lib.rs

1//! Raw bindings to Nix C API
2//!
3//! This crate contains automatically generated bindings from the Nix C headers.
4//! The bindings are generated by bindgen and include C-style naming conventions
5//! and documentation comments that don't always conform to Rust standards.
6//!
7//! Normally you don't have to use this crate directly.
8//! Instead use `nix-expr`.
9
10// This file must only contain generated code, so that the module-level
11// #![allow(...)] attributes don't suppress warnings in hand-written code.
12// If you need to add hand-written code, use a submodule to isolate the
13// generated code. See:
14// https://github.com/nixops4/nixops4/pull/138/commits/330c3881be3d3cf3e59adebbe0ab1c0f15f6d2c9
15
16// Standard bindgen suppressions for C naming conventions
17#![allow(non_upper_case_globals)]
18#![allow(non_camel_case_types)]
19#![allow(non_snake_case)]
20// Clippy suppressions for generated C bindings
21// bindgen doesn't generate safety docs
22#![allow(clippy::missing_safety_doc)]
23// Rustdoc suppressions for generated C documentation
24// The C headers contain Doxygen-style documentation that doesn't translate
25// well to Rust's rustdoc format, causing various warnings:
26#![allow(rustdoc::broken_intra_doc_links)] // @param[in]/[out] references don't resolve
27#![allow(rustdoc::bare_urls)] // C docs may contain unescaped URLs
28#![allow(rustdoc::invalid_html_tags)] // Doxygen HTML tags like <setting>
29#![allow(rustdoc::invalid_codeblock_attributes)] // C code examples may use unsupported attributes
30
31use nix_bindings_store_sys::*;
32use nix_bindings_util_sys::*;
33
34include!(concat!(env!("OUT_DIR"), "/bindings.rs"));