domain icon indicating copy to clipboard operation
domain copied to clipboard

Latest version of domain 0.10.0 is not compatible with triomphe v0.1.12

Open ravalikakurumillla opened this issue 1 year ago • 7 comments

Tried using the latest domain crate domain = "0.10.0"

[[package]]
name = "domain"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5cd50aea158e9a57c9c9075ca7a3dfa4c08d9a468b405832383876f9df85379b"
dependencies = [
 "bytes",
 "futures-util",
 "moka",
 "octseq",
 "pin-project-lite",
 "rand 0.8.5",
 "smallvec",
 "time",
 "tokio",
 "tracing",
]
[[package]]
name = "moka"
version = "0.12.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e0d88686dc561d743b40de8269b26eaf0dc58781bde087b0984646602021d08"
dependencies = [
 "async-lock 3.3.0",
 "async-trait",
 "crossbeam-channel",
 "crossbeam-epoch",
 "crossbeam-utils",
 "event-listener 5.3.1",
 "futures-util",
 "once_cell",
 "parking_lot",
 "quanta",
 "rustc_version",
 "smallvec",
 "tagptr",
 "thiserror",
 "triomphe",
 "uuid",
]
[[package]]
name = "triomphe"
version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b2cb4fbb9995eeb36ac86fadf24031ccd58f99d6b4b2d7b911db70bddb80d90"

Failing with the below error

error[E0425]: cannot find function `addr_eq` in module `ptr`
   --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/triomphe-0.1.12/src/arc.rs:282:14
    |
282 |         ptr::addr_eq(this.ptr(), other.ptr())
    |              ^^^^^^^ not found in `ptr`

   Compiling tagptr v0.2.0
   Compiling httpdate v1.0.3
   Compiling clang-sys v1.8.2
   Compiling aho-corasick v1.1.3
error[E0658]: use of unstable library feature 'pointer_byte_offsets'
   --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/triomphe-0.1.12/src/arc.rs:201:33
    |
201 |         let arc_inner_ptr = ptr.byte_sub(offset_of_data);
    |                                 ^^^^^^^^
    |
    = note: see issue #96283 <https://github.com/rust-lang/rust/issues/96283> for more information

   Compiling anstream v0.6.14
   Compiling nom v7.1.3

ravalikakurumillla avatar May 30 '24 21:05 ravalikakurumillla

This is due to triomphe bumping their MSRV to 1.76. Downgrading triomphe works or updating you rust version. This was completely out of our hands, but we bumped our MSRV accordingly, which will be in the next release.

tertsdiepraam avatar May 30 '24 22:05 tertsdiepraam

Thank you for the confirmation @tertsdiepraam. Do you have any ETA for the next release?

ravalikakurumillla avatar May 30 '24 23:05 ravalikakurumillla

I'll defer to @partim, but I believe we'll have a 0.10.1 very soon.

tertsdiepraam avatar May 31 '24 07:05 tertsdiepraam

It would be nice not bumping domain MSRV to the latest rust version if only 1.76 is actually required.

vavrusa avatar Jun 05 '24 22:06 vavrusa

We figured we go to 1.78 since Alpine already has that – which currently is our yardstick – and this might avoid having to do another bump soon.

Do you have a reason to only do 1.76?

partim avatar Jun 06 '24 04:06 partim

You can use 1.78 in tests, just set the MSRV to 1.76. MSRV is meant to be the minimum supported version that the crate builds with. We almost never use the latest rust compiler version as there's sometimes bugs. It's not a huge deal, I can fork and patch every release we use but I don't understand the reasoning here.

vavrusa avatar Jun 06 '24 21:06 vavrusa

Earlier we (well, I, really) considered every MSRV change a breaking change. But since this is just not possible (certainly not when we go 1.0), the policy to try to not change it too often isn’t really necessary any more.

We’re currently discussing a new strategy that will provide a decent compromise between people who need to use older compiler versions and those that always are on latest stable.

Either way, apologies if we broke things for you!

partim avatar Jun 07 '24 09:06 partim

0.10.1 has been released and we also updated our MSRV policy. So I guess we can close the issue.

partim avatar Jul 08 '24 09:07 partim