With Rust 1.88, the cfg
predicate language now backs Boolean literals, true
and false
, appearing as a configuration that’s all the time enabled or disabled. This works in Rust conditional compilation with cfg
and cfg_attr
attributes, within the built-in cfg!
macro, and in Cargo [target]
tables in each configuration and manifests, the Rust staff stated. Beforehand, empty predicate lists might be used for unconditional configuration, like cfg(all())
for enabled and cfg(any())
for disabled, however cfg(true)
and cfg(false)
supply a extra direct approach to say what is supposed, the staff stated.
Additionally with Rust 1.88, let
statements now could be chained (&&
) inside if
and whereas
situations, and even intermingle with Boolean expressions. Thusly, there may be much less distinction between if
and if let
and between whereas
and whereas let
. The patterns contained in the let
sub-expressions could be refutable or irrefutable, and bindings are usable in later components of the chain in addition to the physique, based on the Rust staff.
Lastly, the Cargo bundle supervisor now robotically runs rubbish assortment on the cache in its residence listing. In explaining this transformation, the Rust staff stated that when constructing, Cargo downloads and caches crates wanted as dependencies. Traditionally, these downloaded recordsdata had been by no means cleaned up, resulting in an unbounded quantity of disk utilization in Cargo’s residence listing. With Rust 1.88, Cargo introduces a rubbish assortment mechanism to robotically clear up previous recordsdata.