| package noparse |
| |
| // The type error was chosen carefully to exercise a type-error analyzer. |
| // We use the 'nonewvars' analyzer because the other candidates are tricky: |
| // |
| // - The 'unusedvariable' analyzer is disabled by default, so it is not |
| // consistently enabled across Test{LSP,CommandLine} tests, which |
| // both process this file. |
| // - The 'undeclaredname' analyzer depends on the text of the go/types |
| // "undeclared name" error, which changed in go1.20. |
| // - The 'noresultvalues' analyzer produces a diagnostic containing newlines, |
| // which breaks the parser used by TestCommandLine. |
| // |
| // This comment is all that remains of my afternoon. |
| |
| func bye(x int) { |
| x := 123 //@diag(":=", "nonewvars", "no new variables", "warning") |
| } |
| |
| func stuff() { |
| |
| } |
| |
| func .() {} //@diag(".", "syntax", "expected 'IDENT', found '.'", "error") |