nix_bindings_bdwgc_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
9// This file must only contain generated code, so that the module-level
10// #![allow(...)] attributes don't suppress warnings in hand-written code.
11// If you need to add hand-written code, use a submodule to isolate the
12// generated code. See:
13// https://github.com/nixops4/nixops4/pull/138/commits/330c3881be3d3cf3e59adebbe0ab1c0f15f6d2c9
14
15// Standard bindgen suppressions for C naming conventions
16#![allow(non_upper_case_globals)]
17#![allow(non_camel_case_types)]
18#![allow(non_snake_case)]
19// Clippy suppressions for generated C bindings
20// bindgen doesn't generate safety docs
21#![allow(clippy::missing_safety_doc)]
22// Rustdoc suppressions for generated C documentation
23// The C headers contain Doxygen-style documentation that doesn't translate
24// well to Rust's rustdoc format, causing various warnings:
25#![allow(rustdoc::broken_intra_doc_links)] // @param[in]/[out] references don't resolve
26#![allow(rustdoc::bare_urls)] // C docs may contain unescaped URLs
27#![allow(rustdoc::invalid_html_tags)] // Doxygen HTML tags like <setting>
28#![allow(rustdoc::invalid_codeblock_attributes)] // C code examples may use unsupported attributes
29
30include!(concat!(env!("OUT_DIR"), "/bindings.rs"));