- 1. What is rustc?
- 2. Command-line Arguments
- 2.1. Print Options
- 2.2. Codegen Options
- 3. Jobserver
- 4. Lints
- 4.1. Lint Levels
- 4.2. Lint Groups
- 4.3. Lint Listing
- 4.3.1. Allowed-by-default Lints
- 4.3.2. Warn-by-default Lints
- 4.3.3. Deny-by-default Lints
- 5. JSON Output
- 6. Tests
- 7. Targets
- 7.1. Built-in Targets
- 7.2. Custom Targets
- 7.3. Known Issues
- 8. Profile-guided Optimization
- 9. Instrumentation-based Code Coverage
- 10. Linker-plugin-based LTO
- 11. Checking Conditional Configurations
- 11.1. Cargo Specifics
- 12. Remap source paths
- 13. Exploit Mitigations
- 14. Symbol Mangling
- 14.1. v0 Symbol Format
- 15. Contributing to rustc
- 16. Platform Support
- 16.1. Target Tier Policy
- 16.2. Template for Target-specific Documentation
- 16.3. arm64ec-pc-windows-msvc
- 16.4. *-apple-darwin
- 16.4.1. i686-apple-darwin
- 16.4.2. x86_64h-apple-darwin
- 16.4.3. arm64e-apple-darwin
- 16.5. *-apple-ios
- 16.5.1. *-apple-ios-macabi
- 16.5.2. arm64e-apple-ios
- 16.6. *-apple-tvos
- 16.6.1. arm64e-apple-tvos
- 16.7. *-apple-watchos
- 16.8. *-apple-visionos
- 16.9. aarch64-nintendo-switch-freestanding
- 16.10. aarch64-unknown-linux-musl
- 16.11. aarch64_be-unknown-none-softfloat
- 16.12. amdgcn-amd-amdhsa
- 16.13. armeb-unknown-linux-gnueabi
- 16.14. arm-none-eabi
- 16.14.1. armv4t-none-eabi
- 16.14.2. armv5te-none-eabi
- 16.14.3. armv7r-none-eabi
- 16.14.4. armv8r-none-eabihf
- 16.14.5. thumbv6m-none-eabi
- 16.14.6. thumbv7em-none-eabi*
- 16.14.7. thumbv7m-none-eabi
- 16.14.8. thumbv8m.base-none-eabi
- 16.14.9. thumbv8m.main-none-eabi*
- 16.15. armv5te-unknown-linux-gnueabi
- 16.16. armv6k-nintendo-3ds
- 16.17. armv7-rtems-eabihf
- 16.18. armv7-sony-vita-newlibeabihf
- 16.19. armv7-unknown-linux-uclibceabi
- 16.20. armv7-unknown-linux-uclibceabihf
- 16.21. armv7a-vex-v5
- 16.22. *-android and *-androideabi
- 16.23. *-linux-ohos
- 16.24. *-hurd-gnu
- 16.25. aarch64-unknown-teeos
- 16.26. avr-none
- 16.27. *-espidf
- 16.28. *-unknown-fuchsia
- 16.29. *-unknown-trusty
- 16.30. *-kmc-solid_*
- 16.31. csky-unknown-linux-gnuabiv2*
- 16.32. hexagon-unknown-linux-musl
- 16.33. hexagon-unknown-none-elf
- 16.34. illumos
- 16.35. loongarch*-unknown-linux-*
- 16.36. loongarch*-unknown-none*
- 16.37. *-lynxos178-*
- 16.38. m68k-unknown-linux-gnu
- 16.39. m68k-unknown-none-elf
- 16.40. mips64-openwrt-linux-musl
- 16.41. mips64-unknown-linux-muslabi64
- 16.42. mipsel-sony-psx
- 16.43. mipsel-unknown-linux-gnu
- 16.44. mips*-mti-none-elf
- 16.45. mipsisa*r6*-unknown-linux-gnu*
- 16.46. nvptx64-nvidia-cuda
- 16.47. powerpc-unknown-openbsd
- 16.48. powerpc-unknown-linux-gnuspe
- 16.49. powerpc-unknown-linux-muslspe
- 16.50. powerpc64-ibm-aix
- 16.51. powerpc64-unknown-linux-musl
- 16.52. powerpc64le-unknown-linux-gnu
- 16.53. powerpc64le-unknown-linux-musl
- 16.54. riscv32e*-unknown-none-elf
- 16.55. riscv32i*-unknown-none-elf
- 16.56. riscv32im-risc0-zkvm-elf
- 16.57. riscv32imac-unknown-xous-elf
- 16.58. riscv64gc-unknown-linux-gnu
- 16.59. riscv64gc-unknown-linux-musl
- 16.60. s390x-unknown-linux-gnu
- 16.61. s390x-unknown-linux-musl
- 16.62. sparc-unknown-none-elf
- 16.63. solaris
- 16.64. *-nto-qnx-*
- 16.65. *-unikraft-linux-musl
- 16.66. *-unknown-hermit
- 16.67. *-unknown-freebsd
- 16.68. *-unknown-netbsd*
- 16.69. *-unknown-openbsd
- 16.70. *-unknown-redox
- 16.71. *-unknown-uefi
- 16.72. *-unknown-windows-msvc
- 16.73. *-uwp-windows-msvc
- 16.74. *-wrs-vxworks
- 16.75. wasm32-wasip1
- 16.76. wasm32-wasip1-threads
- 16.77. wasm32-wasip2
- 16.78. wasm32-wali-linux-musl
- 16.79. wasm32-unknown-emscripten
- 16.80. wasm32-unknown-unknown
- 16.81. wasm32v1-none
- 16.82. wasm64-unknown-unknown
- 16.83. windows-gnu
- 16.84. windows-gnullvm
- 16.85. *-win7-windows-gnu
- 16.86. *-win7-windows-msvc
- 16.87. x86_64-fortanix-unknown-sgx
- 16.88. x86_64-pc-cygwin
- 16.89. x86_64-unknown-linux-none
- 16.90. x86_64-unknown-none
- 16.91. xtensa-*-none-elf
- 16.92. *-nuttx-*
- 16.93. i386-lynx-lynxos178