Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Adds support for running rustfmt on generated bindings
This patch enables bindgen to run rustfmt on generated bindings. Rustfmt is used
from the global PATH. Two new command-line arguments are added:
1. --format-bindings: Enables running rustfmt
2. --format-configuration-file: The configuration file for rustfmt (not required).
Fixes: #900
|
|
|
|
|
|
The --rustfmt-configuration-file command-line argument automatically activates --rustfmt-bindings.
|
|
|
|
This patch enables bindgen to run rustfmt on generated bindings. Rustfmt is used
from the global PATH. Two new command-line arguments are added:
1. --format-bindings: Enables running rustfmt
2. --format-configuration-file: The configuration file for rustfmt (not required).
|
|
Fixes alignment errors with new Rust union type
This fix creates a new private field with the required aligned size. This new
private field ensures that the union has the required size.
This fixes: #908
|
|
This fix creates a new private field with the required aligned size. This new
private field ensures that the union has the required size.
|
|
Stablize name of reference and nested combination of ref, ptr, and array
|
|
|
|
Re-add --rust-target option to replace --unstable-rust
Re-apply commit. Addresses #832
Instead of specifying whether or not to use stable, specify the Rust
release to support (one of several stable/beta releases or nightly).
The `--unstable-rust` option is still accepted and implies nightly.
The definitions of `RustTarget` and `RustFeatures` are created with
macros.
For each test that uses unions, there is a version that uses the latest stable
and 1.0.
|
|
|
|
Only include necessary files in package
We now have various files that are unnecessary for package, including the book, the release note template, and even a 1.3MB PNG file!
This change makes us only include the necessary files (source files, build script, and metadata). Using whitelist so that we have fewer items, and it would be harder to regress.
|
|
|
|
Instead of specifying whether or not to use stable, specify the Rust
release to support (one of several stable/beta releases or nightly).
The `--unstable-rust` option is still accepted and implies nightly.
The definitions of `RustTarget` and `RustFeatures` are created with
macros.
For each test that uses unions, there is a version that uses the latest
stable and 1.0.
This also fixes the bug where unions were generated with non-Copy
fields.
|
|
ir: Sanitize base names more aggressively
This fixes stylo build failures when template instantiations tests caused a rust
compile error due to a bad test name.
This commit makes names better sanitized, preventing similar errors in the
future.
|
|
This fixes stylo build failures when template instantiations tests caused a rust
compile error due to a bad test name.
This commit makes names better sanitized, preventing similar errors in the
future.
|
|
|
|
Run many CI jobs in parallel
Our CI is performing multiple different jobs:
* For every libclang version we support:
* With both debug and release profiles:
* Generating bindings from our test headers, with and without extra assertions, and asserting there is no diff from the expectations.
* Compiling and testing the generated bindings.
* Compiling and testing the bindgen-integration crate.
* Testing the md book.
* Asserting that there aren't any system includes in any of the test headers.
* Asserting that all the pub functions have doc comments.
We were previously doing these things sequentially for each libclang version. This commit breaks these jobs up explicitly and runs each of them one at a time so that they can each be run in parallel, on different Travis CI machines.
r? @emilio
|
|
Mention the test expectations in CONTRIBUTING.md
r? @emilio
|
|
|
|
Implements Debug trait for types which do not support derive Debug
For types that do not support derive Debug be implemented automatically by rust,
we know can generate implementations of the Debug trait. This code generation is
hidden behind the '--force-derive-debug' command-line flag.
Should solve: #875
Sorry for the extra noise in lib.rs, codegen/mod.rs etc, that was rustfmt.
|
|
Our CI is performing multiple different jobs:
* For every libclang version we support:
* With both debug and release profiles:
* Generating bindings from our test headers, with and without extra
assertions, and asserting there is no diff from the expectations.
* Compiling and testing the generated bindings.
* Compiling and testing the bindgen-integration crate.
* Testing the md book.
* Asserting that there aren't any system includes in any of the test headers.
* Asserting that all the pub functions have doc comments.
We were previously doing these things sequentially for each libclang
version. This commit breaks these jobs up explicitly and runs each of them one
at a time so that they can each be run in parallel, on different Travis CI
machines.
|
|
|
|
|
|
|
|
Our test runner is smart enough to figure out which test expectations to use
now.
|
|
No one intends to make this work. We should focus on new versions of libclang
going forward.
|
|
For types that do not support derive Debug be implemented automatically by rust,
we know can generate implementations of the Debug trait. This code generation is
hidden behind the '--force-derive-debug' command-line flag.
|
|
Can derive hash analysis
r? @fitzgen Fix: #876 I haven't enable too much test yet. Enable the option for all tests changes more than 200 of them. I want some input on which test is good to enable or write a new test.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|