Download Latest Version v0.30.0 source code.tar.gz (832.9 kB)
Email in envelope

Get an email when there's a new version of Autocxx

Home / v0.29.0
Name Modified Size InfoDownloads / 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

New Contributors

Full Changelog: https://github.com/google/autocxx/compare/v0.28.0...v0.29.0

Source: README.md, updated 2025-02-26