dotnet / dotnet/fsharp

Improved error message: `use y = fixed x` does not compile inside computation expressions

Open
#5,253 3 comments 0 reactions 1 assignee Claimed by @edgarfgp View on GitHub
Area-Diagnostics Feature Improvement
Dominant language
F#
Stars
4.3k
Forks
876
Avg merge
4d 11h
Merged PRs (30d)
131

Description

![image](https://user-images.githubusercontent.com/873919/42083384-66382d68-7b93-11e8-9510-5a717a44e829.png)

```fsharp
#nowarn "9"

open System

type TestCaseBuilder() =
member __.Using(disposable: IDisposable, f) =
try
f disposable
finally
match disposable with
| null -> ()
| disp -> disp.Dispose()

member __.Combine(f1, f2) = f2(); f1
member __.Zero() = ()
member __.Delay f = f
member __.Run f = f

let test = TestCaseBuilder()

[]
let main argv =
let x = [|1|]
use y = fixed x

test {
let x = [|1|]
let y = fixed x
use z = fixed x
()
}
|> ignore
0
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.