| # These defaults are meant for contributors to the compiler who do not modify codegen or LLVM |
| [build] |
| # Contributors working on the compiler will probably expect compiler docs to be generated. |
| compiler-docs = true |
| |
| [rust] |
| # This enables `RUSTC_LOG=debug`, avoiding confusing situations |
| # where adding `debug!()` appears to do nothing. |
| # However, it makes running the compiler slightly slower. |
| debug-logging = true |
| # Get actually-useful information from backtraces, profiling, etc. with minimal added bytes |
| debuginfo-level = "line-tables-only" |
| # This greatly increases the speed of rebuilds, especially when there are only minor changes. However, it makes the initial build slightly slower. |
| incremental = true |
| # Print backtrace on internal compiler errors during bootstrap |
| backtrace-on-ice = true |
| # Make the compiler and standard library faster to build, at the expense of a ~20% runtime slowdown. |
| lto = "off" |
| # Forces frame pointers to be used with `-Cforce-frame-pointers`. |
| # This can be helpful for profiling at a small performance cost. |
| frame-pointers = true |
| |
| [llvm] |
| # Having this set to true disrupts compiler development workflows for people who use `llvm.download-ci-llvm = true` |
| # because we don't provide ci-llvm on the `rustc-alt-builds` server. Therefore, it is kept off by default. |
| assertions = false |
| # Enable warnings during the LLVM compilation (when LLVM is changed, causing a compilation) |
| enable-warnings = true |
| # Will download LLVM from CI if available on your platform. |
| # If you intend to modify `src/llvm-project`, use `"if-unchanged"` or `false` instead. |
| download-ci-llvm = true |