Steve Gilham

Results 135 comments of Steve Gilham

Sure thing https://github.com/SteveGilham/altcover/blob/7db21cf94d9d7cd20e65295da72d1015505c2686/XTests/XTests.fs#L438-L439 https://github.com/SteveGilham/altcover/blob/7db21cf94d9d7cd20e65295da72d1015505c2686/XTests/XTests.fs#L625-L626 and https://github.com/SteveGilham/altcover/blob/7db21cf94d9d7cd20e65295da72d1015505c2686/AltCover.Visualizer/Visualizer.fs#L876 Driving the linter directly from Fake as at https://github.com/SteveGilham/altcover/blob/7db21cf94d9d7cd20e65295da72d1015505c2686/Build/targets.fsx#L291-L323

Here's one of the problem cases, that of the module level ``` let latch = new Threading.ManualResetEvent false ``` cut right down to be getting on with [altcover.zip](https://github.com/fsprojects/FSharpLint/files/3524387/altcover.zip) If the...

And here's the other example, cut right down. [altcover.zip](https://github.com/fsprojects/FSharpLint/files/3524528/altcover.zip) Same ``` dotnet restore .\dotnet-fake.fsproj dotnet fake run .\Build\Build.fsx ``` if needed, and produces ``` Info: "FL0014: Usage of `new` keyword...

I'm driving the linting with FAKE 5.16.0, which takes FSharp 4.7 as a dependency. The case of ``` let latch = new Threading.ManualResetEvent false ``` is in a project that...

Probably the simplest fix would be to detect (or specify via command line) the SDK in use & feed that into a manual resolution process if the default doesn't work.

Thinking forwards, the outcome should be resilient to a .net 7.0-only (or 8.0 only) environment without requiring a day 1 update.

This is do-able using `System.Reflection.Metadata`, with the limitation that interfaces, enums and similar items without executable code don't have representation in the .pdb files.

Proof of concept (within its limitations) of the `System.Reflection.Metadata` approach [here](https://github.com/SteveGilham/XmlDocMarkdown/tree/develop/issue-81); doesn't have any of the administrivia yet to make a PR.

This is going to be an interesting one to track down, as it's from deep inside the `Mono.Cecil` library that I call to add instrumentation to the code for which...