Upstream, most of the compiler's internal libraries were changed in how they are built and packaged. Before, they were individual shared libraries, but now they are built as rlibs (static) and finally linked into one librust_driver.so. However, the rust-std component is collected and installed by just grabbing *all* rlibs in the build sysroot, including all those compiler libs that are considered unstable for external users. rust-std-static-1.37.0-1.fc32.x86_64.rpm -- Size 39623589 (37.8 MiB) rust-std-static-1.38.0-1.fc32.x86_64.rpm -- Size 620606290 (592 MiB) See the referenced upstream issues, as well as the pull request where I am working on reducing the included rlibs. The problem is actually much worse for us though, because we build with full compiler debuginfo. Some of that is stripped in rpmbuild like normal, in the rlib archive's .o members, but Rust-specific members also include debug metadata that is not stripped.
On the plus side, the main rust package is smaller with that compiler lib change: rust-1.37.0-1.fc32.x86_64.rpm -- Size 41209126 (39.3 MiB) rust-1.38.0-1.fc32.x86_64.rpm -- Size 19397218 (18.5 MiB) So once we filter rust-std rlibs, the total rust toolchain size will be much smaller.
rust-1.38.0-2.fc32.x86_64.rpm -- Size 19393383 (18.5 MiB) rust-std-static-1.38.0-2.fc32.x86_64.rpm -- Size 17471432 (16.7 MiB)