Prhub

#42441 [Misc] Fix mypy error in parser_manager type narrowing

原始 PR 作者 Sarah-Salah 合并时间 2026-05-14 10:49 文件变更 1 提交数 1 评论 1 代码增减 +1 / -1

执行摘要

修复 ParserManager 中 mypy 类型收窄错误

修复 mypy 类型检查错误 [assignment]:在 vllm/parser/parser_manager.py:162 中,表达式 is_list_of(name, str) 无法在闭包内将 namelist[str] | None 收窄为 list[str],导致类型不兼容。

值得合并。虽然改动微小,但修复了类型检查的正确性,且遵循了项目中已有的惯用法。

讨论亮点

PR 无 review 评论;reviewer sfeng33 直接批准合并。

实现拆解

vllm/parser/parser_manager.py_decorator 函数中,修改第 161 行的条件:

  • 在原 elif is_list_of(name, str): 之前增加 name is not None and 检查,myty 可靠地处理闭包内的 is not None 收窄,从而消除类型错误。
  • 此改动仅影响代码中的一行,不改变运行时行为,因为 is_list_of 内部已拒绝 None 输入。
  • 已通过 pre-commit run mypy-local 验证无 mypy 错误输出。
文件 模块 状态 重要度
vllm/parser/parser_manager.py 解析器 modified 3.75

关键符号

register_module _decorator

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

无运行时风险。代码逻辑增加了一次 name is not None 的短路检查,但 is_list_of 本身已处理 None 输入,因此实际执行路径不变。

仅影响类型检查工具链(mypy),对运行时无影响。开发者将不再因 parser_manager.py 的 mypy 错误而失败 pre-commit 检查。

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论