With Rust 1.88, the cfg
predicate language now backs Boolean literals, true
and false
, appearing as a configuration that’s at all times 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 workforce 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)
provide a extra direct technique to say what is supposed, the workforce stated.
Additionally with Rust 1.88, let
statements now might be chained (&&
) inside if
and whereas
circumstances, and even intermingle with Boolean expressions. Thusly, there’s much less distinction between if
and if let
and between whereas
and whereas let
. The patterns contained in the let
sub-expressions might be refutable or irrefutable, and bindings are usable in later elements of the chain in addition to the physique, in response to the Rust workforce.
Lastly, the Cargo bundle supervisor now mechanically runs rubbish assortment on the cache in its residence listing. In explaining this modification, the Rust workforce 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 mechanically clear up previous recordsdata.