* 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).
Support for the never return type, with configurable annotation (#549)
Properly reject arrays as function arguments (#540)
0.14.3
* Introduce cbindgen:ignore comment annotation, to allow ignoring items or modules. ([#519](https://github.com/eqrion/cbindgen/issues/519))
* Support for casts in constant expressions. ([#526](https://github.com/eqrion/cbindgen/issues/526))
* Make a non-fatal error a warning message. ([#535](https://github.com/eqrion/cbindgen/issues/535))
* Add a --metadata option to the CLI, to allow passing pre-computed cargo metadata. ([#538](https://github.com/eqrion/cbindgen/issues/538))
0.14.2
* Fixed minimal dependency versions. ([#507](https://github.com/eqrion/cbindgen/issues/507))
* Add an option to write pragma once. ([#511](https://github.com/eqrion/cbindgen/issues/511))
* Fix submodule scanning for implicit Rust 2018 modules. ([#512](https://github.com/eqrion/cbindgen/issues/512))
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
83b3be9
v0.15.0aeb69bc
Switch default sorting order for items to "None"ea919a4
mem::replace
->mem::take
f3d5a20
Supportsort_by
for constants6439e6d
Support constants with arbitrary types9669cad
Rename ARCHITECTURE.md to internals.md in contributing instructions56d0799
UseU'...'
character literals instead ofL'...'
character literalsf4b26fe
Checkout files with LF line endingsd1d97d4
enumeration: Only propagate derive_ostream annotation if not present.36a3f8b
enumertion: Add a using declaration rather than qualifying all branches.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)