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

complex computation expression identifier looks off #835

Closed
nojaf opened this issue May 15, 2020 · 0 comments · Fixed by #836
Closed

complex computation expression identifier looks off #835

nojaf opened this issue May 15, 2020 · 0 comments · Fixed by #836

Comments

@nojaf
Copy link
Contributor

nojaf commented May 15, 2020

Issue created from fantomas-online

Code

let private validateLocation =
    createValidatorFor<LocationAdded> () {
        validate (fun l -> l.Id) [ isNotEmptyGuid ]
        validate (fun l -> l.Name)
            [ isNotEmpty
              hasMinLengthOf 3 ]
        validate (fun l -> fst l.Location) [ isValidLatitude ]
        validate (fun l -> snd l.Location) [ isValidLongitude ]
        validate (fun l -> l.Price) [ isGreaterThan 0. ]
        validate (fun l -> l.Date) [ isNotMinDate ]
        validate (fun l -> l.Creator) [ isNotEmpty ]
    }

let meh =
    create [] {
        // foo
        // bar
        return 42
    }
    
[<Tests>]
let tests =
  testList "tests"
    [
      test "test" {
        Expect.equal true true "unexpected"
      }
    ]

Result

let private validateLocation =
    createValidatorFor<LocationAdded> ()
        { validate (fun l -> l.Id) [ isNotEmptyGuid ]
          validate (fun l -> l.Name) [ isNotEmpty; hasMinLengthOf 3 ]
          validate (fun l -> fst l.Location) [ isValidLatitude ]
          validate (fun l -> snd l.Location) [ isValidLongitude ]
          validate (fun l -> l.Price) [ isGreaterThan 0. ]
          validate (fun l -> l.Date) [ isNotMinDate ]
          validate (fun l -> l.Creator) [ isNotEmpty ]
    }

let meh =
    create []
        {
        // foo
        // bar
        return 42
    }

[<Tests>]
let tests =
    testList "tests" [ test "test" { Expect.equal true true "unexpected" } ]

This looks like a regression, was in 3.3.0 like:

let private validateLocation =
    createValidatorFor<LocationAdded> () {
        validate (fun l -> l.Id) [ isNotEmptyGuid ]
        validate (fun l -> l.Name)
            [ isNotEmpty
              hasMinLengthOf 3 ]
        validate (fun l -> fst l.Location) [ isValidLatitude ]
        validate (fun l -> snd l.Location) [ isValidLongitude ]
        validate (fun l -> l.Price) [ isGreaterThan 0. ]
        validate (fun l -> l.Date) [ isNotMinDate ]
        validate (fun l -> l.Creator) [ isNotEmpty ]
    }

let meh =
    create [] {
        // foo
        // bar
        return 42 }

[<Tests>]
let tests = testList "tests" [ test "test" { Expect.equal true true "unexpected" } ]

Options

Fantomas Next - 4.0.0-alpha-001-1/1/1990

Name Value
IndentSpaceNum 4
PageWidth 120
SemicolonAtEndOfLine false
SpaceBeforeParameter true
SpaceBeforeLowercaseInvocation true
SpaceBeforeUppercaseInvocation false
SpaceBeforeClassConstructor false
SpaceBeforeMember false
SpaceBeforeColon false
SpaceAfterComma true
SpaceBeforeSemicolon false
SpaceAfterSemicolon true
IndentOnTryWith false
SpaceAroundDelimiter true
MaxIfThenElseShortWidth 40
MaxInfixOperatorExpression 50
MaxRecordWidth 40
MaxArrayOrListWidth 40
MaxLetBindingWidth 40
MultilineBlockBracketsOnSameColumn false
NewlineBetweenTypeDefinitionAndMembers false
StrictMode false
nojaf added a commit to nojaf/fantomas that referenced this issue May 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant