With Rust 1.88, the cfg
predicate language now backs Boolean literals, true
and false
, performing 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 group stated. Beforehand, empty predicate lists could possibly 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 approach to say what is supposed, the group 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 may be 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 keeping with the Rust group.
Lastly, the Cargo package deal supervisor now robotically runs rubbish assortment on the cache in its dwelling listing. In explaining this modification, the Rust group stated that when constructing, Cargo downloads and caches crates wanted as dependencies. Traditionally, these downloaded information have been by no means cleaned up, resulting in an unbounded quantity of disk utilization in Cargo’s dwelling listing. With Rust 1.88, Cargo introduces a rubbish assortment mechanism to robotically clear up previous information.