[ ] Review the compiler for any further diagnoistics reported in "strict" mode.
Note: Most of these suggestions are errors rather than warnings when diagnosed in strict mode. We will need to decide whether to downgrade them to warnings (presumably with a new error code) when reporting them in a warning wave, or to permit errors to be reported in a wave.
This depends on the completion of https://github.com/dotnet/roslyn/issues/45702. It is part of https://github.com/dotnet/roslyn/issues/45701. This is an umbrella issue to track the work of enabling existing diagnostics that are reported under "strict" mode in warning wave "5". See https://github.com/dotnet/roslyn/projects/10#column-3494327, possibly including the following:
CS8073
: warn when expression is always false or trueCS0185
: do not allow locks on non-reference typesCS7023
: do not allow as or is on static typesCS0165
: track definite assignment of structs across assembliesCS0019
: additional error for type conversionsCS0149
: Do not accept refs to delegate expressionsCS0177
: Do not ignore private instance fields of structs imported through metadataNote: Most of these suggestions are errors rather than warnings when diagnosed in strict mode. We will need to decide whether to downgrade them to warnings (presumably with a new error code) when reporting them in a warning wave, or to permit errors to be reported in a wave.