Releases: google/autocxx
Releases · google/autocxx
v0.10.0
v0.9.0: Merge pull request #539 from google/rev-0.9.0
- Handle deleted functions
- Support multiple FFI mods in one file
- Support manual
#[cxx::bridge]
mods without the need for an extra codegen tool - Better handle some
std
types for which we have no explicit support - Ignore types with discarded template params
- Add logging to
autocxx_gen
(usingRUST_LOG=autocxx_engine=info
like everywhere else) - Many improvements to reduction pipeline
- Correctly detect abstract subclasses
- Reject (or, where possible, rename) APIs named using Rust keywords which are valid identifiers in C++ (e.g.
move
)
0.8.0
- Handles nested types (thanks @martinboehme)
- Doesn't import the move constructor (thanks @martinboehme)
- Adds experimental
generate_all!
directive - Does not attempt to codegen APIs which depend on types not known to autocxx (e.g.
u128
)
v0.7.1: Merge pull request #450 from google/0.7.1-bump
- Fixing typedefs to ptrs where some part of the chain of typedefs contains
__
. These items are now ignored (i.e. give a nice message in the output mod about why we can't generate bindings)
v0.7.0: Merge pull request #444 from google/0.7.0-revision
Fixes:
- No longer tries to generate code for functions/types with double underscores.
- Puts constants in the right namespace (thanks @ssbr). Compatibility break.
- Inlines all our generated C++, to avoid an unnecessary compilation unit.
- Fixes conflicts between overridden ignored methods/functions.
- Does not try to create constructors for abstract types.
- Can now cope with
autocxx::include_cpp!
as well asuse autocxx::include_cpp; include_cpp!
- Ignores types for which
bindgen
drops "unused" template parameters. This is a Big Deal as it removes the need for mostblock!
directives - Allows use of forward-declared types in pointers and references, just like in C++. (But not in
UniquePtr
s). - Rejects unknown
std
andrust
namespace types.
v0.6.0
Changes:
- Don't import nested types as top-level types
- Generate marker types in the output Rust when we encounter an error
- Allow passing arbitrary lang arguments
- Add preprocess/reduction workflow for debugging
- Pass through doc comments from C++
- Support long longs
- Add an example
- Make it easier to pass strings from Rust to C++
0.5.4
0.5.3
0.5.1
0.5.0
Upgrade to cxx 1.0.x. This is a breaking change in two main ways:
- In
cxx
1.0.x, mutating methods can only be called on pinned types. This requires callers to usepin_mut()
onUniquePtr
instances. cxx
1.0.x requires anunsafe
keyword to be specified, and we're following a similar policy. Eitherunsafe
needs to be specified once for the entire autocxx block (insafety!(unsafe)
) or for each method.