11# NOANYIO
22from typing import Any
3+ from collections .abc import Coroutine
34
45import trio
56
67par : Any = ...
8+ async_funpar : Coroutine [Any , Any , Any ] = ... # type: ignore
79
810
9- async def foo ():
11+ async def myasyncfun (task_status ):
12+ ...
13+
14+
15+ # calls that don't return
16+ async def inf1 () -> None :
17+ await trio .serve_listeners (par , par )
18+
19+
20+ async def inf2 () -> None :
21+ await trio .serve_ssl_over_tcp ()
22+
23+
24+ async def inf3 () -> None :
25+ await trio .serve_tcp ()
26+
27+
28+ async def inf4 () -> None :
29+ await trio .sleep_forever ()
30+
31+
32+ async def foo () -> None :
1033 # not async
1134 trio .run (par )
1235
@@ -19,75 +42,72 @@ async def foo():
1942 await trio .open_tcp_stream (par , par )
2043 await trio .open_unix_socket (par )
2144 await trio .run_process (par )
22- await trio .serve_listeners (par , par )
23- await trio .serve_ssl_over_tcp ()
24- await trio .serve_tcp ()
25- await trio .sleep ()
26- await trio .sleep_forever ()
27- await trio .sleep_until ()
45+ await trio .sleep (5 )
46+ await trio .sleep_until (5 )
2847 await trio .lowlevel .cancel_shielded_checkpoint ()
2948 await trio .lowlevel .checkpoint ()
3049 await trio .lowlevel .checkpoint_if_cancelled ()
31- await trio .lowlevel .open_process ()
32- await trio .lowlevel .permanently_detach_coroutine_object ()
33- await trio .lowlevel .reattach_detached_coroutine_object ()
34- await trio .lowlevel .temporarily_detach_coroutine_object ()
35- await trio .lowlevel .wait_readable ()
36- await trio .lowlevel .wait_task_rescheduled ()
37- await trio .lowlevel .wait_writable ()
50+ await trio .lowlevel .open_process (par )
51+ await trio .lowlevel .permanently_detach_coroutine_object (par )
52+ await trio .lowlevel .reattach_detached_coroutine_object (par , par )
53+ await trio .lowlevel .temporarily_detach_coroutine_object (par )
54+ await trio .lowlevel .wait_readable (par )
55+ await trio .lowlevel .wait_task_rescheduled (par )
56+ await trio .lowlevel .wait_writable (par )
3857
3958 # all async functions
40- trio .aclose_forcefully () # error: 4, "trio.aclose_forcefully", "function"
41- trio .open_file () # error: 4, "trio.open_file", "function"
42- trio .open_ssl_over_tcp_listeners () # error: 4, "trio.open_ssl_over_tcp_listeners", "function"
43- trio .open_ssl_over_tcp_stream () # error: 4, "trio.open_ssl_over_tcp_stream", "function"
44- trio .open_tcp_listeners () # error: 4, "trio.open_tcp_listeners", "function"
45- trio .open_tcp_stream () # error: 4, "trio.open_tcp_stream", "function"
46- trio .open_unix_socket () # error: 4, "trio.open_unix_socket", "function"
47- trio .run_process () # error: 4, "trio.run_process", "function"
48- trio .serve_listeners () # error: 4, "trio.serve_listeners", "function"
49- trio .serve_ssl_over_tcp () # error: 4, "trio.serve_ssl_over_tcp", "function"
50- trio .serve_tcp () # error: 4, "trio.serve_tcp", "function"
51- trio .sleep () # error: 4, "trio.sleep", "function"
59+ # fmt: off
60+ trio .aclose_forcefully (par ) # error: 4, "trio.aclose_forcefully", "function"
61+ trio .open_file (par ) # error: 4, "trio.open_file", "function"
62+ trio .open_ssl_over_tcp_listeners (par , par ) # error: 4, "trio.open_ssl_over_tcp_listeners", "function"
63+ trio .open_ssl_over_tcp_stream (par , par ) # error: 4, "trio.open_ssl_over_tcp_stream", "function"
64+ trio .open_tcp_listeners (par ) # error: 4, "trio.open_tcp_listeners", "function"
65+ trio .open_tcp_stream (par , par ) # error: 4, "trio.open_tcp_stream", "function"
66+ trio .open_unix_socket (par ) # error: 4, "trio.open_unix_socket", "function"
67+ trio .run_process (par ) # error: 4, "trio.run_process", "function"
68+ trio .serve_listeners (par , par ) # error: 4, "trio.serve_listeners", "function"
69+ trio .serve_ssl_over_tcp (par , par , par ) # error: 4, "trio.serve_ssl_over_tcp", "function"
70+ trio .serve_tcp (par , par ) # error: 4, "trio.serve_tcp", "function"
71+ trio .sleep (par ) # error: 4, "trio.sleep", "function"
5272 trio .sleep_forever () # error: 4, "trio.sleep_forever", "function"
53- trio .sleep_until () # error: 4, "trio.sleep_until", "function"
73+ trio .sleep_until (par ) # error: 4, "trio.sleep_until", "function"
5474
5575 # long lines, wheee
5676 trio .lowlevel .cancel_shielded_checkpoint () # error: 4, "trio.lowlevel.cancel_shielded_checkpoint", "function"
5777 trio .lowlevel .checkpoint () # error: 4, "trio.lowlevel.checkpoint", "function"
5878 trio .lowlevel .checkpoint_if_cancelled () # error: 4, "trio.lowlevel.checkpoint_if_cancelled", "function"
5979 trio .lowlevel .open_process () # error: 4, "trio.lowlevel.open_process", "function"
60- trio .lowlevel .permanently_detach_coroutine_object () # error: 4, "trio.lowlevel.permanently_detach_coroutine_object", "function"
61- trio .lowlevel .reattach_detached_coroutine_object () # error: 4, "trio.lowlevel.reattach_detached_coroutine_object", "function"
62- trio .lowlevel .temporarily_detach_coroutine_object () # error: 4, "trio.lowlevel.temporarily_detach_coroutine_object", "function"
63- trio .lowlevel .wait_readable () # error: 4, "trio.lowlevel.wait_readable", "function"
64- trio .lowlevel .wait_task_rescheduled () # error: 4, "trio.lowlevel.wait_task_rescheduled", "function"
65- trio .lowlevel .wait_writable () # error: 4, "trio.lowlevel.wait_writable", "function"
66-
80+ trio .lowlevel .permanently_detach_coroutine_object (par ) # error: 4, "trio.lowlevel.permanently_detach_coroutine_object", "function"
81+ trio .lowlevel .reattach_detached_coroutine_object (par , par ) # error: 4, "trio.lowlevel.reattach_detached_coroutine_object", "function"
82+ trio .lowlevel .temporarily_detach_coroutine_object (par ) # error: 4, "trio.lowlevel.temporarily_detach_coroutine_object", "function"
83+ trio .lowlevel .wait_readable (par ) # error: 4, "trio.lowlevel.wait_readable", "function"
84+ trio .lowlevel .wait_task_rescheduled (par ) # error: 4, "trio.lowlevel.wait_task_rescheduled", "function"
85+ trio .lowlevel .wait_writable (par ) # error: 4, "trio.lowlevel.wait_writable", "function"
86+ # fmt: on
6787 # safe
68- async with await trio .open_file () as f :
88+ async with await trio .open_file (par ) as f :
6989 pass
7090
71- async with trio .open_file () as f : # error: 15, "trio.open_file", "function"
91+ async with trio .open_file (par ) as f : # error: 15, "trio.open_file", "function"
7292 pass
7393
7494 # safe in theory, but deemed sufficiently poor style that parsing
7595 # it isn't supported
76- k = trio .open_file () # error: 8, "trio.open_file", "function"
96+ k = trio .open_file (par ) # error: 8, "trio.open_file", "function"
7797 await k
7898
7999 # issue #56
80- nursery = trio .open_nursery ()
81- await nursery .start ()
82- await nursery .start_foo ()
100+ async with trio .open_nursery () as nursery :
101+ await nursery .start (myasyncfun )
102+ await nursery .start_foo ()
83103
84- nursery .start () # error: 4 , "trio.Nursery.start", "method"
85- None .start () # type: ignore
86- nursery .start_soon ()
87- nursery .start_foo ()
104+ nursery .start (myasyncfun ) # error: 8 , "trio.Nursery.start", "method"
105+ None .start () # type: ignore
106+ nursery .start_soon (par )
107+ nursery .start_foo ()
88108
89- with trio .open_nursery () as booboo :
90- booboo .start () # error: 8 , "trio.Nursery.start", "method"
109+ async with trio .open_nursery () as booboo :
110+ booboo .start (myasyncfun ) # error: 12 , "trio.Nursery.start", "method"
91111
92- barbar : trio .Nursery = ...
93- barbar .start () # error: 4 , "trio.Nursery.start", "method"
112+ barbar : trio .Nursery = ...
113+ barbar .start (myasyncfun ) # error: 8 , "trio.Nursery.start", "method"
0 commit comments