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 may very well 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 option to say what is supposed, the staff stated.
Additionally with Rust 1.88, let
statements now will 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 will be refutable or irrefutable, and bindings are usable in later elements of the chain in addition to the physique, in accordance with the Rust staff.
Lastly, the Cargo package deal supervisor now routinely runs rubbish assortment on the cache in its residence listing. In explaining this variation, 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 routinely clear up outdated recordsdata.