Type mismatch reported for interpolated strings with multiple % specifiers in IDE checking
维护者通常 3 天内回复
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 30/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- fsharp
- 领域
- compilers
调研方向
Start by reproducing the error with the snippet in the issue, using ParseAndCheckFileInProject in the language service rather than fsc. The report says this regressed in #19971, so check that change first to see how interpolated format strings are type-checked. Done means $"%b{flag} %b{flag}" type-checks without error in the IDE path and the existing interpolation tests still pass.
由索引模型根据 Issue 内容生成。
描述
Consider this code:
let flag = true
let s = $"%b{flag} %b{flag}"
It compiles fine with fsc, but ParseAndCheckFileInProject reports an error on the string:
Error FS0001 : Type mismatch. Expecting a
'bool -> string'
but given a
'bool -> bool -> string'
The type 'string' does not match the type 'bool -> string'
It happens when there are two or more % specifiers and at least one of them is not a bare %s/%c/%d/%i/%M, i.e. %b, %A, %f or %5d.
This seems to be a regression in #19971. Initially reported as RIDER-143926.
- 主要语言
- F#
- 星标
- 4.3k
- 派生
- 881
- 平均合并
- 3 天 21 小时
- 30 天内合并 PR
- 108
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
dotnet/fsharp 的其他 Issue
-
Bug Needs-Triage
难度 2/5 1-3 小时 新手友好度 64/100
维护者通常 3 天内回复
-
Bug Needs-Triage
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 3 天内回复
-
Documentation: Array.tryPick code example gives an error可能已有人在做 @T-Gro 于 2 天前认领。 未关闭Area-XmlDocs
难度 1/5 1 小时以内 新手友好度 78/100
dotnet/fsharp#20780 · 已指派 1 人 ·
维护者通常 3 天内回复
-
Semantic classification cache for opened documents is never populated (written to the unopened-documents cache)可能已有人在做 @xperiandri 于 44 天前认领。 未关闭Needs-Triage
难度 1/5 1 小时以内 新手友好度 90/100
维护者通常 3 天内回复
-
Needs-Triage
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 3 天内回复
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 88/100
snowballstem/snowball#311 ·
-
难度 2/5 1-3 小时 新手友好度 78/100
JakeChampion/lang#12684 ·
维护者通常 1 天内回复
-
`lvm_compact` has no self-hosted twin, and `docs/158` §5 says every language-face component must未关闭bug sev-3 vm
难度 2/5 1-3 小时 新手友好度 65/100
-
bisect
难度 2/5 1-3 小时 新手友好度 65/100
dtcxzyw/llvm-bisect-service#545 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复