| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2025-02-26 | 3.2 kB | |
| v0.29.0 source code.tar.gz | 2025-02-26 | 828.5 kB | |
| v0.29.0 source code.zip | 2025-02-26 | 946.1 kB | |
| Totals: 3 Items | 1.8 MB | 0 | |
Major changes
This is a major change to the internal functionality of autocxx. Previously, we significantly edited the bindgen output. Instead, now, we just augment stuff alongside it (along with lots of use statements to get the right bits out). (This was [#1456]).
Philosophically, this means autocxx is now a tool to augment bindgen's output. We will get the benefit of bindgen improvements, and benefit from its ever-better understanding of C++ templates. We don't try to be smarter than bindgen in editing its output - we just pass it on as-is, and wherever we can, try to build more ergonomic cxx bindings alongside that bindgen output. (This journey will be completed if we manage to move to a completely standard upstream bindgen as described in [#124]).
Compatibility implications:
* The major compatibility implication is that we're now reliant on bindgen doing the right thing in more circumstances. In rare circumstances, it doesn't. For instance, these four bindgen bugs previously did not affect autocxx users, because we would coincidentally have edited out bindgen's erroneous output. We would no longer do so, and now they would prevent use of autocxx: https://github.com/rust-lang/rust-bindgen/issues/3159, https://github.com/rust-lang/rust-bindgen/issues/3161, https://github.com/rust-lang/rust-bindgen/issues/3158, https://github.com/rust-lang/rust-bindgen/issues/3160. This will be a regression in autocxx functionality for some people - let's all work together to make bindgen as good as possible.
* If you previously wished to generate a function called the same as a Rust keyword (e.g. move, async) you previously needed to give generate!("async_") (note the underscore). As far as I know this wasn't documented anywhere. This quirk has been removed.
Beyond these implications, this major internal change has no intentional changes in how autocxx behaves for users.
What's Changed
- Remove code for unused template param detection. by @adetaylor in https://github.com/google/autocxx/pull/1446
- Cleanups to parsing by @adetaylor in https://github.com/google/autocxx/pull/1451
- Add a test case for [#1371] by @adetaylor in https://github.com/google/autocxx/pull/1453
- test: add test case for [#1371] by @b0o in https://github.com/google/autocxx/pull/1430
- Remove O(n^2) lookup in parse callback results. by @adetaylor in https://github.com/google/autocxx/pull/1454
- Add a comment to generated code by @adetaylor in https://github.com/google/autocxx/pull/964
- Add test for [#1141]: wchar_t -> uint32_t by @jjacobson93 in https://github.com/google/autocxx/pull/1142
- Cargo update by @adetaylor in https://github.com/google/autocxx/pull/1455
- Cease to modify bindgen output. by @adetaylor in https://github.com/google/autocxx/pull/1456
- Roll to 0.29.0 by @adetaylor in https://github.com/google/autocxx/pull/1457
New Contributors
- @b0o made their first contribution in https://github.com/google/autocxx/pull/1430
- @jjacobson93 made their first contribution in https://github.com/google/autocxx/pull/1142
Full Changelog: https://github.com/google/autocxx/compare/v0.28.0...v0.29.0