mirror of
https://github.com/charliermarsh/ruff
synced 2025-10-05 15:42:51 +02:00
Add rustfmt.toml file (#18197)
My editor runs `rustfmt` on save to format Rust code, not `cargo fmt`. With our recent bump to the Rust 2024 edition, the formatting that `rustfmt`/`cargo fmt` applies changed. Unfortunately, `rustfmt` and `cargo fmt` have different behaviors for determining which edition to use when formatting: `cargo fmt` looks for the Rust edition in `Cargo.toml`, whereas `rustfmt` looks for it in `rustfmt.toml`. As a result, whenever I save, I have to remember to manually run `cargo fmt` before committing/pushing. There is an open issue asking for `rustfmt` to also look at `Cargo.toml` when it's present (https://github.com/rust-lang/rust.vim/issues/368), but it seems like they "closed" that issue just by bumping the default edition (six years ago, from 2015 to 2018). In the meantime, this PR adds a `rustfmt.toml` file with our current Rust edition so that both invocation have the same behavior. I don't love that this duplicates information in `Cargo.toml`, but I've added a reminder comment there to hopefully ensure that we bump the edition in both places three years from now.
This commit is contained in:
@@ -3,6 +3,7 @@ members = ["crates/*"]
|
||||
resolver = "2"
|
||||
|
||||
[workspace.package]
|
||||
# Please update rustfmt.toml when bumping the Rust edition
|
||||
edition = "2024"
|
||||
rust-version = "1.85"
|
||||
homepage = "https://docs.astral.sh/ruff"
|
||||
|
@@ -2,8 +2,13 @@
|
||||
name = "ruff_text_size"
|
||||
version = "0.0.0"
|
||||
publish = false
|
||||
edition = "2021"
|
||||
rust-version = "1.67.1"
|
||||
authors = { workspace = true }
|
||||
edition = { workspace = true }
|
||||
rust-version = { workspace = true }
|
||||
homepage = { workspace = true }
|
||||
documentation = { workspace = true }
|
||||
repository = { workspace = true }
|
||||
license = { workspace = true }
|
||||
|
||||
[dependencies]
|
||||
serde = { workspace = true, optional = true }
|
||||
|
@@ -6,7 +6,7 @@
|
||||
//! bindings to the Workspace API
|
||||
|
||||
use crate::{TextRange, TextSize};
|
||||
use schemars::{r#gen::SchemaGenerator, schema::Schema, JsonSchema};
|
||||
use schemars::{JsonSchema, r#gen::SchemaGenerator, schema::Schema};
|
||||
|
||||
impl JsonSchema for TextSize {
|
||||
fn schema_name() -> String {
|
||||
|
@@ -1,6 +1,6 @@
|
||||
use {
|
||||
crate::{TextRange, TextSize},
|
||||
serde::{de, Deserialize, Deserializer, Serialize, Serializer},
|
||||
serde::{Deserialize, Deserializer, Serialize, Serializer, de},
|
||||
};
|
||||
|
||||
impl Serialize for TextSize {
|
||||
|
@@ -1,6 +1,6 @@
|
||||
use {
|
||||
ruff_text_size::{TextRange, TextSize},
|
||||
serde_test::{assert_de_tokens_error, assert_tokens, Token},
|
||||
serde_test::{Token, assert_de_tokens_error, assert_tokens},
|
||||
std::ops,
|
||||
};
|
||||
|
||||
|
2
rustfmt.toml
Normal file
2
rustfmt.toml
Normal file
@@ -0,0 +1,2 @@
|
||||
edition = "2024"
|
||||
style_edition = "2024"
|
Reference in New Issue
Block a user