1.44.0

1.44.0 (2020-06-04) #

Language #

Syntax-only changes

#[cfg(FALSE)]
mod foo {
    mod bar {
        mod baz; // `foo/bar/baz.rs` doesn't exist, but no error!
    }
}

These are still rejected semantically, so you will likely receive an error but these changes can be seen and parsed by macros and conditional compilation.

Compiler #

Libraries #

Stabilized APIs #

Cargo #

  • Added the cargo tree command which will print a tree graph of your dependencies. E.g.
      mdbook v0.3.2 (/Users/src/rust/mdbook)
    ├── ammonia v3.0.0
    │   ├── html5ever v0.24.0
    │   │   ├── log v0.4.8
    │   │   │   └── cfg-if v0.1.9
    │   │   ├── mac v0.1.1
    │   │   └── markup5ever v0.9.0
    │   │       ├── log v0.4.8 (*)
    │   │       ├── phf v0.7.24
    │   │       │   └── phf_shared v0.7.24
    │   │       │       ├── siphasher v0.2.3
    │   │       │       └── unicase v1.4.2
    │   │       │           [build-dependencies]
    │   │       │           └── version_check v0.1.5
    ...
    
    You can also display dependencies on multiple versions of the same crate with cargo tree -d (short for cargo tree --duplicates).

Misc #

Compatibility Notes #

Internal Only #

These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.