From b8e51dbf002324b064f3b0cf67196a3ebb13ef60 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 14 Oct 2025 16:01:13 +0000 Subject: [PATCH 1/4] Initial plan From 3154655a7c6a2a39d0a522cc3e1aa40cc32ca16d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 14 Oct 2025 16:05:23 +0000 Subject: [PATCH 2/4] Document ToString() conversion for F# interpolated strings Co-authored-by: BillWagner <493969+BillWagner@users.noreply.github.com> --- docs/fsharp/language-reference/interpolated-strings.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/fsharp/language-reference/interpolated-strings.md b/docs/fsharp/language-reference/interpolated-strings.md index e9aeed973853d..34bc86b0c3314 100644 --- a/docs/fsharp/language-reference/interpolated-strings.md +++ b/docs/fsharp/language-reference/interpolated-strings.md @@ -33,6 +33,8 @@ printfn $"I think {3.0 + 0.14} is close to {System.Math.PI}!" The contents in between each `{}` brace pair can be any F# expression. +For non-typed interpolated strings (without format specifiers), the expression is converted to a string using the `ToString()` method. If the expression evaluates to `null`, an empty string is used. For typed interpolated strings with format specifiers (such as `%s{expr}` or `%d{expr}`), the conversion follows the rules defined for that specific format specifier. + To escape a `{}` brace pair, write two of them like so: ```fsharp From 89798e17ea14efc95e9d63920760846aaa5bc0bd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 14 Oct 2025 16:06:22 +0000 Subject: [PATCH 3/4] Add ai-usage frontmatter to indicate AI assistance Co-authored-by: BillWagner <493969+BillWagner@users.noreply.github.com> --- docs/fsharp/language-reference/interpolated-strings.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/fsharp/language-reference/interpolated-strings.md b/docs/fsharp/language-reference/interpolated-strings.md index 34bc86b0c3314..fcd7af7a38e14 100644 --- a/docs/fsharp/language-reference/interpolated-strings.md +++ b/docs/fsharp/language-reference/interpolated-strings.md @@ -2,6 +2,7 @@ title: Interpolated strings description: Learn about interpolated strings, a special form of string that allows you to embed F# expressions directly inside them. ms.date: 10/01/2025 +ai-usage: ai-assisted --- # Interpolated strings From 855fc71a9e1ffb70bba8993ba05f980c5e3e1f47 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 15 Oct 2025 07:59:44 -0400 Subject: [PATCH 4/4] Update docs/fsharp/language-reference/interpolated-strings.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/fsharp/language-reference/interpolated-strings.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/fsharp/language-reference/interpolated-strings.md b/docs/fsharp/language-reference/interpolated-strings.md index fcd7af7a38e14..4080184b60fa8 100644 --- a/docs/fsharp/language-reference/interpolated-strings.md +++ b/docs/fsharp/language-reference/interpolated-strings.md @@ -34,8 +34,9 @@ printfn $"I think {3.0 + 0.14} is close to {System.Math.PI}!" The contents in between each `{}` brace pair can be any F# expression. -For non-typed interpolated strings (without format specifiers), the expression is converted to a string using the `ToString()` method. If the expression evaluates to `null`, an empty string is used. For typed interpolated strings with format specifiers (such as `%s{expr}` or `%d{expr}`), the conversion follows the rules defined for that specific format specifier. +For non-typed interpolated strings (without format specifiers), the expression is converted to a string using the `ToString()` method. If the expression evaluates to `null`, an empty string is used. +For typed interpolated strings with format specifiers (such as `%s{expr}` or `%d{expr}`), the conversion follows the rules defined for that specific format specifier. To escape a `{}` brace pair, write two of them like so: ```fsharp