~bitfehler/vomit

1

vomit v0.7.0 compile error

Adam House <adam@ajwh.com>
Details
Message ID
<D134874KAXJS.3N1IV7JHA6ZIE@ajwh.com>
DKIM signature
pass
Download raw message
Hi,

Trying to run `cargo install vsync` right now revealed this problem to me when
compiling vomit as a dependency of it:

```
Compiling vomit v0.7.0
error[E0277]: the trait bound `[mailparse::MailHeader<'_>]: MailHeaderMap` is not satisfied
   --> /Users/ah/.cargo/registry/src/index.crates.io-6f17d22bba15001f/vomit-0.7.0/src/lib.rs:286:40
    |
286 |                 let mid = Mail::msg_id(&parsed[..])?;
    |                           ------------ ^^^^^^^^^^^ the trait `MailHeaderMap` is not implemented for `[mailparse::MailHeader<'_>]`
    |                           |
    |                           required by a bound introduced by this call
    |
    = help: the trait `MailHeaderMap` is implemented for `[MailHeader<'a>]`
note: required by a bound in `Mail::msg_id`
   --> /Users/ah/.cargo/registry/src/index.crates.io-6f17d22bba15001f/vomit-0.7.0/src/mail.rs:124:22
    |
124 |     pub fn msg_id<T: MailHeaderMap + ?Sized>(hdrs: &T) -> Result<String, VomitError> {
    |                      ^^^^^^^^^^^^^ required by this bound in `Mail::msg_id`

   Compiling shellexpand v3.1.0
For more information about this error, try `rustc --explain E0277`.
error: could not compile `vomit` (lib) due to 1 previous error
```

Apologies for the line length; wanted to preserve exact output.

rustc is 1.78.0 (9b00956e5 2024-04-29). My device is an M3 MacBook. I also tried
it on a VPS running Alpine and got the same result.

Happy to help resolve if nobody gets to it before I have time, but that will
probably be a couple weeks, so wanted to surface here earlier than that.

Cheers all,

Adam H.
Details
Message ID
<d1609ed2-890c-4121-b871-a18cacf9d607@bitfehler.net>
In-Reply-To
<D134874KAXJS.3N1IV7JHA6ZIE@ajwh.com> (view parent)
DKIM signature
pass
Download raw message
Hey,

On 5/7/24 6:08 AM, Adam House wrote:
> Trying to run `cargo install vsync` right now revealed this problem to me when
> compiling vomit as a dependency of it:

I can indeed reproduce this. I am pretty sure it comes from a change in 
the mailparse crate, which is not pinned pretty specifically in vomit's 
Cargo.toml, but I was somehow under the impression that for binaries, 
the Cargo.lock should handle this...

At any rate, I have spent the past months rewriting large swathes of 
vsync, and it's almost ready for publishing. Among many other things, it 
will get rid of the vomit dependency anyways. Hence, I am reluctant to 
put any effort into fix this right now. If you can, I recommend you just 
wait for the new version. It has a lot of improvements anyway.

Hope that helps,
Conrad
Reply to thread Export thread (mbox)