diff --git a/crates/ruff_python_formatter/src/expression/expr_lambda.rs b/crates/ruff_python_formatter/src/expression/expr_lambda.rs index fa2a4ce3e7..8f2f81e5b3 100644 --- a/crates/ruff_python_formatter/src/expression/expr_lambda.rs +++ b/crates/ruff_python_formatter/src/expression/expr_lambda.rs @@ -11,7 +11,12 @@ pub struct FormatExprLambda; impl FormatNodeRule for FormatExprLambda { fn fmt_fields(&self, _item: &ExprLambda, f: &mut PyFormatter) -> FormatResult<()> { - write!(f, [not_yet_implemented_custom_text("lambda x: True")]) + write!( + f, + [not_yet_implemented_custom_text( + "lambda NOT_YET_IMPLEMENTED_lambda: True" + )] + ) } } diff --git a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@py_38__pep_570.py.snap b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@py_38__pep_570.py.snap index fb9745c292..984c4bb1f9 100644 --- a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@py_38__pep_570.py.snap +++ b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@py_38__pep_570.py.snap @@ -61,16 +61,16 @@ lambda a, b=1, /, c=2, d=3, *, e=4, f=5: 1 -lambda a, /: a -+lambda x: True ++lambda NOT_YET_IMPLEMENTED_lambda: True -lambda a, b, /, c, d, *, e, f: a -+lambda x: True ++lambda NOT_YET_IMPLEMENTED_lambda: True -lambda a, b, /, c, d, *args, e, f, **kwargs: args -+lambda x: True ++lambda NOT_YET_IMPLEMENTED_lambda: True -lambda a, b=1, /, c=2, d=3, *, e=4, f=5: 1 -+lambda x: True ++lambda NOT_YET_IMPLEMENTED_lambda: True ``` ## Ruff Output @@ -113,13 +113,13 @@ def long_one_with_long_parameter_names( pass -lambda x: True +lambda NOT_YET_IMPLEMENTED_lambda: True -lambda x: True +lambda NOT_YET_IMPLEMENTED_lambda: True -lambda x: True +lambda NOT_YET_IMPLEMENTED_lambda: True -lambda x: True +lambda NOT_YET_IMPLEMENTED_lambda: True ``` ## Black Output diff --git a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@py_38__pep_572.py.snap b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@py_38__pep_572.py.snap index 62a7d893b3..cb2a031c4e 100644 --- a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@py_38__pep_572.py.snap +++ b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@py_38__pep_572.py.snap @@ -76,10 +76,10 @@ while x := f(x): -(x := lambda: 1) -(x := lambda: (y := 1)) -lambda line: (m := re.match(pattern, line)) and m.group(1) -+lambda x: True -+(x := lambda x: True) -+(x := lambda x: True) -+lambda x: True ++lambda NOT_YET_IMPLEMENTED_lambda: True ++(x := lambda NOT_YET_IMPLEMENTED_lambda: True) ++(x := lambda NOT_YET_IMPLEMENTED_lambda: True) ++lambda NOT_YET_IMPLEMENTED_lambda: True x = (y := 0) (z := (y := (x := 0))) (info := (name, phone, *rest)) @@ -132,10 +132,10 @@ def foo(answer: (p := 42) = 5): pass -lambda x: True -(x := lambda x: True) -(x := lambda x: True) -lambda x: True +lambda NOT_YET_IMPLEMENTED_lambda: True +(x := lambda NOT_YET_IMPLEMENTED_lambda: True) +(x := lambda NOT_YET_IMPLEMENTED_lambda: True) +lambda NOT_YET_IMPLEMENTED_lambda: True x = (y := 0) (z := (y := (x := 0))) (info := (name, phone, *rest)) diff --git a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__bracketmatch.py.snap b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__bracketmatch.py.snap index ae89b4e872..8201dc55c6 100644 --- a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__bracketmatch.py.snap +++ b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__bracketmatch.py.snap @@ -23,8 +23,8 @@ lambda x=lambda y={1: 3}: y['x':lambda y: {1: 2}]: x pass -pem_spam = lambda l, spam={"x": 3}: not spam.get(l.strip()) -lambda x=lambda y={1: 3}: y["x" : lambda y: {1: 2}]: x -+pem_spam = lambda x: True -+lambda x: True ++pem_spam = lambda NOT_YET_IMPLEMENTED_lambda: True ++lambda NOT_YET_IMPLEMENTED_lambda: True ``` ## Ruff Output @@ -32,8 +32,8 @@ lambda x=lambda y={1: 3}: y['x':lambda y: {1: 2}]: x ```py for ((x in {}) or {})["a"] in x: pass -pem_spam = lambda x: True -lambda x: True +pem_spam = lambda NOT_YET_IMPLEMENTED_lambda: True +lambda NOT_YET_IMPLEMENTED_lambda: True ``` ## Black Output diff --git a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__expression.py.snap b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__expression.py.snap index 8fc2eb367f..97dc2ee72d 100644 --- a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__expression.py.snap +++ b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__expression.py.snap @@ -291,13 +291,13 @@ last_call() - "port1": port1_resource, - "port2": port2_resource, -}[port_id] -+lambda x: True -+lambda x: True -+lambda x: True -+lambda x: True -+lambda x: True -+manylambdas = lambda x: True -+foo = lambda x: True ++lambda NOT_YET_IMPLEMENTED_lambda: True ++lambda NOT_YET_IMPLEMENTED_lambda: True ++lambda NOT_YET_IMPLEMENTED_lambda: True ++lambda NOT_YET_IMPLEMENTED_lambda: True ++lambda NOT_YET_IMPLEMENTED_lambda: True ++manylambdas = lambda NOT_YET_IMPLEMENTED_lambda: True ++foo = lambda NOT_YET_IMPLEMENTED_lambda: True 1 if True else 2 str or None if True else str or bytes or None (str or None) if True else (str or bytes or None) @@ -494,7 +494,7 @@ last_call() + if False + else {NOT_IMPLEMENTED_dict_key: NOT_IMPLEMENTED_dict_value for key, value in NOT_IMPLEMENTED_dict} +) -+print(*lambda x: True) ++print(*lambda NOT_YET_IMPLEMENTED_lambda: True) +NOT_YET_IMPLEMENTED_StmtAssert +NOT_YET_IMPLEMENTED_StmtAssert +NOT_YET_IMPLEMENTED_StmtAssert @@ -581,13 +581,13 @@ not great (~int) and (not ((v1 ^ (123 + v2)) | True)) +really ** -confusing ** ~operator**-precedence flags & ~select.EPOLLIN and waiters.write_task is not None -lambda x: True -lambda x: True -lambda x: True -lambda x: True -lambda x: True -manylambdas = lambda x: True -foo = lambda x: True +lambda NOT_YET_IMPLEMENTED_lambda: True +lambda NOT_YET_IMPLEMENTED_lambda: True +lambda NOT_YET_IMPLEMENTED_lambda: True +lambda NOT_YET_IMPLEMENTED_lambda: True +lambda NOT_YET_IMPLEMENTED_lambda: True +manylambdas = lambda NOT_YET_IMPLEMENTED_lambda: True +foo = lambda NOT_YET_IMPLEMENTED_lambda: True 1 if True else 2 str or None if True else str or bytes or None (str or None) if True else (str or bytes or None) @@ -785,7 +785,7 @@ print( if False else {NOT_IMPLEMENTED_dict_key: NOT_IMPLEMENTED_dict_value for key, value in NOT_IMPLEMENTED_dict} ) -print(*lambda x: True) +print(*lambda NOT_YET_IMPLEMENTED_lambda: True) NOT_YET_IMPLEMENTED_StmtAssert NOT_YET_IMPLEMENTED_StmtAssert NOT_YET_IMPLEMENTED_StmtAssert diff --git a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__fmtonoff.py.snap b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__fmtonoff.py.snap index 51aa7fb138..7ed99b9322 100644 --- a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__fmtonoff.py.snap +++ b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__fmtonoff.py.snap @@ -271,7 +271,7 @@ d={'a':1, def spaces(a=1, b=(), c=[], d={}, e=True, f=-1, g=1 if False else 2, h="", i=r""): - offset = attr.ib(default=attr.Factory(lambda: _r.uniform(1, 2))) - assert task._cancel_stack[: len(old_stack)] == old_stack -+ offset = attr.ib(default=attr.Factory(lambda x: True)) ++ offset = attr.ib(default=attr.Factory(lambda NOT_YET_IMPLEMENTED_lambda: True)) + NOT_YET_IMPLEMENTED_StmtAssert @@ -457,7 +457,7 @@ def function_signature_stress_test( # fmt: on def spaces(a=1, b=(), c=[], d={}, e=True, f=-1, g=1 if False else 2, h="", i=r""): - offset = attr.ib(default=attr.Factory(lambda x: True)) + offset = attr.ib(default=attr.Factory(lambda NOT_YET_IMPLEMENTED_lambda: True)) NOT_YET_IMPLEMENTED_StmtAssert diff --git a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__function.py.snap b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__function.py.snap index 87611ac5b9..0dfa48b142 100644 --- a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__function.py.snap +++ b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__function.py.snap @@ -128,7 +128,7 @@ def __await__(): return (yield) def spaces(a=1, b=(), c=[], d={}, e=True, f=-1, g=1 if False else 2, h="", i=r""): - offset = attr.ib(default=attr.Factory(lambda: _r.uniform(10000, 200000))) - assert task._cancel_stack[: len(old_stack)] == old_stack -+ offset = attr.ib(default=attr.Factory(lambda x: True)) ++ offset = attr.ib(default=attr.Factory(lambda NOT_YET_IMPLEMENTED_lambda: True)) + NOT_YET_IMPLEMENTED_StmtAssert @@ -229,7 +229,7 @@ def function_signature_stress_test( def spaces(a=1, b=(), c=[], d={}, e=True, f=-1, g=1 if False else 2, h="", i=r""): - offset = attr.ib(default=attr.Factory(lambda x: True)) + offset = attr.ib(default=attr.Factory(lambda NOT_YET_IMPLEMENTED_lambda: True)) NOT_YET_IMPLEMENTED_StmtAssert diff --git a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__power_op_spacing.py.snap b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__power_op_spacing.py.snap index d315462fd0..1356a5ef71 100644 --- a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__power_op_spacing.py.snap +++ b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__power_op_spacing.py.snap @@ -80,7 +80,7 @@ return np.divide( c = -(5**2) d = 5 ** f["hi"] -e = lazy(lambda **kwargs: 5) -+e = lazy(lambda x: True) ++e = lazy(lambda NOT_YET_IMPLEMENTED_lambda: True) f = f() ** 5 g = a.b**c.d h = 5 ** funcs.f() @@ -98,7 +98,7 @@ return np.divide( c = -(5.0**2.0) d = 5.0 ** f["hi"] -e = lazy(lambda **kwargs: 5) -+e = lazy(lambda x: True) ++e = lazy(lambda NOT_YET_IMPLEMENTED_lambda: True) f = f() ** 5.0 g = a.b**c.d h = 5.0 ** funcs.f() @@ -147,7 +147,7 @@ a = 5**~4 b = 5 ** f() c = -(5**2) d = 5 ** f["hi"] -e = lazy(lambda x: True) +e = lazy(lambda NOT_YET_IMPLEMENTED_lambda: True) f = f() ** 5 g = a.b**c.d h = 5 ** funcs.f() @@ -166,7 +166,7 @@ a = 5.0**~4.0 b = 5.0 ** f() c = -(5.0**2.0) d = 5.0 ** f["hi"] -e = lazy(lambda x: True) +e = lazy(lambda NOT_YET_IMPLEMENTED_lambda: True) f = f() ** 5.0 g = a.b**c.d h = 5.0 ** funcs.f() diff --git a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__remove_for_brackets.py.snap b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__remove_for_brackets.py.snap index a6a1c1c29f..7b10496c12 100644 --- a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__remove_for_brackets.py.snap +++ b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__remove_for_brackets.py.snap @@ -36,7 +36,7 @@ for (((((k, v))))) in d.items(): for module in (core, _unicodefun): if hasattr(module, "_verify_python3_env"): - module._verify_python3_env = lambda: None -+ module._verify_python3_env = lambda x: True ++ module._verify_python3_env = lambda NOT_YET_IMPLEMENTED_lambda: True # Brackets remain for long for loop lines for ( @@ -63,7 +63,7 @@ for k, v in d.items(): # Don't touch tuple brackets after `in` for module in (core, _unicodefun): if hasattr(module, "_verify_python3_env"): - module._verify_python3_env = lambda x: True + module._verify_python3_env = lambda NOT_YET_IMPLEMENTED_lambda: True # Brackets remain for long for loop lines for ( diff --git a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__slices.py.snap b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__slices.py.snap index 848f65c25e..08f07ad1d3 100644 --- a/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__slices.py.snap +++ b/crates/ruff_python_formatter/tests/snapshots/black_compatibility@simple_cases__slices.py.snap @@ -59,8 +59,8 @@ ham[lower + offset : upper + offset] -slice[lambda: None : lambda: None] -slice[lambda x, y, *args, really=2, **kwargs: None :, None::] +slice[ : -1 :] -+slice[lambda x: True : lambda x: True] -+slice[lambda x: True :, None::] ++slice[lambda NOT_YET_IMPLEMENTED_lambda: True : lambda NOT_YET_IMPLEMENTED_lambda: True] ++slice[lambda NOT_YET_IMPLEMENTED_lambda: True :, None::] slice[1 or 2 : True and False] slice[not so_simple : 1 < val <= 10] -slice[(1 for i in range(42)) : x] @@ -97,8 +97,8 @@ slice[c, c + 1, d::] slice[ham[c::d] :: 1] slice[ham[cheese**2 : -1] : 1 : 1, ham[1:2]] slice[ : -1 :] -slice[lambda x: True : lambda x: True] -slice[lambda x: True :, None::] +slice[lambda NOT_YET_IMPLEMENTED_lambda: True : lambda NOT_YET_IMPLEMENTED_lambda: True] +slice[lambda NOT_YET_IMPLEMENTED_lambda: True :, None::] slice[1 or 2 : True and False] slice[not so_simple : 1 < val <= 10] slice[