Skip to content

Commit f8eb0d2

Browse files
committed
todo a couple more things
1 parent 33915c1 commit f8eb0d2

File tree

2 files changed

+29
-57
lines changed

2 files changed

+29
-57
lines changed

crates/ty_python_semantic/resources/mdtest/final.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,11 @@ class C(A):
474474
pass
475475

476476
if coinflip():
477-
def method2(self) -> None: ... # error: [override-of-final-method]
477+
def method2(self) -> None: ... # TODO: should emit [override-of-final-method]
478+
else:
479+
def method2(self) -> None: ... # TODO: should emit [override-of-final-method]
480+
481+
if coinflip():
478482
def method3(self) -> None: ... # error: [override-of-final-method]
479483
def method4(self) -> None: ... # error: [override-of-final-method]
480484
```

crates/ty_python_semantic/resources/mdtest/snapshots/final.md_-_Tests_for_the_`@typi…_-_A_possibly-undefined…_(fc7b496fd1986deb).snap

Lines changed: 24 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,13 @@ mdtest path: crates/ty_python_semantic/resources/mdtest/final.md
6262
48 | pass
6363
49 |
6464
50 | if coinflip():
65-
51 | def method2(self) -> None: ... # error: [override-of-final-method]
66-
52 | def method3(self) -> None: ... # error: [override-of-final-method]
67-
53 | def method4(self) -> None: ... # error: [override-of-final-method]
65+
51 | def method2(self) -> None: ... # TODO: should emit [override-of-final-method]
66+
52 | else:
67+
53 | def method2(self) -> None: ... # TODO: should emit [override-of-final-method]
68+
54 |
69+
55 | if coinflip():
70+
56 | def method3(self) -> None: ... # error: [override-of-final-method]
71+
57 | def method4(self) -> None: ... # error: [override-of-final-method]
6872
```
6973

7074
# Diagnostics
@@ -251,50 +255,14 @@ note: This is an unsafe fix and may change runtime behavior
251255
252256
```
253257

254-
```
255-
error[override-of-final-method]: Cannot override `A.method2`
256-
--> src/mdtest_snippet.py:51:13
257-
|
258-
50 | if coinflip():
259-
51 | def method2(self) -> None: ... # error: [override-of-final-method]
260-
| ^^^^^^^ Overrides a definition from superclass `A`
261-
52 | def method3(self) -> None: ... # error: [override-of-final-method]
262-
53 | def method4(self) -> None: ... # error: [override-of-final-method]
263-
|
264-
info: `A.method2` is decorated with `@final`, forbidding overrides
265-
--> src/mdtest_snippet.py:16:9
266-
|
267-
14 | def method2(self) -> None: ...
268-
15 | else:
269-
16 | @final
270-
| ------
271-
17 | def method2(self) -> None: ...
272-
| ------- `A.method2` defined here
273-
18 |
274-
19 | if coinflip():
275-
|
276-
help: Remove the override of `method2`
277-
info: rule `override-of-final-method` is enabled by default
278-
48 | pass
279-
49 |
280-
50 | if coinflip():
281-
- def method2(self) -> None: ... # error: [override-of-final-method]
282-
51 + # error: [override-of-final-method]
283-
52 | def method3(self) -> None: ... # error: [override-of-final-method]
284-
53 | def method4(self) -> None: ... # error: [override-of-final-method]
285-
note: This is an unsafe fix and may change runtime behavior
286-
287-
```
288-
289258
```
290259
error[override-of-final-method]: Cannot override `A.method3`
291-
--> src/mdtest_snippet.py:52:13
260+
--> src/mdtest_snippet.py:56:13
292261
|
293-
50 | if coinflip():
294-
51 | def method2(self) -> None: ... # error: [override-of-final-method]
295-
52 | def method3(self) -> None: ... # error: [override-of-final-method]
262+
55 | if coinflip():
263+
56 | def method3(self) -> None: ... # error: [override-of-final-method]
296264
| ^^^^^^^ Overrides a definition from superclass `A`
297-
53 | def method4(self) -> None: ... # error: [override-of-final-method]
265+
57 | def method4(self) -> None: ... # error: [override-of-final-method]
298266
|
299267
info: `A.method3` is decorated with `@final`, forbidding overrides
300268
--> src/mdtest_snippet.py:20:9
@@ -309,23 +277,23 @@ info: `A.method3` is decorated with `@final`, forbidding overrides
309277
|
310278
help: Remove the override of `method3`
311279
info: rule `override-of-final-method` is enabled by default
312-
49 |
313-
50 | if coinflip():
314-
51 | def method2(self) -> None: ... # error: [override-of-final-method]
280+
53 | def method2(self) -> None: ... # TODO: should emit [override-of-final-method]
281+
54 |
282+
55 | if coinflip():
315283
- def method3(self) -> None: ... # error: [override-of-final-method]
316-
52 + # error: [override-of-final-method]
317-
53 | def method4(self) -> None: ... # error: [override-of-final-method]
284+
56 + # error: [override-of-final-method]
285+
57 | def method4(self) -> None: ... # error: [override-of-final-method]
318286
note: This is an unsafe fix and may change runtime behavior
319287
320288
```
321289

322290
```
323291
error[override-of-final-method]: Cannot override `A.method4`
324-
--> src/mdtest_snippet.py:53:13
292+
--> src/mdtest_snippet.py:57:13
325293
|
326-
51 | def method2(self) -> None: ... # error: [override-of-final-method]
327-
52 | def method3(self) -> None: ... # error: [override-of-final-method]
328-
53 | def method4(self) -> None: ... # error: [override-of-final-method]
294+
55 | if coinflip():
295+
56 | def method3(self) -> None: ... # error: [override-of-final-method]
296+
57 | def method4(self) -> None: ... # error: [override-of-final-method]
329297
| ^^^^^^^ Overrides a definition from superclass `A`
330298
|
331299
info: `A.method4` is decorated with `@final`, forbidding overrides
@@ -342,11 +310,11 @@ info: `A.method4` is decorated with `@final`, forbidding overrides
342310
|
343311
help: Remove the override of `method4`
344312
info: rule `override-of-final-method` is enabled by default
345-
50 | if coinflip():
346-
51 | def method2(self) -> None: ... # error: [override-of-final-method]
347-
52 | def method3(self) -> None: ... # error: [override-of-final-method]
313+
54 |
314+
55 | if coinflip():
315+
56 | def method3(self) -> None: ... # error: [override-of-final-method]
348316
- def method4(self) -> None: ... # error: [override-of-final-method]
349-
53 + # error: [override-of-final-method]
317+
57 + # error: [override-of-final-method]
350318
note: This is an unsafe fix and may change runtime behavior
351319
352320
```

0 commit comments

Comments
 (0)