To format code that requires edition 2018, create a `rustfmt.toml` [configuration](#configuring-rustfmt) file containing:
```toml
-edition = "Edition2018"
+edition = "2018"
```
## Limitations
```yaml
language: rust
-rust:
-- nightly
before_script:
- rustup component add rustfmt-preview
script:
Rustfmt is designed to be very configurable. You can create a TOML file called
`rustfmt.toml` or `.rustfmt.toml`, place it in the project or any other parent
directory and it will apply the options in that file. See `rustfmt
---config-help` for the options which are available, or if you prefer to see
+--help=config` for the options which are available, or if you prefer to see
visual style previews, [Configurations.md](Configurations.md).
By default, Rustfmt uses a style which conforms to the [Rust style guide][style
* If you're having issues compiling Rustfmt (or compile errors when trying to
install), make sure you have the most recent version of Rust installed.
-* If you get an error like `error while loading shared libraries` while starting
- up rustfmt you should try the following:
-
- On Linux:
-
- ```
- export LD_LIBRARY_PATH=$(rustc --print sysroot)/lib:$LD_LIBRARY_PATH
- ```
-
- On MacOS:
-
- ```
- export DYLD_LIBRARY_PATH=$(rustc --print sysroot)/lib:$DYLD_LIBRARY_PATH
- ```
-
- On Windows (Git Bash/Mingw):
-
- ```
- export PATH=$(rustc --print sysroot)/lib/rustlib/x86_64-pc-windows-gnu/lib/:$PATH
- ```
-
- (Substitute `x86_64` by `i686` and `gnu` by `msvc` depending on which version of rustc was used to install rustfmt).
-
* You can change the way rustfmt emits the changes with the --emit flag:
Example:
```
- cargo fmt --emit files
+ cargo fmt -- --emit files
```
Options:
| Flag |Description| Nightly Only |
|:---:|:---:|:---:|
| files | overwrites output to files | No |
- | stdout | writes output to stdout | No |
+ | stdout | writes output to stdout | No |
| coverage | displays how much of the input file was processed | Yes |
| checkstyle | emits in a checkstyle format | Yes |