I'm getting some stack overflows when compiling FSharp.Data.Tests in this repo in "Debug" mode
This is because the lack of tailcalls in the type provider when compiled as Debug means it can't cope with large inputs
at <StartupCode$FSharp-Data-DesignTime>.$JsonValue+parsePairItem@269[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Invoke(Microsoft.FSharp.Core.Unit)
at <StartupCode$FSharp-Data-DesignTime>.$JsonValue+clo@265-168[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Invoke(System.Tuple`2<System.String,FSharp.Data.JsonValue>)
at <StartupCode$FSharp-Data-DesignTime>.$JsonValue+clo@253-167[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Invoke(FSharp.Data.JsonValue)
at FSharp.Data.JsonParser.parseValue[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Microsoft.FSharp.Core.FSharpFunc`2<FSharp.Data.JsonValue,System.__Canon>)
at FSharp.Data.JsonParser.parsePair[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Microsoft.FSharp.Core.FSharpFunc`2<System.Tuple`2<System.String,FSharp.Data.JsonValue>,System.__Canon>)
at FSharp.Data.JsonParser.parseObject[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Microsoft.FSharp.Core.FSharpFunc`2<FSharp.Data.JsonValue,System.__Canon>)
at FSharp.Data.JsonParser.parseValue[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Microsoft.FSharp.Core.FSharpFunc`2<FSharp.Data.JsonValue,System.__Canon>)
at FSharp.Data.JsonParser.parsePair[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Microsoft.FSharp.Core.FSharpFunc`2<System.Tuple`2<System.String,FSharp.Data.JsonValue>,System.__Canon>)
at <StartupCode$FSharp-Data-DesignTime>.$JsonValue+parsePairItem@269[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Invoke(Microsoft.FSharp.Core.Unit)
at <StartupCode$FSharp-Data-DesignTime>.$JsonValue+parsePairItem@272-1[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Invoke(System.Tuple`2<System.String,FSharp.Data.JsonValue>)
at <StartupCode$FSharp-Data-DesignTime>.$JsonValue+clo@253-167[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Invoke(FSharp.Data.JsonValue)
at <StartupCode$FSharp-Data-DesignTime>.$JsonValue+parseObjectEnd@261[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Invoke(Microsoft.FSharp.Core.Unit)
at <StartupCode$FSharp-Data-DesignTime>.$JsonValue+parsePairItem@269[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Invoke(Microsoft.FSharp.Core.Unit)
at <StartupCode$FSharp-Data-DesignTime>.$JsonValue+parsePairItem@272-1[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Invoke(System.Tuple`2<System.String,FSharp.Data.JsonValue>)
at <StartupCode$FSharp-Data-DesignTime>.$JsonValue+clo@253-167[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Invoke(FSharp.Data.JsonValue)
at FSharp.Data.JsonParser.parseValue[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Microsoft.FSharp.Core.FSharpFunc`2<FSharp.Data.JsonValue,System.__Canon>)
at FSharp.Data.JsonParser.parsePair[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Microsoft.FSharp.Core.FSharpFunc`2<System.Tuple`2<System.String,FSharp.Data.JsonValue>,System.__Canon>)
at <StartupCode$FSharp-Data-DesignTime>.$JsonValue+parsePairItem@269[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Invoke(Microsoft.FSharp.Core.Unit)
at <StartupCode$FSharp-Data-DesignTime>.$JsonValue+parsePairItem@272-1[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Invoke(System.Tuple`2<System.String,FSharp.Data.JsonValue>
I'm getting some stack overflows when compiling FSharp.Data.Tests in this repo in "Debug" mode
This is because the lack of tailcalls in the type provider when compiled as Debug means it can't cope with large inputs
A typical chunk of a failing stack is below: