diff --git a/crates/ruff_python_formatter/src/expression/expr_tuple.rs b/crates/ruff_python_formatter/src/expression/expr_tuple.rs index 48c0d86079317e..44eb6e793b35d1 100644 --- a/crates/ruff_python_formatter/src/expression/expr_tuple.rs +++ b/crates/ruff_python_formatter/src/expression/expr_tuple.rs @@ -4,7 +4,6 @@ use crate::expression::parentheses::{ default_expression_needs_parentheses, parenthesized, NeedsParentheses, Parentheses, Parenthesize, }; -use crate::expression::sequence::ExprSequence; use crate::prelude::*; use ruff_formatter::{format_args, write, FormatRuleWithOptions}; use ruff_text_size::TextRange; @@ -94,6 +93,23 @@ impl FormatNodeRule for FormatExprTuple { } } +#[derive(Debug)] +pub(crate) struct ExprSequence<'a> { + elts: &'a [Expr], +} + +impl<'a> ExprSequence<'a> { + pub(crate) const fn new(elts: &'a [Expr]) -> Self { + Self { elts } + } +} + +impl Format> for ExprSequence<'_> { + fn fmt(&self, f: &mut Formatter>) -> FormatResult<()> { + f.join_comma_separated().nodes(self.elts.iter()).finish() + } +} + impl NeedsParentheses for ExprTuple { fn needs_parentheses( &self, diff --git a/crates/ruff_python_formatter/src/expression/mod.rs b/crates/ruff_python_formatter/src/expression/mod.rs index 1924b5a5de9628..ac3a4d682c6370 100644 --- a/crates/ruff_python_formatter/src/expression/mod.rs +++ b/crates/ruff_python_formatter/src/expression/mod.rs @@ -39,7 +39,6 @@ pub(crate) mod expr_unary_op; pub(crate) mod expr_yield; pub(crate) mod expr_yield_from; pub(crate) mod parentheses; -pub(crate) mod sequence; pub(crate) mod string; #[derive(Default)] diff --git a/crates/ruff_python_formatter/src/expression/sequence.rs b/crates/ruff_python_formatter/src/expression/sequence.rs deleted file mode 100644 index 9357a2100e16dd..00000000000000 --- a/crates/ruff_python_formatter/src/expression/sequence.rs +++ /dev/null @@ -1,21 +0,0 @@ -use ruff_formatter::{prelude::Formatter, Format, FormatResult}; -use rustpython_parser::ast::Expr; - -use crate::{builders::PyFormatterExtensions, context::PyFormatContext}; - -#[derive(Debug)] -pub(crate) struct ExprSequence<'a> { - elts: &'a [Expr], -} - -impl<'a> ExprSequence<'a> { - pub(crate) const fn new(elts: &'a [Expr]) -> Self { - Self { elts } - } -} - -impl Format> for ExprSequence<'_> { - fn fmt(&self, f: &mut Formatter>) -> FormatResult<()> { - f.join_comma_separated().nodes(self.elts.iter()).finish() - } -} diff --git a/crates/ruff_python_formatter/src/statement/stmt_delete.rs b/crates/ruff_python_formatter/src/statement/stmt_delete.rs index df5f32ae9ad001..0f9fadec976af5 100644 --- a/crates/ruff_python_formatter/src/statement/stmt_delete.rs +++ b/crates/ruff_python_formatter/src/statement/stmt_delete.rs @@ -1,9 +1,8 @@ -use crate::builders::optional_parentheses; +use crate::builders::{optional_parentheses, PyFormatterExtensions}; use crate::comments::dangling_node_comments; use crate::expression::parentheses::Parenthesize; -use crate::expression::sequence::ExprSequence; use crate::{AsFormat, FormatNodeRule, PyFormatter}; -use ruff_formatter::prelude::{block_indent, space, text}; +use ruff_formatter::prelude::{block_indent, format_with, space, text}; use ruff_formatter::{write, Buffer, Format, FormatResult}; use rustpython_parser::ast::StmtDelete; @@ -37,7 +36,10 @@ impl FormatNodeRule for FormatStmtDelete { [single] => { write!(f, [single.format().with_options(Parenthesize::IfBreaks)]) } - targets => optional_parentheses(&ExprSequence::new(targets)).fmt(f), + targets => { + let item = format_with(|f| f.join_comma_separated().nodes(targets.iter()).finish()); + optional_parentheses(&item).fmt(f) + } } }