async def serve(<EOL>app: ASGIFramework,<EOL>config: Config,<EOL>*,<EOL>task_status: trio._core._run._TaskStatus = trio.TASK_STATUS_IGNORED,<EOL>) -> None:
if config.debug:<EOL><INDENT>warnings.warn("<STR_LIT>", Warning)<EOL><DEDENT>if config.workers != <NUM_LIT:1>:<EOL><INDENT>warnings.warn("<STR_LIT>", Warning)<EOL><DEDENT>if config.worker_class != "<STR_LIT>":<EOL><INDENT>warnings.warn("<STR_LIT>", Warning)<EOL><DEDENT>await worker_serve(app, config, task_status=task_status)<EOL>
Serve an ASGI framework app given the config.

    This allows for a programmatic way to serve an ASGI framework, it
    can be used via,

    .. code-block:: python

        trio.run(partial(serve, app, config))

    It is assumed that the event-loop is configured before calling
    this function, therefore configuration values that relate to loop
    setup or process setup are ignored.