It seems like some warnings are missing from all recent IDEs (Rider, Visual Studio 2017, Ionide and FSI)
Repro steps
The following code contains a warning, as the generic parameter 'a is constrained to string because of the parameter f in cache.GetOrAdd(_, f):
let internal memoizeBy (getKey : 'a -> string) (f: 'a -> 'b) : 'a -> 'b =
let cache = System.Collections.Concurrent.ConcurrentDictionary<string, 'b>()
fun (x: 'a) ->
cache.GetOrAdd(getKey x, f)
Use this code snippet in recent Visual Studio, Ionide or Rider.
Expected behavior

Actual behavior
No Warning at all.
Known workarounds
Use older versions
Related information
There have been reports on Slack that other warnings seem to be no longer shown (like "use new on IDisposable), but I haven't actually verified anything.
If the impact of this are indeed ALL warnings, the severity should be considered very high.
Even if the impact is only for a particular subset of warnings I think the severity should still be considered high as missing this warning along can (an has already) cost a lot of hours and frustration.
While the above (striked through) is true, we have lived with this a long time. So I think it is serious but nobody noticed this for a long time (it is indeed hard to spot) ...
Also this seems to be a regression as it worked previously.
@Lleutch Did some testing and says this has been introduced "between FCS 9.0.1 and FCS 10.0.3"
/cc @Krzysztof-Cieslak @vasily-kirichenko @Lleutch
It seems like some warnings are missing from all recent IDEs (Rider, Visual Studio 2017, Ionide and FSI)
Repro steps
The following code contains a warning, as the generic parameter
'ais constrained to string because of the parameterfincache.GetOrAdd(_, f):Use this code snippet in recent Visual Studio, Ionide or Rider.
Expected behavior
Actual behavior
No Warning at all.
Known workarounds
Use older versions
Related information
There have been reports on Slack that other warnings seem to be no longer shown (like "use new on
IDisposable), but I haven't actually verified anything.If the impact of this are indeed ALL warnings, the severity should be considered very high.Even if the impact is only for a particular subset of warnings I think the severity should still be considered high as missing this warning along can (an has already) cost a lot of hours and frustration.While the above (striked through) is true, we have lived with this a long time. So I think it is serious but nobody noticed this for a long time (it is indeed hard to spot) ...
Also this seems to be a regression as it worked previously.
@Lleutch Did some testing and says this has been introduced "between FCS 9.0.1 and FCS 10.0.3"
/cc @Krzysztof-Cieslak @vasily-kirichenko @Lleutch