Value inside parenthesized lambda is generalized when it shouldn't be
Open
Area-LangService-AutoComplete
Bug
Impact-Low
- Dominant language
- F#
- Stars
- 4.3k
- Forks
- 876
- Avg merge
- 4d 11h
- Merged PRs (30d)
- 131
Description
VS 2017, 15.5.2 + VSIX
Given the following code:
```fsharp
open System.Linq
[""].Join([""], (fun x -> x.
```
**Expected:** `x` is of type `string`, as the `TOuter` type [in the method](https://docs.microsoft.com/en-us/dotnet/api/system.linq.enumerable.join?view=netframework-4.7) is a string.
**Actual:** `x` is of type `'a`
If I do not surround the lambda with parentheses, `x` is inferred to be `string`:

Contributor guide
Assessment
This issue has not been assessed yet.