Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Long line causes offside error #1402

Closed
1 of 3 tasks
Smaug123 opened this issue Jan 27, 2021 · 1 comment · Fixed by #1454
Closed
1 of 3 tasks

Long line causes offside error #1402

Smaug123 opened this issue Jan 27, 2021 · 1 comment · Fixed by #1454

Comments

@Smaug123
Copy link
Contributor

Smaug123 commented Jan 27, 2021

Issue created from fantomas-online

Code

let c =
    if bar |> Seq.exists ((|KeyValue|) >> snd >> (=) (Some i)) then false else true

Result

let c =
    if bar
       |> Seq.exists (
           (|KeyValue|)
           >> snd
           >> (=) (Some i)
       ) then
        false
    else
        true

Problem description

For unclear reasons, this is an offside error on the (|KeyValue|) line. The problem is that the whole thing is happening inside the if check, and the offside rules are somehow weird there.

I think the right answer is to modify F# to allow this. However, if we have to stick around with the existing rules, then I think the following is the best of a bad bunch:

let c =
    if
        bar
        |> Seq.exists
            (
                (|KeyValue|)
                >> snd
                >> (=) (Some i)
            )
    then
        false
    else
        true

Extra information

  • The formatted result breaks by code.
  • The formatted result gives compiler warnings.
  • I or my company would be willing to help fix this.

Options

Fantomas Master at 01/27/2021 07:36:19 - 138146e

Default Fantomas configuration

Did you know that you can ignore files when formatting from fantomas-tool or the FAKE targets by using a .fantomasignore file?

@nojaf
Copy link
Contributor

nojaf commented Feb 16, 2021

This is another example of dotnet/fsharp#10852 I believe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants