Brian Wilkerson
Brian Wilkerson
Given the following: ``` void g(int Function({int x}) f) { f(x: 2); } ``` If you rename the `x` in the parameter list to `y` you get: ``` void g(int...
Given a file with the following: ``` void f() { print(true || false); print(true && true); } ``` The first line is flagged as having dead code, but the second...
The visitor for `use_late_for_private_fields_and_variables` defines two static fields. They are used to keep track of information across visitors when a library has multiple compilation units (that is, has parts). While...
Under null safety it will sometimes be possible for local variables without a type annotation to have a type inferred for them even if they don't have an initializer. This...
The `@Deprecated(...)` annotation takes a string that describes what to use in place of the deprecated element. When that string is long, authors will sometimes use adjacent strings to break...
In this section of the null safety doc (https://dart.dev/null-safety/understanding-null-safety#top-and-bottom), in the last bullet item, consider mentioning one use case for `Never`: using it as a return type on methods that...
The dead code analysis in the analyzer produces diagnostics with the wrong highlight range in at least two cases. Create a file in a package that will be analyzed with...
It would be nice to have a lint to flag code where an explicit type annotation is provided that is unnecessary because the same type would be inferred if the...
It would be nice to have a lint to catch cases like the following ``` // method comment void m() {} ``` There might be too many false positives, although...
Default values for optional parameters - break forwarding in ugly ways, - pollute interfaces in confusing ways, - become part of the signature of the method so that it affects...