Overrides wrapping decorator makes some introspection impractical
Let me start by saying that I'm doing weird things that you might not want to support, in which case fair enough.
The wraps()
decorator defined in in gi/overrides/__init__.py
correctly copies across name and module, but misses several other important object properties (e.g., annotations, documentation). It also doesn't do the nice thing of adding a __wrapped__
attribute that points to the wrapped function.
As a result, introspection on e.g., Gtk.TextIter.forward_search()
will give the strip_boolean_result
wrapper function, preventing introspection of the actual signature of forward_search()
.
The easy fix for this is to replace the wraps()
function in overrides with functools.wraps()
from the standard library. I'll happily put together a patch for this if that seems sensible.