-
-
Notifications
You must be signed in to change notification settings - Fork 387
Fixed unhelpful error message in from_thread_run functions. #1513
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
96cdeb2
015b220
126f7f4
417ba5b
dc06cad
dc1e5b8
5e4145d
c74a829
ad27338
57c1080
f4c11e9
28b08d1
0f809d0
7a71a85
7de4c84
f77c200
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -411,7 +411,7 @@ def from_thread_run_sync(fn, *args, trio_token=None): | |
| which would otherwise cause a deadlock. | ||
| AttributeError: if no ``trio_token`` was provided, and we can't infer | ||
| one from context. Also if ``fn`` is not a sync function. | ||
|
||
| TypeError: if ``fn`` is not callable or is an async function. | ||
| TypeError: if ``fn`` is an async function. | ||
|
|
||
| **Locating a Trio Token**: There are two ways to specify which | ||
| `trio.run` loop to reenter: | ||
|
|
@@ -427,16 +427,18 @@ def from_thread_run_sync(fn, *args, trio_token=None): | |
| def callback(q, fn, args): | ||
| @disable_ki_protection | ||
| def unprotected_fn(): | ||
| call = fn(*args) | ||
| ret = fn(*args) | ||
|
|
||
| if inspect.iscoroutine(call): | ||
| call.close() | ||
| if inspect.iscoroutine(ret): | ||
|
|
||
guilledk marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| # Manually close coroutine to avoid RuntimeWarnings | ||
| ret.close() | ||
| raise TypeError( | ||
| "Trio expected a sync function, but {!r} appears to be " | ||
| "asynchronous".format(getattr(fn, "__qualname__", fn)) | ||
| ) | ||
|
|
||
| return call | ||
| return ret | ||
|
|
||
| res = outcome.capture(unprotected_fn) | ||
| q.put_nowait(res) | ||
|
|
||
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.
No need for an extra blank line after
with pytest.raises.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.
You marked this as resolved but didn't change anything in your PR. Do you feel like the extra blank lines here are important for readability in a way that's related to the changes you're making here? It seems like you've added a number of them in this diff after block introducers (for, with, if, etc). That's not consistent with the style in the rest of the codebase.