Re: [PATCH 0/2] rust: switch from bilge to bitfield-struct

Marc-André Lureau <[email protected]>
Newsgroups org.nongnu.qemu-rust,org.nongnu.qemu-devel
Message-ID <CAJ+F1CLWDU+o1jPkPtotn_LfhN=r+yKAMoyYACaM6hz4NjRkxw@mail.gmail.com>
On Mon, Aug 17, 2026 at 6:17 PM Paolo Bonzini <[email protected]> wrote:
>
> The bilge crate is heavily reliant on traits and, because trait functions
> are never const, it does not work well with const; also important is
> that bilge's support for the zerocopy crate is tied to an older version
> and has never been updated.
>
> The bitfield-struct crate, instead, is built from the ground up to
> support const, and has much simpler code with fewer dependencies.
> Its use is pretty much the same: device code does not change at
> all, only register declarations do.  So, switch to it before it's
> too late.
>
> Paolo
>
> Based-on: <[email protected]>

lgtm
Reviewed-by: Marc-André Lureau <[email protected]>

>
> Paolo Bonzini (2):
>   rust: pl011: switch from bilge to bitfield-struct
>   rust: remove bilge crate
>
>  Cargo.lock                                    |  71 +-----------
>  Cargo.toml                                    |   1 +
>  rust/hw/char/pl011/Cargo.toml                 |   3 +-
>  rust/hw/char/pl011/src/registers.rs           | 108 +++++++++---------
>  rust/migration/src/vmstate.rs                 |  45 +-------
>  scripts/archive-source.sh                     |   7 +-
>  scripts/make-release                          |   4 +-
>  subprojects/.gitignore                        |   8 +-
>  subprojects/arbitrary-int-1-rs.wrap           |   9 --
>  subprojects/bilge-0.2-rs.wrap                 |   9 --
>  subprojects/bilge-impl-0.2-rs.wrap            |   9 --
>  subprojects/bitfield-struct-0.13-rs.wrap      |   6 +
>  subprojects/either-1-rs.wrap                  |   9 --
>  subprojects/itertools-0.11-rs.wrap            |   9 --
>  .../proc-macro-error-1-rs/meson/meson.build   |   3 -
>  subprojects/proc-macro-error-1-rs.wrap        |  10 --
>  subprojects/proc-macro-error-attr-1-rs.wrap   |   9 --
>  17 files changed, 71 insertions(+), 249 deletions(-)
>  delete mode 100644 subprojects/arbitrary-int-1-rs.wrap
>  delete mode 100644 subprojects/bilge-0.2-rs.wrap
>  delete mode 100644 subprojects/bilge-impl-0.2-rs.wrap
>  create mode 100644 subprojects/bitfield-struct-0.13-rs.wrap
>  delete mode 100644 subprojects/either-1-rs.wrap
>  delete mode 100644 subprojects/itertools-0.11-rs.wrap
>  delete mode 100644 subprojects/packagefiles/proc-macro-error-1-rs/meson/meson.build
>  delete mode 100644 subprojects/proc-macro-error-1-rs.wrap
>  delete mode 100644 subprojects/proc-macro-error-attr-1-rs.wrap
>
> --
> 2.55.0
>
>


-- 
Marc-André Lureau
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.