@@ -62,9 +62,13 @@ mdtest path: crates/ty_python_semantic/resources/mdtest/final.md
626248 | pass
636349 |
646450 | 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` ` `
290259error[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 |
299267info: ` 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 |
310278help: Remove the override of ` method3 `
311279info: 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]
318286note: This is an unsafe fix and may change runtime behavior
319287
320288` ` `
321289
322290` ` `
323291error[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 |
331299info: ` A .method4 ` is decorated with ` @final ` , forbidding overrides
@@ -342,11 +310,11 @@ info: `A.method4` is decorated with `@final`, forbidding overrides
342310 |
343311help: Remove the override of ` method4 `
344312info: 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]
350318note: This is an unsafe fix and may change runtime behavior
351319
352320` ` `
0 commit comments