Skip to content

Latest commit

 

History

History
5 lines (3 loc) · 954 Bytes

File metadata and controls

5 lines (3 loc) · 954 Bytes

Warnings crossing to the controller now keep the state they carry beside their args, and a warning that cannot be rebuilt no longer ends the run.

Only args was transferred and the warning was rebuilt by calling the class with them, so a warning deriving its message from its own fields arrived rendered from defaults. The reduce state is transferred now and the instance is rebuilt without re-running __init__; when that state cannot cross, the class is dropped rather than rebuilt without it.

Resolving the warning's class is also guarded. importlib.import_module and the getattr that follows it run in the controller's receiver thread, and anything they raised ended the session, reporting a scheduler error that named nothing leading back to the import. Both degrade to a generic Warning carrying the reason, and the category degrades to None. This fixes #404.