3dc324d3f1
This adds the Python files in the tests/ directory to be formatted with ./tools/codeformat.py. The basics/ subdirectory is excluded for now so we aren't changing too much at once. In a few places `# fmt: off`/`# fmt: on` was used where the code had special formatting for readability or where the test was actually testing the specific formatting.
20 lines
457 B
Python
20 lines
457 B
Python
"""
|
|
categories: Core,Classes
|
|
description: Method Resolution Order (MRO) is not compliant with CPython
|
|
cause: Depth first non-exhaustive method resolution order
|
|
workaround: Avoid complex class hierarchies with multiple inheritance and complex method overrides. Keep in mind that many languages don't support multiple inheritance at all.
|
|
"""
|
|
|
|
|
|
class Foo:
|
|
def __str__(self):
|
|
return "Foo"
|
|
|
|
|
|
class C(tuple, Foo):
|
|
pass
|
|
|
|
|
|
t = C((1, 2, 3))
|
|
print(t)
|