gate optional_parentheses branches behind stable

This commit is contained in:
Brent Westbrook 2025-12-04 10:37:33 -05:00
parent 3a20c6f196
commit bdd5ba5e7f
No known key found for this signature in database
1 changed files with 13 additions and 2 deletions

View File

@ -19,6 +19,7 @@ use crate::expression::{
maybe_parenthesize_expression, maybe_parenthesize_expression,
}; };
use crate::other::interpolated_string::InterpolatedStringLayout; use crate::other::interpolated_string::InterpolatedStringLayout;
use crate::preview::is_parenthesize_lambda_bodies_enabled;
use crate::statement::trailing_semicolon; use crate::statement::trailing_semicolon;
use crate::string::StringLikeExtensions; use crate::string::StringLikeExtensions;
use crate::string::implicit::{ use crate::string::implicit::{
@ -306,7 +307,12 @@ impl Format<PyFormatContext<'_>> for FormatStatementsLastExpression<'_> {
{ {
return if let Expr::Lambda(lambda) = value { return if let Expr::Lambda(lambda) = value {
let lambda = lambda.format().with_options(ExprLambdaLayout::Assignment); let lambda = lambda.format().with_options(ExprLambdaLayout::Assignment);
if can_omit_optional_parentheses(value, f.context()) { // See the lambda comment in `can_omit_optional_parentheses` for more
// details. The preview behavior resolves this, but we still need this
// branch for now on stable.
if !is_parenthesize_lambda_bodies_enabled(f.context())
&& can_omit_optional_parentheses(value, f.context())
{
optional_parentheses(&lambda).fmt(f) optional_parentheses(&lambda).fmt(f)
} else { } else {
parenthesize_if_expands(&lambda).fmt(f) parenthesize_if_expands(&lambda).fmt(f)
@ -588,7 +594,12 @@ impl Format<PyFormatContext<'_>> for FormatStatementsLastExpression<'_> {
let formatted_value = format_with(|f| { let formatted_value = format_with(|f| {
if let Expr::Lambda(lambda) = value { if let Expr::Lambda(lambda) = value {
let lambda = lambda.format().with_options(ExprLambdaLayout::Assignment); let lambda = lambda.format().with_options(ExprLambdaLayout::Assignment);
if can_omit_optional_parentheses(value, f.context()) { // See the lambda comment in `can_omit_optional_parentheses` for more
// details. The preview behavior resolves this, but we still need this
// branch for now on stable.
if !is_parenthesize_lambda_bodies_enabled(f.context())
&& can_omit_optional_parentheses(value, f.context())
{
optional_parentheses(&lambda).fmt(f) optional_parentheses(&lambda).fmt(f)
} else { } else {
parenthesize_if_expands(&lambda).fmt(f) parenthesize_if_expands(&lambda).fmt(f)