You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dialyzer提示re:mp()类型未知的问题解决咨询

解决Dialyzer无法识别re:mp()类型的问题
  • 重新构建包含完整stdlib类型的PLT
    虽然你已经构建过PLT,但可能因缓存或构建不完整导致re模块的类型信息未被收录。先删除旧PLT,再重新构建:

    rm -rf ~/.dialyzer_plt
    dialyzer --build_plt --apps erts kernel stdlib
    

    如果还是不行,可以显式将re模块加入构建命令:

    dialyzer --build_plt --apps erts kernel stdlib re
    
  • 在模块中显式导入re的类型
    在你的parsing模块头部添加类型导入声明,让Dialyzer明确找到re:mp()的定义:

    -import_type({mp, 0} from re).
    

    之后你的-spec标注就能正常被Dialyzer识别。

  • 确认编译依赖配置
    检查项目的编译配置(比如rebar.config或自定义编译脚本),确保stdlib被列为依赖项——这是re模块的所属应用,缺失的话可能导致类型无法被检索到。

内容的提问来源于stack exchange,提问作者Patrick Bucher

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 02:12:14