24
Find the bug (a classic) (programming.dev)
class Node:
    def __init__(self, edges = set()):
        self.edges = edges


def main():
    foo = Node()
    bar = Node()
    quz = Node()

    foo.edges.add(bar)
    bar.edges.add(foo)

    assert(foo is not bar) # assertion succeeds
    assert(foo is not quz) # assertion succeeds
    assert(bar is not quz) # assertion succeeds
    assert(len(quz.edges) == 0) # assertion fails??


main()

spoilerMutable default values are shared across objects. The set in this case.

you are viewing a single comment's thread
view the rest of the comments
[-] NostraDavid@programming.dev 2 points 1 month ago

It has implemented about half - I would check which the important ones are, and check if it's been implemented (which is being tracked in issue 970):

https://github.com/astral-sh/ruff/issues/970

Astral claims Ruff has more rules total (about 800), but implemented about half of Pylint (which has 400 rules, so 200 implemented).

this post was submitted on 26 Feb 2025
24 points (96.2% liked)

Python

7010 readers
2 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

📅 Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

🐍 Python project:
💓 Python Community:
✨ Python Ecosystem:
🌌 Fediverse
Communities
Projects
Feeds

founded 2 years ago
MODERATORS