Releases: SergeyTeplyakov/ErrorProne.NET
Releases · SergeyTeplyakov/ErrorProne.NET
Version 0.8.0
Async Analyzers
- Add DoNotBlockAsyncCallsInAsyncMethodsAnalyzer
- Add DoNotUseThreadSleepAnalyzer
- Add analyzer to warn on returning null for Task-like types
- Add TaskCompletionSourceAnalyzer
- Add Do not use async void methods rule
Error Handling Analyzers
- Add MustUseResultAnalyzer
Correctness Analyzers
- Add the analyzer for detecting infinite recursions
- Add ExcludeFromCodeCoverage analyzer
Nuget Packages
Version 0.3.0
Core Analyzers
- EPC17: warns when async void delegate is accidentally created where
Actionshould be used. - ERP031: warns when some unsafe methods are used for
ConcurrentDictionaryinstance likeToArray.
Struct Analyzers
- EPS07: detects that a struct that does not override
EqualsorGetHashCodeis used as the key in the dictionary or in a hashset. - EPS08: detects that the default
ValueType.EqualsorValueType.GetHashCodeare used in the implmentation of theEqualsorGetHashCodefor a custom struct. - EPS09: detects that
inmodifier can be explicitely specified in a method call. - EPS10: detects attempts of constructing non-defaultable structs by using
new T,defaultor similar. - EPS11: detects that a non-defaultable struct is embedded in a defaultable struct.
- Various bug fixes.
Many thanks to @sharwell!
Nuget Packages
Initial release
Supported analyzers
- EPS01: detects that a struct could be made readonly;
- EPS02: detects that a struct not suitable for readonly contexts is passed using 'in'-parameter
- EPS03: detects that a struct not suitable for readonly contexts is returned by ref readonly reference.
- EPS04: detects that a struct not suitable for readonly contexts is stored in ref readonly local.
- EPS05: detects that a struct could be passed using 'in'-modifier for performance reasons.
- EPS06: detects that the compiler emits a defensive copy for a given expression.
Nuget package: https://t.co/3qxdBPBQjR
Extension on the VS marketplace: https://t.co/j4eDEoEy2d
Blogpost about the analyzers: https://t.co/oUF8bgvyvT