Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Add: Support #[deprecated] attribute #860

Closed
wants to merge 25 commits into from

Conversation

sevenc-nanashi
Copy link
Contributor

@sevenc-nanashi sevenc-nanashi commented Jul 23, 2023

(My mother language is not English, so I may say some inappropriate things.)
This PR adds support of #[deprecated] attribute like must_use.
It supports:

  • #[deprecate],
  • #[deprecate = "note"],
  • #[deprecate(note = "note")]
    for:
  • function
  • enum
  • struct

This PR closes #408. Also, I'm new to Rust, so I should have written some ineffective code. I'd like some reviews. Thank you.

Cargo.toml Outdated
@@ -26,7 +26,7 @@ serde = { version = "1.0.103", default-features = false, features = ["derive"] }
serde_json = "1.0"
tempfile = "3"
toml = "0.5"
proc-macro2 = "1"
proc-macro2 = "1.0.60"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ref: #859

@sevenc-nanashi sevenc-nanashi marked this pull request as draft July 23, 2023 22:03
@sevenc-nanashi sevenc-nanashi marked this pull request as ready for review July 28, 2023 07:23
Copy link
Collaborator

@emilio emilio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks generally reasonable, thanks. Some comments below

Some(note)
} else if attrs.has_attr_word("deprecated") {
Some("".to_string())
} else if let Some(attr) = attrs.iter().find(|attr| {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this code-path tested?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should be.

if config.language == Language::Cython {
return None;
}

self.deprecated.clone()
}

pub(crate) fn format_deprecated_note(
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no idea around where to put these utilities.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't use self, so at the very least should be a static function right?

@sevenc-nanashi sevenc-nanashi requested a review from emilio August 25, 2023 16:05
@sevenc-nanashi
Copy link
Contributor Author

sevenc-nanashi commented Aug 25, 2023

Applied review. Could you review again please?

@sevenc-nanashi
Copy link
Contributor Author

This one looks great, thanks! But rather than aborting parsing the item when we fail to parse #[deprecated], I'd rather make this return an Option, and return None for the error cases (maybe warn! ing if you want).

(I couldn't reply somehow, so replying here): Thanks, the function returns Option<String> and warn! for error cases..

@sevenc-nanashi sevenc-nanashi requested a review from emilio August 27, 2023 07:31
@emilio emilio mentioned this pull request Sep 4, 2023
emilio added a commit that referenced this pull request Sep 4, 2023
@emilio emilio closed this in 0fb5d07 Sep 4, 2023
@emilio
Copy link
Collaborator

emilio commented Sep 4, 2023

I rebased your changes since we had some test renaming recently, and cleaned-up a bit. Thanks for the patch! I realized I left a pending comment below, feel free to ignore.

emilio added a commit that referenced this pull request Sep 13, 2023
 * Fix swapping of `>>=` and `<<=` in constants.
 * Add support for #[deprecated] (#860).
 * Built-in support for bitflags 2.0.
 * Support for "C-unwind" ABI.
 * Generate bindings for non-public extern items if they are #[no_mangle].
bhelx pushed a commit to extism/extism that referenced this pull request Sep 20, 2023
Updates the requirements on
[cbindgen](https://github.com/mozilla/cbindgen) to permit the latest
version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mozilla/cbindgen/releases">cbindgen's
releases</a>.</em></p>
<blockquote>
<h2>0.26.0</h2>
<ul>
<li>Fix swapping of <code>&gt;&gt;=</code> and <code>&lt;&lt;=</code> in
constants.</li>
<li>Add support for #[deprecated] (<a
href="https://github.com/mozilla/cbindgen/issues/860">#860</a>).</li>
<li>Built-in support for bitflags 2.0.</li>
<li>Support for &quot;C-unwind&quot; ABI.</li>
<li>Generate bindings for non-public extern items if they are
#[no_mangle].</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mozilla/cbindgen/blob/master/CHANGES">cbindgen's
changelog</a>.</em></p>
<blockquote>
<h1>0.26.0</h1>
<pre><code>  * Fix swapping of `&gt;&gt;=` and `&lt;&lt;=` in constants.
* Add support for #[deprecated]
([#860](mozilla/cbindgen#860)).
  * Built-in support for bitflags 2.0.
  * Support for &quot;C-unwind&quot; ABI.
* Generate bindings for non-public extern items if they are
#[no_mangle].
</code></pre>
<h2>0.25.0</h2>
<pre><code>  * Re-release of yanked 0.24.6 as a major release
  * Update MSRV to 1.57
* Support variadic arguments (`...`)
([#805](mozilla/cbindgen#805))
* Add --depfile option
([#820](mozilla/cbindgen#820))
  * Breaking changes: The `Config` struct now has a private member.
</code></pre>
<h2>0.24.6 (YANKED: depfile option was breaking, see <a
href="https://github.com/mozilla/cbindgen/issues/841">#841</a>)</h2>
<pre><code>  * Update MSRV to 1.57
* Support variadic arguments (`...`)
([#805](mozilla/cbindgen#805))
* Add --depfile option
([#820](mozilla/cbindgen#820))
</code></pre>
<h2>0.24.5</h2>
<pre><code>  * Don't enforce tempfile version.
</code></pre>
<h2>0.24.4</h2>
<pre><code> * Move expand infinite recursion fix
([#799](mozilla/cbindgen#799))
* Add with_cpp_compat to the builder
([#796](mozilla/cbindgen#796))
* Handle never type in return position consistently
([#780](mozilla/cbindgen#780))
* Fix warnings ([#816](mozilla/cbindgen#816),
[#819](mozilla/cbindgen#819))
* Updated documentation
([#788](mozilla/cbindgen#788),
[#791](mozilla/cbindgen#791),
[#792](mozilla/cbindgen#792),
[#810](mozilla/cbindgen#810),
[#823](mozilla/cbindgen#823))
</code></pre>
<h2>0.24.3</h2>
<pre><code> * Make struct expressions correctly generated through
typedefs ([#768](mozilla/cbindgen#768)).
</code></pre>
<h2>0.24.2</h2>
<pre><code>  * Make bitfield operators use explicit constructors.
</code></pre>
<h2>0.24.1</h2>
<pre><code> * Add support for unary negation
([#765](mozilla/cbindgen#765)).
* Make more bitfield operators constexpr
([#765](mozilla/cbindgen#765)).
</code></pre>
<h2>0.24.0</h2>
<pre><code> * Basic const generic support
([#759](mozilla/cbindgen#759),
[#760](mozilla/cbindgen#760)
[#762](mozilla/cbindgen#762)).
</code></pre>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mozilla/cbindgen/commit/703b53c06f9fe2dbc0193d67626558cfa84a0f62"><code>703b53c</code></a>
v0.26.0</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/56f0febc9b5cc7ee957912d55b1fdee67f34d766"><code>56f0feb</code></a>
Update MSRV in Readme</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/9b4a14958ea6ce2a61accb9cdbad84cfca9c3013"><code>9b4a149</code></a>
Add support for out-of-line bitfields declarations</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/35f2e44ef2792d1c2e9e97f8ccf4458b79ae88f2"><code>35f2e44</code></a>
Update URLs</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/85eb0f4436e90d479f5d041b98f160ce2e66eeea"><code>85eb0f4</code></a>
Bump clippy msrv to 1.64</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/43af1ebe6e4d2bb9ec90167616a3d88bf34c7c0b"><code>43af1eb</code></a>
Handle bitflags bits method calls</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/f72e44715697981b9317b7f0688216990e60346d"><code>f72e447</code></a>
CHANGES: Note #[deprecated] support.</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/14730702306533c2805c9dd4a6846e762a4bbcca"><code>1473070</code></a>
utilities: annotation: Clean-up deprecated parsing and getter.</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/0fb5d07ae4ede7d3fcf91c47bcfa29090ce0a8b9"><code>0fb5d07</code></a>
Add support for #[deprecated].</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/d8355da4664f68d399631f2f215cbf991c121d2f"><code>d8355da</code></a>
Support &quot;C-unwind&quot; ABI</li>
<li>Additional commits viewable in <a
href="https://github.com/mozilla/cbindgen/compare/v0.25.0...0.26.0">compare
view</a></li>
</ul>
</details>
<br />


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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
mhallin added a commit to mhallin/cbindgen that referenced this pull request May 25, 2024
v0.26.0

 * Fix swapping of `>>=` and `<<=` in constants.
 * Add support for #[deprecated] (mozilla#860).
 * Built-in support for bitflags 2.0.
 * Support for "C-unwind" ABI.
 * Generate bindings for non-public extern items if they are #[no_mangle].

# Conflicts:
#	src/bindgen/cdecl.rs
zshipko pushed a commit to extism/extism that referenced this pull request Aug 22, 2024
Updates the requirements on
[cbindgen](https://github.com/mozilla/cbindgen) to permit the latest
version.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mozilla/cbindgen/blob/master/CHANGES">cbindgen's
changelog</a>.</em></p>
<blockquote>
<h1>0.27.0</h1>
<pre><code>  * Revert: The `Config` struct now has a private member.
* Allow users to specify a crate version for bindings generation
([#901](mozilla/cbindgen#901)).
* Update MSRV to 1.74
([#912](mozilla/cbindgen#912),
[#987](mozilla/cbindgen#987)).
* Support #[deprecated] on enum variants
([#933](mozilla/cbindgen#933)).
* Support integrating the package_version information in a header file
comment ([#939](mozilla/cbindgen#939)).
* Add a language backend
([#942](mozilla/cbindgen#942)).
* Support generics with defaulted args
([#959](mozilla/cbindgen#959)).
* Add `VaList` compatibility
([#970](mozilla/cbindgen#970)).
</code></pre>
<h1>0.26.0</h1>
<pre><code>  * Fix swapping of `&gt;&gt;=` and `&lt;&lt;=` in constants.
* Add support for #[deprecated]
([#860](mozilla/cbindgen#860)).
  * Built-in support for bitflags 2.0.
  * Support for &quot;C-unwind&quot; ABI.
* Generate bindings for non-public extern items if they are
#[no_mangle].
</code></pre>
<h2>0.25.0</h2>
<pre><code>  * Re-release of yanked 0.24.6 as a major release
  * Update MSRV to 1.57
* Support variadic arguments (`...`)
([#805](mozilla/cbindgen#805))
* Add --depfile option
([#820](mozilla/cbindgen#820))
  * Breaking changes: The `Config` struct now has a private member.
</code></pre>
<h2>0.24.6 (YANKED: depfile option was breaking, see <a
href="https://github.com/mozilla/cbindgen/issues/841">#841</a>)</h2>
<pre><code>  * Update MSRV to 1.57
* Support variadic arguments (`...`)
([#805](mozilla/cbindgen#805))
* Add --depfile option
([#820](mozilla/cbindgen#820))
</code></pre>
<h2>0.24.5</h2>
<pre><code>  * Don't enforce tempfile version.
</code></pre>
<h2>0.24.4</h2>
<pre><code> * Move expand infinite recursion fix
([#799](mozilla/cbindgen#799))
* Add with_cpp_compat to the builder
([#796](mozilla/cbindgen#796))
* Handle never type in return position consistently
([#780](mozilla/cbindgen#780))
* Fix warnings ([#816](mozilla/cbindgen#816),
[#819](mozilla/cbindgen#819))
* Updated documentation
([#788](mozilla/cbindgen#788),
[#791](mozilla/cbindgen#791),
[#792](mozilla/cbindgen#792),
[#810](mozilla/cbindgen#810),
[#823](mozilla/cbindgen#823))
</code></pre>
<h2>0.24.3</h2>
<pre><code> * Make struct expressions correctly generated through
typedefs ([#768](mozilla/cbindgen#768)).
</code></pre>
<h2>0.24.2</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mozilla/cbindgen/commit/58c6156b0d91e82abb03c26187b8d18fa4345ce0"><code>58c6156</code></a>
Bump MSRV again for clap.</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/103a8de0ac1ac311d54843acdfc10ee8c203a3ba"><code>103a8de</code></a>
Cargo update and version bump.</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/67cb560430cf91fecdd402cd1239d0a51baff634"><code>67cb560</code></a>
Update CHANGES since v0.26.0</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/316298182ebf508240c95ddf9943556b2fb546e1"><code>3162981</code></a>
Output condition for globals.</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/e469e44c0027f4ca039a4556f6062c0ba343a5b4"><code>e469e44</code></a>
Add missing parens to log message</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/3cbb637bbf16c7378ce4d6cb4b73e5d2d2bd33fa"><code>3cbb637</code></a>
Update cython expectations from the previous patch.</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/785e066e03b0e22a32c31e9adab78a18f6ce195b"><code>785e066</code></a>
Fix variadic arguments when used in function pointer</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/aa8ea654e156fd1b8e5b1b755c7b43fe4ea81331"><code>aa8ea65</code></a>
deps: Update syn to 2.0</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/9f632843b8b9dacbdc7a153868a4a9546e196e2e"><code>9f63284</code></a>
Generalize Item to expose documentation and generic params</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/1dda6162e53df57cb1769e9a6f942f6de839f50b"><code>1dda616</code></a>
Used documented method of specifying variadic arguments</li>
<li>Additional commits viewable in <a
href="https://github.com/mozilla/cbindgen/compare/0.26.0...v0.27.0">compare
view</a></li>
</ul>
</details>
<br />


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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
zshipko pushed a commit to extism/extism that referenced this pull request Jan 20, 2025
Updates the requirements on
[cbindgen](https://github.com/mozilla/cbindgen) to permit the latest
version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mozilla/cbindgen/releases">cbindgen's
releases</a>.</em></p>
<blockquote>
<h1>0.28.0</h1>
<ul>
<li>Parse unsafe attributes in <a
href="https://github.com/mozilla/cbindgen/pull/1020">mozilla/cbindgen#1020</a></li>
<li>Fix local override of enum prefix-with-name by jsgf in <a
href="https://github.com/mozilla/cbindgen/pull/1006">mozilla/cbindgen#1006</a></li>
<li>Add rename-all=prefix in <a
href="https://github.com/mozilla/cbindgen/pull/1021">mozilla/cbindgen#1021</a></li>
<li>ir: add support for UnsafeCell and SyncUnsafeCell by alekitto in <a
href="https://github.com/mozilla/cbindgen/pull/1003">mozilla/cbindgen#1003</a></li>
<li>Implement mangling for arrays in <a
href="https://github.com/mozilla/cbindgen/pull/1022">mozilla/cbindgen#1022</a></li>
<li>Fix: Ignore <code>CARGO_BUILD_TARGET</code> in tests by bryango in
<a
href="https://github.com/mozilla/cbindgen/pull/1010">mozilla/cbindgen#1010</a></li>
<li>Newline for each field for constexpr field constants by youknowone
in <a
href="https://github.com/mozilla/cbindgen/pull/988">mozilla/cbindgen#988</a></li>
<li>Fix clippy warnings by youknowone in <a
href="https://github.com/mozilla/cbindgen/pull/1026">mozilla/cbindgen#1026</a></li>
<li>Add aarch64/arm64 to CI by NickeZ in <a
href="https://github.com/mozilla/cbindgen/pull/1036">mozilla/cbindgen#1036</a></li>
<li>Add <code>unstable_ir</code> feature flag that makes the ir pub by
heesooy in <a
href="https://github.com/mozilla/cbindgen/pull/1011">mozilla/cbindgen#1011</a></li>
<li>Support generated a symbols file by TheElectronWill in <a
href="https://github.com/mozilla/cbindgen/pull/916">mozilla/cbindgen#916</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mozilla/cbindgen/blob/master/CHANGES">cbindgen's
changelog</a>.</em></p>
<blockquote>
<h1>0.28.0</h1>
<pre><code> * Parse unsafe attributes in
mozilla/cbindgen#1020
* Fix local override of enum prefix-with-name by jsgf in
mozilla/cbindgen#1006
* Add rename-all=prefix in mozilla/cbindgen#1021
* ir: add support for UnsafeCell and SyncUnsafeCell by alekitto in
mozilla/cbindgen#1003
* Implement mangling for arrays in
mozilla/cbindgen#1022
* Fix: Ignore `CARGO_BUILD_TARGET` in tests by bryango in
mozilla/cbindgen#1010
* Newline for each field for constexpr field constants by youknowone in
mozilla/cbindgen#988
* Fix clippy warnings by youknowone in
mozilla/cbindgen#1026
* Add aarch64/arm64 to CI by NickeZ in
mozilla/cbindgen#1036
* Add `unstable_ir` feature flag that makes the ir pub by heesooy in
mozilla/cbindgen#1011
* Support generated a symbols file by TheElectronWill in
mozilla/cbindgen#916
</code></pre>
<h1>0.27.0</h1>
<pre><code>  * Revert: The `Config` struct now has a private member.
* Allow users to specify a crate version for bindings generation
([#901](mozilla/cbindgen#901)).
* Update MSRV to 1.74
([#912](mozilla/cbindgen#912),
[#987](mozilla/cbindgen#987)).
* Support #[deprecated] on enum variants
([#933](mozilla/cbindgen#933)).
* Support integrating the package_version information in a header file
comment ([#939](mozilla/cbindgen#939)).
* Add a language backend
([#942](mozilla/cbindgen#942)).
* Support generics with defaulted args
([#959](mozilla/cbindgen#959)).
* Add `VaList` compatibility
([#970](mozilla/cbindgen#970)).
</code></pre>
<h1>0.26.0</h1>
<pre><code>  * Fix swapping of `&gt;&gt;=` and `&lt;&lt;=` in constants.
* Add support for #[deprecated]
([#860](mozilla/cbindgen#860)).
  * Built-in support for bitflags 2.0.
  * Support for &quot;C-unwind&quot; ABI.
* Generate bindings for non-public extern items if they are
#[no_mangle].
</code></pre>
<h2>0.25.0</h2>
<pre><code>  * Re-release of yanked 0.24.6 as a major release
  * Update MSRV to 1.57
* Support variadic arguments (`...`)
([#805](mozilla/cbindgen#805))
* Add --depfile option
([#820](mozilla/cbindgen#820))
  * Breaking changes: The `Config` struct now has a private member.
</code></pre>
<h2>0.24.6 (YANKED: depfile option was breaking, see <a
href="https://github.com/mozilla/cbindgen/issues/841">#841</a>)</h2>
<pre><code>  * Update MSRV to 1.57
* Support variadic arguments (`...`)
([#805](mozilla/cbindgen#805))
* Add --depfile option
([#820](mozilla/cbindgen#820))
</code></pre>
<h2>0.24.5</h2>
<pre><code>  * Don't enforce tempfile version.
</code></pre>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mozilla/cbindgen/commit/bd78bbe59b10eda6ef1255e4acda95c56c6d0279"><code>bd78bbe</code></a>
Release 0.28.0</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/8ca9c4c20ff9ca59a3c4f0b068ce3a7da2e02e9e"><code>8ca9c4c</code></a>
tests: Fix symbol file and tests.</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/152f91dee070b1ebc28505b908066c9c418ed50e"><code>152f91d</code></a>
Appease clippy.</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/70b9d7a98084c39dbb5d0f0115d4e5917e2c8f6c"><code>70b9d7a</code></a>
tests: Run rustfmt.</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/87afbf9e01ae8d9190638d4b347676ff7e282d4f"><code>87afbf9</code></a>
Add a way to generate a list of symbols for dynamic linkage, resolves <a
href="https://github.com/mozilla/cbindgen/issues/907">#907</a></li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/80c50c643a453bd396331b4a8eb17a47f7c6c6b1"><code>80c50c6</code></a>
Add <code>unstable_ir</code> feature flag that makes the ir pub</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/e82815e99a96d9510316855583d4fef094396f10"><code>e82815e</code></a>
Refactor arm64 build to matrix strategy</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/a5e1443a4503826036bfaa6a349fc0b05d188d61"><code>a5e1443</code></a>
Add aarch64/arm64 to CI</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/b9b8f8878ac272935193c449066b88c0cb94ced2"><code>b9b8f88</code></a>
Fix clippy warnings</li>
<li><a
href="https://github.com/mozilla/cbindgen/commit/89a9faa97cc267e90fc95a1cc6177a001aed5b51"><code>89a9faa</code></a>
newlines for constexpr</li>
<li>Additional commits viewable in <a
href="https://github.com/mozilla/cbindgen/compare/v0.27.0...0.28.0">compare
view</a></li>
</ul>
</details>
<br />


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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Translate #[deprecated] on Rust functions to deprecated attribute
2 participants