What's Changed
- The main improvement here is continued support for the
moveit
crate, and its ability to move/copy construct non-trivial C++ objects around on the Rust stack. The support is still not finished - you still can't, for instance, pass such objects by value into existing C++ functions - but it's further on. In this version you can move non-trivial C++ objects around on the Rust stack, make copies etc. subject to the availability of move/copy constructors on the C++ side.- Implement
CopyNew
trait in #752 - Implement
MoveNew
trait in #752 - Implement
Drop
trait in #758. (Previously stack-allocated C++ objects didn't get their destructors called) - Bump up to a new version of
moveit
which allows us toemplace
intoUniquePtr
(#757). Note that there is a known bug/limitation here, #772 - Correctly identify deleted move constructors in #738
- Hopefully (and this is the big big) identify and populate all the implicit constructors that C++ standards specify - #760. This is error-prone so if there are problems, this is probably why, and a new
block_constructors!
directive is added on the assumption that I've messed something up here and a workaround is needed.
- Implement
- Another significant improvement is that all the autogenerated type names for
AutocxxConcrete
types are now more descriptive by @adetaylor in #764 - Correctly spot types which are abstract due to private pure virtual functions by @adetaylor in #750
- Add
cxx
to dependencies in Readme example by @psmit in #741 - Update s2geometry URI by @adetaylor in #746
- Regularize bindgen annotations. by @adetaylor in #734. This is a step towards potentially being able to upstream some of these annotations into the upstream bindgen, though it's a long way off still
- A couple of fixes for the
autocxx-reduce
pipeline by @adetaylor in #747, #749 - Fixing comments in non-trivial C++ types example. by @adetaylor in #748
- Fixing some garbage collection issues in #759
- Some miscellaneous test changes
- Add additional test for issue 486. by @adetaylor in #736, #737
- Switch test logging dependencies due to deprecation. by @adetaylor in #740
New Contributors
Full Changelog: v0.15.0...v0.16.0