Add type information to LoggingContext.__call__ #79
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds a
DecoratedCallable
TypeVar and uses that in the type hints for the__call__
method inLoggingContext
. This allows type information to pass through correctly when used as a decorator.It seems like the
@wraps
decorator on the wrapper mangles the type info so I had to disable type checking on the return because Pyright was convinced it was wasn't the correct type, but the tests proved otherwise.I'm not sure there's a good way to test since at runtime the function signature is getting passed through correctly. It's only on the type checking pass that things break down. It's probably fine as-is since no tests broke as a result, but figured it was worth mentioning.
Fixes #60