Skip to content

Commit 76d6e9d

Browse files
janusknocte
authored andcommitted
RedundantNewKeyword: fix failing unit test
Fixes #555.
1 parent 3513d32 commit 76d6e9d

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/FSharpLint.Core/Rules/Conventions/RedundantNewKeyword.fs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,11 @@ let private doesNotImplementIDisposable (checkFile:FSharpCheckFileResults) (iden
2727
ctor.DeclaringEntity
2828
|> Option.exists (fun ctorForType ->
2929
Seq.forall (implementsIDisposable >> not) ctorForType.AllInterfaces)
30-
| Some(_) | None -> false
30+
| Some symbol when (symbol.Symbol :? FSharpEntity) ->
31+
let ctor = symbol.Symbol :?> FSharpEntity
32+
Seq.forall (implementsIDisposable >> not) ctor.AllInterfaces
33+
| Some _ -> false
34+
| None -> true
3135

3236
let private generateFix (text:string) range = lazy(
3337
ExpressionUtilities.tryFindTextOfRange range text
@@ -38,8 +42,9 @@ let private generateFix (text:string) range = lazy(
3842

3943

4044
let runner args =
41-
match (args.AstNode, args.CheckInfo) with
42-
| (AstNode.Expression(SynExpr.New(_, SynType.LongIdent(identifier), _, range)), Some checkInfo) ->
45+
match args.AstNode, args.CheckInfo with
46+
| AstNode.Expression(SynExpr.New(_, SynType.LongIdent(identifier), _, range)), Some checkInfo
47+
| AstNode.Expression(SynExpr.New(_, SynType.App(SynType.LongIdent(identifier), _, _, _, _, _, _), _, range)), Some checkInfo ->
4348
{ Range = range
4449
Message = Resources.GetString("RulesRedundantNewKeyword")
4550
SuggestedFix = Some (generateFix args.FileContent range)

0 commit comments

Comments
 (0)