- Introduced minimum publish age configurations, also known as dependency cooldowns. When the relevant config is set, the resolver ignores versions published more recently than that, unless they are already in Cargo.lock. (RFC 3923) docs #17335
- cargo-install: now uses the existing lockfile in the .crate tarball by default. --locked in cargo install becomes a no-op. #17388
show comments
n_u
> Cargo now reports unused dependencies to users, e.g.
> warning: unused dependency `tracing-subscriber`
--> Cargo.toml:23:1
|
23 | tracing-subscriber.workspace = true
| ^^^^^^^^^^^^^^^^^^
|
= note: `cargo::unused_dependencies` is set to `warn` by default
help: consider removing the dependency on `tracing-subscriber`
Heck yes
show comments
ammar_az
This release is so big that multiple useful stabilized API aren't event mentioned in the blog post like:
DropGuard is nice. This is basically `defer` in Go I think.
show comments
steveklabnik
A monumental release. Thanks to everyone who worked so hard on all of these long-term features that are finally landing.
ComputerGuru
It would probably be better to wait for the official release blog post for submission to HN, no?
show comments
jadbox
Is the compiler any faster now? Compiling takes forever. I'm also tired of always having to do "cargo clean" everyday to clear out 90gb of temp files.
show comments
pmichaud
Nice work... but I still yearn for a stable ABI!
show comments
mkl
> cargo install ignores the minimum publish age, for both the installed crate and its dependencies
Why is that? It seems like that makes min-publish-age much less effective.
show comments
ustad
“Never type” - Feel like I’m stupid for not having a clue what that means.
show comments
uncivilized
The blog post says min-publish-age depends on the registry recording a pubtime. Why would pubtime not exist in the index?
lukax
Awesome timing.
I just spent last few days fixing arena leaks (Bumpalo doesn't call drop) and had to use allocator-api2 for Vec::new_in which is now available in stable Rust.
Thanks to all the maintainers and contributors! That's one of the biggest releases in a long time!
show comments
fluffiac
yay never type!!
when can we expect `Result::into_ok` and `Result::into_err` to land? the blog post includes the `infallible_unwrap` demo which is the exact functionality these two functions implement. i wonder why they didn't release these at the same time as never?
show comments
wpollock
This is great news! Well done Rust team!
As this release seems to include breaking changes, shouldn't the major version number have been bumped, as per semver?
Has the Rust book(s) been updated to include the new APIs?
Sol-
Do language features still matter except insofar as they make the LLM verification loop better?
show comments
einpoklum
Would you say that having 100 releases of the language more of a positive thing or a negative thing?
For comparison, C has had, say, 4 versions, and C++ 7 had versions (depending on how you count). But - Java has had 27 main versions and probably more than a 100 if you count minor versions/updates.
wait other things not named jensen happened today? whoa
show comments
KolmogorovComp
I haven’t seen any blog on the topic but I fully believe in the age of coding agents and LLM backward compatibility is a bit less important than it has been in the past and should be relaxed in some cases to allow language to move faster.
show comments
Surac
Still non ABI. Why is ist so hard? what is holding them back. Andy why does it need a unsave keyword? can't they marshal types like other languages?
Woohoo, that's a release! My personal favorites:
- Stabilize never type
- Stabilize custom allocators
- Introduced minimum publish age configurations, also known as dependency cooldowns. When the relevant config is set, the resolver ignores versions published more recently than that, unless they are already in Cargo.lock. (RFC 3923) docs #17335
- cargo-install: now uses the existing lockfile in the .crate tarball by default. --locked in cargo install becomes a no-op. #17388
> Cargo now reports unused dependencies to users, e.g.
> warning: unused dependency `tracing-subscriber` --> Cargo.toml:23:1 | 23 | tracing-subscriber.workspace = true | ^^^^^^^^^^^^^^^^^^ | = note: `cargo::unused_dependencies` is set to `warn` by default help: consider removing the dependency on `tracing-subscriber`
Heck yes
This release is so big that multiple useful stabilized API aren't event mentioned in the blog post like:
- bool::toggle() https://doc.rust-lang.org/stable/std/primitive.bool.html#met...
- Box::map() https://doc.rust-lang.org/stable/std/boxed/struct.Box.html#m...
- str::trim_prefix(), str::trim_suffix, Path::trim_prefix()
DropGuard is nice. This is basically `defer` in Go I think.
A monumental release. Thanks to everyone who worked so hard on all of these long-term features that are finally landing.
It would probably be better to wait for the official release blog post for submission to HN, no?
Is the compiler any faster now? Compiling takes forever. I'm also tired of always having to do "cargo clean" everyday to clear out 90gb of temp files.
Nice work... but I still yearn for a stable ABI!
> cargo install ignores the minimum publish age, for both the installed crate and its dependencies
Why is that? It seems like that makes min-publish-age much less effective.
“Never type” - Feel like I’m stupid for not having a clue what that means.
The blog post says min-publish-age depends on the registry recording a pubtime. Why would pubtime not exist in the index?
Awesome timing.
I just spent last few days fixing arena leaks (Bumpalo doesn't call drop) and had to use allocator-api2 for Vec::new_in which is now available in stable Rust.
https://github.com/bancek/rust-sass/pull/1
Finally, "never" happened
Thanks to all the maintainers and contributors! That's one of the biggest releases in a long time!
yay never type!!
when can we expect `Result::into_ok` and `Result::into_err` to land? the blog post includes the `infallible_unwrap` demo which is the exact functionality these two functions implement. i wonder why they didn't release these at the same time as never?
This is great news! Well done Rust team!
As this release seems to include breaking changes, shouldn't the major version number have been bumped, as per semver?
Has the Rust book(s) been updated to include the new APIs?
Do language features still matter except insofar as they make the LLM verification loop better?
Would you say that having 100 releases of the language more of a positive thing or a negative thing?
For comparison, C has had, say, 4 versions, and C++ 7 had versions (depending on how you count). But - Java has had 27 main versions and probably more than a 100 if you count minor versions/updates.
> The never type, spelled ! in code
Is that the raven that says Ni?
https://www.youtube.com/watch?v=bLiXjaPqSyY
wait other things not named jensen happened today? whoa
I haven’t seen any blog on the topic but I fully believe in the age of coding agents and LLM backward compatibility is a bit less important than it has been in the past and should be relaxed in some cases to allow language to move faster.
Still non ABI. Why is ist so hard? what is holding them back. Andy why does it need a unsave keyword? can't they marshal types like other languages?