Rust: bindgenで生成したコードのdoctestがコケる

RustでCのラッパーライブラリを作ろうとしてたときに発生しました。

以下で対処

[lib]
doctest = false

Cargo.tomlに書き加える。

The Manifest Format

そもそもコメント形式が違うのになんでdoctestに引っかかってるのかはわかってないけどモチベがないのでこれでよしとする。

20170410 00:18 追記:

普通にbindgenにコメント生成しないようにするメソッドがありました

bindgen::Builder - Rust

Comments are copied verbatim without checking if they might be invalid · Issue #426 · servo/rust-bindgen · GitHub

    for fname in &files {
        let _ = bindgen::builder()
            .header(format!("{}/{}.h", &header_dir, &fname))
            .raw_line("pub use super::*;")
            .hide_type("max_align_t")
            .generate_comments(false)
            .clang_arg("-std=c11")
            .generate().unwrap()
            .write_to_file(Path::new(&out_dir).join(format!("{}.rs", &fname)));
    }

手元で作業してるものはこんな感じになりました。ドキュメントはちゃんと見ましょうということで、はい。