Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Type mismatch reported for interpolated strings with multiple % specifiers in IDE checking

Abierto
#20,752 0 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 3 días

@T-Gro ya está trabajando en esto.

Desde el 12/10/2026.

  • #20775 de @T-Gro — abierto

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
30/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
fsharp
Área
compilers

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Bug

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.

Lenguaje dominante
F#
Estrellas
4.3k
Forks
881
Merge medio
3 d 20 h
PR fusionados (30 d)
108

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de dotnet/fsharp

Todos los issues de dotnet/fsharp

Issues similares

Más issues de Compilers

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.