Description
Working on "scoped nowarn", I came across the following items.
-
With SDK 8.0, a directive
#nowarn "FS0020"
creates a warning "Invalid warning number 'FS0020'".
With the current compiler and "--langversion:8.0", there is no warning. (It got lost in Allow ParsedHashDirectives to take non string arguments #17206.)
The warning should be brought back for "--langversion:8.0". -
I also propose to introduces (under the F# 9.0 language flag
ParsedHashDirectiveArgumentNonQuotes
) warnings for invalid nowarn arguments like in#nowarn "xyz"
. Specifically, for arguments that do not match the format(FS)?\d+
(for directives) or[A-Z]*\d+
(for compiler options). -
Independent of the language version, the range of the argument (rather than the whole directive) should be used for the warning, making it more precise.
Draft PR exists (#17871)
Metadata
Metadata
Assignees
Type
Projects
Status