In Visual Studio Code, no errors seem to arise when an @required parameter is omitted when invoking a Dart function. Do I have to do something to get the analyzer working? Or are errors being flagged and I'm just not seeing them? Any help would be appreciated ...
import 'package:meta/meta.dart';
void sayHello({@required String to, bool inEnglish}){
if(inEnglish == null || inEnglish){
print("Hello, $to");
} else {
print("Bonjour, $to");
}
}
main(){
sayHello(inEnglish: true); // output: Hello, null, no complaints about **to** missing
}
As of Dart 2.12, the required
keyword replaces the @required
meta annotation. For detailed info look into the official FAQ.
The Dart language has required positional parameters, optional positional parameters, and optional named parameters. Sadly, Dart has no support for required named parameters.
The @required
annotation doesn't actually do anything. It's just a workaround added by Flutter that the analyzer can use to add a warning when you don't pass a parameter that is marked with it. But it won't prevent you from omitting the "required" parameter, and code that does so will still compile and run perfectly well.