* Remove artificial restriction on lifetime parameters on enums ([#604](https://github.com/eqrion/cbindgen/issues/604))
* Add an option for converting usize/isize into size_t/ptrdiff_t. ([#606](https://github.com/eqrion/cbindgen/issues/606))
* Allow controlling the cargo profile used for expansion. ([#607](https://github.com/eqrion/cbindgen/issues/607))
* Support wider range of expressions in enum discriminants ([#614](https://github.com/eqrion/cbindgen/issues/614))
* Support generation of Cython bindings ([#590](https://github.com/eqrion/cbindgen/issues/590))
* Fixed some issues with style=tag and recursive structs ([#615](https://github.com/eqrion/cbindgen/issues/615))
* Default C style to Both (as specified in docs) ([#615](https://github.com/eqrion/cbindgen/issues/615))
* Fix resolution of path dependencies from certain modules. ([#629](https://github.com/eqrion/cbindgen/issues/629))
* Support inlined definitions for tuple variants with a single field in C ([#631](https://github.com/eqrion/cbindgen/issues/631))
Thanks to all the awesome contributors that contributed to this release.
0.15.0
* Allow customizing mangling of generic parameters in C ([#575](https://github.com/eqrion/cbindgen/issues/575))
* Box<T> simplifies to T* in C (4ce324c)
* ManuallyDrop<T> and MaybeUninit<T> simplify to T in C, and are opaque in C++ (0076a17)
* C++ supports a derive-ostream annotation to derive serialization of structs, unions and enums ([#582](https://github.com/eqrion/cbindgen/issues/582))
* Large character constants have been fixed on Windows ([#586](https://github.com/eqrion/cbindgen/issues/586))
* Constants are now generated for typedefs, etc ([#589](https://github.com/eqrion/cbindgen/issues/589))
* The `sort_by` configuration option has been made to work for constants ([#587](https://github.com/eqrion/cbindgen/issues/587))
* Default sort order is source order now (sort_by = "None"), and can be changed by the above option ([#587](https://github.com/eqrion/cbindgen/issues/587))
0.14.6
* Fixed the builds with older versions of rustc.
0.14.5
* Add support to specify line ending style ([#568](https://github.com/eqrion/cbindgen/issues/568))
* Add cbindgen:ptrs-as-arrays annotation to allow making function
arguments C/C++ arrays.
0.14.4
* Allow to override the mangling separator ([#502](https://github.com/eqrion/cbindgen/issues/502))
cbindgen now handles better having ZSTs in template parameters, and
default template parameters (#563).
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Updates the requirements on cbindgen to permit the latest version.
Changelog
Sourced from cbindgen's changelog.
Commits
a00b421
v0.16.0b82e375
enum: Support inlined definitions for tuple variants with a single fieldeaf3e57
enum: Remove some redundant function parameters0083c43
RemoveStruct::tuple_struct
8a5db0b
Minor cleanup tofn close_brace
1963f0c
Partially support#[cfg]
s on fieldsdfcee86
enum: Do not forget to rename entities in enum discriminantsfbc2237
parser: Fix resolution of #[path] dependencies from certain modules.9f558e3
enum:enum_name
->tag_name
8997277
enum: Break upEnum::write
into multiple functionsDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)