Type the remaining niche examples

Finish the examples-typing sweep with the last non-docs-visible
scripts: `-> None` on the two `trio/` behavior-demo mains (plus a
`trio.TaskStatus` on `hold_lock_forever`) and nursery/portal typing
on `integration/mpi4py/inherit_parent_main.py`.

Leaves `concurrent_futures_primes` (a verbatim stdlib baseline) and
`integration/open_context_and_sleep` (its tractor nursery is
commented out) as-is, and the paren-group `trio.open_nursery()`
bindings unannotated (no clean spot for a preceding annotation).
Completes the examples-typing bullet in #472.

(this patch was generated in some part by [`claude-code`][claude-code-gh])
[claude-code-gh]: https://github.com/anthropics/claude-code
wkt/big_boi_docs_472_follow_ups
Gud Boi 2026-07-02 12:35:37 -04:00
parent 069df08529
commit 56fbed0be1
3 changed files with 7 additions and 6 deletions

View File

@ -33,15 +33,16 @@ async def main() -> None:
rank = MPI.COMM_WORLD.Get_rank()
print(f"[parent] rank={rank} pid={os.getpid()}", flush=True)
an: tractor.ActorNursery
async with tractor.open_nursery(start_method='trio') as an:
portal = await an.start_actor(
portal: tractor.Portal = await an.start_actor(
'mpi-child',
enable_modules=[child_fn.__module__],
# Without this the child replays __main__, which
# re-imports mpi4py and crashes on MPI_Init.
inherit_parent_main=False,
)
result = await portal.run(child_fn)
result: str = await portal.run(child_fn)
print(f"[parent] got: {result}", flush=True)
await portal.cancel_actor()

View File

@ -32,8 +32,8 @@ async def acquire_singleton_lock(
async def hold_lock_forever(
task_status=trio.TASK_STATUS_IGNORED
):
task_status: trio.TaskStatus = trio.TASK_STATUS_IGNORED,
) -> None:
async with (
tractor.trionics.maybe_raise_from_masking_exc(),
acquire_singleton_lock() as lock,
@ -46,7 +46,7 @@ async def main(
ignore_special_cases: bool,
loglevel: str = 'info',
debug_mode: bool = True,
):
) -> None:
async with (
trio.open_nursery() as tn,

View File

@ -134,7 +134,7 @@ async def main(
raise_unmasked: bool = False,
loglevel: str = 'info',
):
) -> None:
tractor.log.get_console_log(level=loglevel)
# the `.aclose()` being checkpoints on these