What's Changed
Major change: better flexibility for ValueParam
, more ability to use stack objects
Mostly this has been work by @bsilver8192 to get all the various implicit constructor/destructor rules right.
- Always use
std::move
for params; never for returns by @adetaylor in #804 - Enable
UniquePtr::emplace()
by @adetaylor in #767 - Allow value parameters to be passed by copy instead of consuming by @adetaylor in #766
- Implement most of the C++ special member function rules by @bsilver8192 in #843
- Pass new not copy by @adetaylor in #847
Major change: we have a book!
See https://google.github.io/autocxx
Selected PRs:
- Initial book infrastructure by @adetaylor in #769
- Book improvements 1 by @adetaylor in #850
- Fix book URI. by @adetaylor in #854
- Document how nested classes are named by @bsilver8192 in #786
Other functional changes
- Cease to require bases to be allowlisted. by @adetaylor in #776
- Support
include_cpp!
inmod
by @bsilver8192 in #794
Build and tooling related
The main thing: @philipcraig has done a bonzer job setting up CI on all sorts of platforms.
- add Cargo.lock by @milahu in #780
- Make reduction piepline better: dont run postcompile_step when gen_cmd failed by @milahu in #783
- Make
KEEP_TEMPDIRS
more useful by @bsilver8192 in #793 - Implement an option for not generating
cxx::bridge
sources by @bsilver8192 in #792 creduce
error case diagnostics by @adetaylor in #807- github actions build and test on major architectures by @philipcraig in #817
- Remove beta test ignoring setup by @philipcraig in #826
- CI sanitize, rustdoc, cache by @philipcraig in #848
- Track and print dependencies caused an API to be ignored by @bsilver8192 in #896
- Generate fixed filenames for all types of files by @bsilver8192 in #876
Bug fixes
(selected PRs)
- Cease to make implicit constructors unless we understand all fields & bases by @adetaylor in #803
- Match trait method unsafety expectations by @adetaylor in #790
- Add test for #787. by @adetaylor in #791
- Test for issue 798. by @adetaylor in #802
- Test for #799 by @adetaylor in #806
- Uniquify constructor names when multiple mods by @adetaylor in #810
- switch
rustfmt
to--check
, to give clearer CI errors by @philipcraig in #811 - fix branch spec by @philipcraig in #814
- Cease to turn commits red based on cargo outdated. by @adetaylor in #830
- Move away from deprecated C++ APIs in the demo by @bsilver8192 in #871
Internals
(selected PRs)
- Ensure every API has a unique name by @adetaylor in #879 - this will have fixed lots of lurking problems
- Remove dependency on unzip_n. by @adetaylor in #857
New Contributors
- @milahu made their first contribution in #780
- @bsilver8192 made their first contribution in #786
- @philipcraig made their first contribution in #801
Full Changelog: v0.16.0...v0.17.0