)]}'
{"oslo_log/log.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f449f0e8ff66200610980bff4ffdb9661c50e793","unresolved":true,"context_lines":[{"line_number":272,"context_line":"def _mutate_hook(conf: cfg.ConfigOpts, fresh: cfg.ConfigOpts) -\u003e None:"},{"line_number":273,"context_line":"    \"\"\"Reconfigures oslo.log according to the mutated options.\"\"\""},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"    if (None, \u0027debug\u0027) in fresh:  # type: ignore[comparison-overlap]"},{"line_number":276,"context_line":"        _refresh_root_level(conf.debug)"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"    if (None, \u0027log-config-append\u0027) in fresh:  # type: ignore[comparison-overlap]"}],"source_content_type":"text/x-python","patch_set":1,"id":"8170620d_4ebbc867","line":275,"updated":"2026-05-26 11:41:10.000000000","message":"I wonder if this is a bug? I tried to update the types in oslo.config so that `ConfigOpts._opts` was typed as `dict[str | None, _OptInfo]` instead of `dict[str, _OptInfo]` as it is currently, by mypy correctly points out that e.g. you can\u0027t use sorted on a list of `None` + `str`, which proves out at real-time 😥\n\n```\n\u003e\u003e\u003e sorted([\u0027a\u0027, \u0027b\u0027, None])\nTraceback (most recent call last):\n  File \"\u003cpython-input-0\u003e\", line 1, in \u003cmodule\u003e\n    sorted([\u0027a\u0027, \u0027b\u0027, None])\n    ~~~~~~^^^^^^^^^^^^^^^^^^\nTypeError: \u0027\u003c\u0027 not supported between instances of \u0027NoneType\u0027 and \u0027str\u0027\n```","commit_id":"0640ed88feed42e01412dcd5d409e024e11175ed"}]}
