This repository has been archived by the owner on Apr 26, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Add missing type hints to synapse.logging.context
#11556
Merged
Merged
Changes from 1 commit
Commits
Show all changes
17 commits
Select commit
Hold shift + click to select a range
1afcfd7
Add `defer.gatherResults` wrapper for heterogenous lists of `Deferred`s
d6dadd9
Use `gather_results` where appropriate
2f19d0c
Add type hints for `make_deferred_yieldable`
262e91d
Fix fallout from `make_deferred_yieldable` type hints
40a48a0
Correct txredisapi stubs
498bcd7
Add type hints for `run_in_background`
6d28491
Fix fallout from `run_in_background` type hints
a4eaf28
Add type hints for `defer_to_thread` and `defer_to_threadpool`
3c8e9d5
Add type hints for `preserve_fn`
c305227
Fix fallout from `preserve_fn` type hints
d32d27b
Add newsfile
38c7390
Fix cyclic import
4768efc
Add missing type hints
5cbf3c3
Reword comment on assert
1886750
Simplify `make_deferred_yieldable` to only support `Deferred`s
3f9a04b
Remove tests for now unsupported `make_deferred_yieldable` features
6980f1e
Merge branch 'develop' into squah/type_hint_synapse_logging_context
squahtx File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Judging by the doctstring I'd've thought the annotation ought to be
Union["defer.Deferred[T]", Awaitable[T]]
.This might have cropped up in #10980 --- I remember something like this being painful.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops, I'd entirely forgotten that there was a previous PR that tried to type hint these. I didn't mean to step on your toes!
Yes, the docstring contradicts the type hint. I wasn't sure what to do here. I can't find anywhere where we feed a coroutine to this function and I would remove the coroutine support, but it feels risky?
I could change it to accept an
Awaitable
, then I'd need another assert in the implementation, since we can't really handle non-coroutine, non-deferred awaitables.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not to worry---I had let that one rot a little and I don't think I had as robust an understanding of what's going on then as you do now!
Maybe we can remove
(or coroutine)
from the docstring, if we're convinced that this always is given aDeferred
.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've elected to remove the coroutine support, since mypy thinks it is unused, and I can't find any usage with coroutines manually.