ASYNC103 for sync functions
还没有人认领这个 Issue。
评估
调研方向
首先针对 src/trio/_core/_instrumentation.py 中所示的同步调用重现 ASYNC103,并检查该规则如何区分同步函数和异步函数。当不再报告此误报,同时预期的 ASYNC103 情况仍会被报告时,即表示完成;确定相关回归测试的位置后,添加或更新该测试。
由索引模型根据 Issue 内容生成。
描述
I don't think sync functions can raise trio.Cancelled, but this is causing ASYNC103:
def call(
self,
hookname: str,
*args: object,
) -> None:
# snip
for instrument in list(self.data[hookname]):
try:
getattr(instrument, hookname)(*args)
except BaseException: # E
self.remove_instrument(instrument)
INSTRUMENT_LOGGER.exception(
"Exception raised when calling %r on instrument %r. "
"Instrument has been disabled.",
hookname,
instrument,
)
Error message:
src/trio/_core/_instrumentation.py:110:20: ASYNC103 BaseException block with a code path that doesn't re-raise the error. Consider adding an `except trio.Cancelled: raise` before this exception handler.
- 主要语言
- Python
- 星标
- 26
- 派生
- 10
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
python-trio/flake8-async 的其他 Issue
-
rule improvement
难度 2/5 1-3 小时 新手友好度 68/100
python-trio/flake8-async#457 · 1 个 reaction ·
-
难度 3/5 1-2 天 新手友好度 68/100
python-trio/flake8-async#475 · 1 条评论 ·
-
new rule
难度 3/5 1-2 天 新手友好度 55/100
python-trio/flake8-async#454 · 1 条评论 ·
-
good first issue
难度 5/5 一周以上 新手友好度 15/100
python-trio/flake8-async#396 · 1 条评论 ·
-
难度 5/5 一周以上 新手友好度 25/100
python-trio/flake8-async#395 · 8 条评论 ·
查看 python-trio/flake8-async 的全部 Issue
相似的 Issue
-
bug confirmed issue
难度 2/5 1-3 小时 新手友好度 75/100
open-webui/open-webui#30750 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
-
enhancement
难度 2/5 1-3 小时 新手友好度 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
-
good first issue
难度 1/5 1 小时以内 新手友好度 90/100