Chapter 3. The rustfmt formatting tool

With the rustfmt formatting tool, you can automatically format the source code of your Rust programs. You can use rusftmt either as a standalone tool or with Cargo.

3.1. Installing rustfmt

Complete the following steps to install the rustfmt formatting tool.

Prerequisites

Procedure

Run the following command to install rustfmt:

  • On Red Hat Enterprise Linux 7:

    # yum install rust-toolset-1.62-rustfmt
  • On Red Hat Enterprise Linux 8:

    # yum install rustfmt
  • On Red Hat Enterprise Linux 9:

    # dnf install rustfmt

3.2. Using rustfmt as a standalone tool

Use rustfmt as a standalone tool to format a Rust source file and all its dependencies. As an alternative, use rustfmt with the Cargo build tool. For more information, see Using rustfmt with Cargo.

Prerequisites

Procedure

To format a Rust source file using rustfmt as a standalone tool, run the following command:

  • On Red Hat Enterprise Linux 7:

    $ scl enable rust-toolset-1.62 'rustfmt <source-file>'
    • Replace <source_file> with the name of your source file.
      Alternatively, you can replace <source_file> with standard input. rustfmt then provides its output in standard output.
  • On Red Hat Enterprise Linux 8:

    $ rustfmt <source-file>
    • Replace <source_file> with the name of your source file.
      Alternatively, you can replace <source_file> with standard input. rustfmt then provides its output in standard output.
  • On Red Hat Enterprise Linux 9:

    $ rustfmt <source-file>
    • Replace <source_file> with the name of your source file.
      Alternatively, you can replace <source_file> with standard input. rustfmt then provides its output in standard output.
Note

By default, rustfmt modifies the affected files without displaying details or creating backups. To display details and create backups, run rustfmt with the --write-mode value.

3.3. Using rustfmt with the Cargo build tool

Use the rustfmt tool with Cargo to format a Rust source file and all its dependencies.
As an alternative, use rustfmt as a standalone tool. For more information, see Using rustfmt as a standalone tool.

Prerequisites

Procedure

To format all source files in a Cargo code package, run the following command:

  • On Red Hat Enterprise Linux 7:

    $ scl enable rust-toolset-1.62 'cargo fmt'
  • On Red Hat Enterprise Linux 8:

    $ cargo fmt
  • On Red Hat Enterprise Linux 9:

    $ cargo fmt
Note

To change the rustfmt formatting options, create the configuration file rustfmt.toml in the project directory and add your configurations to the file.

3.4. Additional resources

  • To display the help pages of rustfmt, run:

    • On Red Hat Enterprise Linux 7:

      $ scl enable rust-toolset-1.62 'rustfmt --help'
    • On Red Hat Enterprise Linux 8:

      $ rustfmt --help
    • On Red Hat Enterprise Linux 9:

      $ rustfmt --help
  • To configure the rustfmt tool, edit the file Configurations.md.

    • On Red Hat Enterprise Linux 7, you can find it under the following path:

      /opt/rh/rust-toolset-1.62/root/usr/share/doc/rust-toolset-1.62-rustfmt-1.62.1/Configurations.md

    • On Red Hat Enterprise Linux 8, you can find it under the following path:

      /usr/share/doc/rustfmt/Configurations.md

    • On Red Hat Enterprise Linux 9, you can find it under the following path:

      /usr/share/doc/rustfmt/Configurations.md