From 0f5e28f4f73dd9f1ce0cb67949d700de4aaac81c Mon Sep 17 00:00:00 2001 From: Kadir Can Ozden <101993364+bysiber@users.noreply.github.com> Date: Fri, 20 Feb 2026 15:11:07 +0300 Subject: [PATCH] Add __annotations__ case to ObjectProxy.__delattr__ ObjectProxy.__setattr__ has special handling for both __qualname__ and __annotations__, forwarding them to both the proxy and the wrapped object. However, __delattr__ only handles __qualname__ and misses __annotations__, so deleting annotations on the proxy doesn't propagate to the wrapped object. This adds the missing __annotations__ branch to __delattr__ to match the behavior of __setattr__. --- src/wrapt/wrappers.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/wrapt/wrappers.py b/src/wrapt/wrappers.py index 445d0b2c..770bf8ff 100644 --- a/src/wrapt/wrappers.py +++ b/src/wrapt/wrappers.py @@ -283,6 +283,10 @@ def __delattr__(self, name): object.__delattr__(self, name) delattr(self.__wrapped__, name) + elif name == "__annotations__": + object.__delattr__(self, name) + delattr(self.__wrapped__, name) + elif hasattr(type(self), name): object.__delattr__(self, name)