diff --git a/tests/FSharpLint.Core.Tests/Rules/Conventions/RedundantNewKeyword.fs b/tests/FSharpLint.Core.Tests/Rules/Conventions/RedundantNewKeyword.fs index f6b69cdc8..7e1d1e37b 100644 --- a/tests/FSharpLint.Core.Tests/Rules/Conventions/RedundantNewKeyword.fs +++ b/tests/FSharpLint.Core.Tests/Rules/Conventions/RedundantNewKeyword.fs @@ -97,3 +97,31 @@ module Program Assert.IsTrue this.ErrorsExist + [] + member this.``new keyword is required.``() = + this.Parse + """ +open System + +type ISomeInterfaceWithDisposable = + interface + inherit IDisposable + end + +type SomeDisposableType() = + interface ISomeInterfaceWithDisposable with + member _.Dispose() = () + +module Program = + let foo = new SomeDisposableType() :> ISomeInterfaceWithDisposable""" + + this.AssertNoWarnings() + + [] + member this.``New keyword is required for known type that implements IDisposable``() = + this.Parse + """module Program + +let foo = new System.Net.Http.HttpClient()""" + + this.AssertNoWarnings()