mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-29 13:25:17 +00:00
126 lines
2.2 KiB
Python
126 lines
2.2 KiB
Python
"""
|
|
Should emit:
|
|
B019 - on lines 73, 77, 81, 85, 89, 93, 97, 101
|
|
"""
|
|
import functools
|
|
from functools import cache, cached_property, lru_cache
|
|
|
|
|
|
def some_other_cache():
|
|
...
|
|
|
|
|
|
@functools.cache
|
|
def compute_func(self, y):
|
|
...
|
|
|
|
|
|
class Foo:
|
|
def __init__(self, x):
|
|
self.x = x
|
|
|
|
def compute_method(self, y):
|
|
...
|
|
|
|
@some_other_cache
|
|
def user_cached_instance_method(self, y):
|
|
...
|
|
|
|
@classmethod
|
|
@functools.cache
|
|
def cached_classmethod(cls, y):
|
|
...
|
|
|
|
@classmethod
|
|
@cache
|
|
def other_cached_classmethod(cls, y):
|
|
...
|
|
|
|
@classmethod
|
|
@functools.lru_cache
|
|
def lru_cached_classmethod(cls, y):
|
|
...
|
|
|
|
@classmethod
|
|
@lru_cache
|
|
def other_lru_cached_classmethod(cls, y):
|
|
...
|
|
|
|
@staticmethod
|
|
@functools.cache
|
|
def cached_staticmethod(y):
|
|
...
|
|
|
|
@staticmethod
|
|
@cache
|
|
def other_cached_staticmethod(y):
|
|
...
|
|
|
|
@staticmethod
|
|
@functools.lru_cache
|
|
def lru_cached_staticmethod(y):
|
|
...
|
|
|
|
@staticmethod
|
|
@lru_cache
|
|
def other_lru_cached_staticmethod(y):
|
|
...
|
|
|
|
@functools.cached_property
|
|
def some_cached_property(self):
|
|
...
|
|
|
|
@cached_property
|
|
def some_other_cached_property(self):
|
|
...
|
|
|
|
# Remaining methods should emit B019
|
|
@functools.cache
|
|
def cached_instance_method(self, y):
|
|
...
|
|
|
|
@cache
|
|
def another_cached_instance_method(self, y):
|
|
...
|
|
|
|
@functools.cache()
|
|
def called_cached_instance_method(self, y):
|
|
...
|
|
|
|
@cache()
|
|
def another_called_cached_instance_method(self, y):
|
|
...
|
|
|
|
@functools.lru_cache
|
|
def lru_cached_instance_method(self, y):
|
|
...
|
|
|
|
@lru_cache
|
|
def another_lru_cached_instance_method(self, y):
|
|
...
|
|
|
|
@functools.lru_cache()
|
|
def called_lru_cached_instance_method(self, y):
|
|
...
|
|
|
|
@lru_cache()
|
|
def another_called_lru_cached_instance_method(self, y):
|
|
...
|
|
|
|
|
|
import enum
|
|
|
|
|
|
class Foo(enum.Enum):
|
|
ONE = enum.auto()
|
|
TWO = enum.auto()
|
|
|
|
@functools.cache
|
|
def bar(self, arg: str) -> str:
|
|
return f"{self} - {arg}"
|
|
|
|
|
|
class Metaclass(type):
|
|
@functools.lru_cache
|
|
def lru_cached_instance_method_on_metaclass(cls, x: int):
|
|
...
|