NLnetLabs / domain

A DNS library for Rust.
https://nlnetlabs.nl/projects/domain/about/
BSD 3-Clause "New" or "Revised" License
332 stars 56 forks source link

Bump to rust 1.78 #320

Closed tertsdiepraam closed 1 month ago

tertsdiepraam commented 1 month ago

Because triomphe requires 1.76 and we might as well bump to whatever Alpine has.

hunts commented 1 month ago

It is not always ideal for a library to chase the latest compiler as MSRV. If 1.76 works, I think we should just set to 1.76 rather then 1.78. The end binary depends on domain crate could have situations that cause them not easy to upgrade to latest rustc in timely manner.

partim commented 1 month ago

As a base for our decisions, we are using the rustc version that Alpine releases (ie., not edge but currently 3.20) have. Normally they are a few versions back but for some reason they currently have 1.78, so we decided to pick that in the hope to not having the bump again soon.

If you provide some guidance as to what your requirements are, we happily change this policy.

tertsdiepraam commented 1 month ago

Not using 1.78 is fine with me, but I was looking into using {split_,}{first,last}_chunk{,_mut} which were introduced in 1.77. Another possibly useful change in 1.77 is that the net module was moved to core.

hunts commented 1 month ago

I don't think it is a deal breaker when domain bump the Rust MSRV to latest if there is a need. We always have the option to use a forked version. But just let you know the potential issue with bumping MSRV.

In our use case, the DNS server integrates with a WebAssembly runtime as the sandbox for hosting AoT compiled WSAM programs. Upgrade rustc is sometimes difficult if they don't play nicely together. It takes quite some time for us to fix and re-release those things.

partim commented 1 month ago

I have proposed a new way of handling MSRV in #330. Perhaps you can have a quick look if that would work for you?