Subject: Re: linux-next: build failure after merge of the rust tree

From: Danilo Krummrich <[email-masked]>
Date: Tue, 24 Jun 2025 14:00:31 +0200

On Tue, Jun 24, 2025 at 12:31:52PM +0200, Miguel Ojeda wrote:
> On Tue, Jun 24, 2025 at 9:31 AM Stephen Rothwell <[email-masked]> wrote:
> >
> > error[E0277]: the trait bound `u32: From<DmaTrfCmdSize>` is not satisfied
> 
> > error[E0599]: no method named `as_nanos` found for struct `Delta` in the current scope
> 
> > Presumably caused by commit
> >
> >   b7c8d7a8d251 ("rust: enable `clippy::cast_lossless` lint")
> 
> The first error, yes -- the `register!` macro was changed to use
> `u32::from()` to avoid an `as` cast in that commit, and while the cast
> is OK converting the new `enum`s like `FalconCoreRev`, `from()`
> isn't`, so we would need to implement `From` explicitly -- Cc'ing
> Danilo, Alexandre, Lyude.

It's a bit annoying to implement From explicitly for all of them, but it seems
to be the correct thing to do.

nova-next also contains a couple of cases where the introduction of
`cast_lossless` causes warnings.

I can implement the From traits and fix up the warnings caused by enabling
`cast_lossless` in my tree with subsequent patches, such that we do not have to
carry all this as merge resolution.

- Danilo