Skip to content

[NNBD] No compile error if function 'main()' has more than two required positional parameters #43551

@sgrekhov

Description

@sgrekhov

Accordint to the recent change in NNBD specification

Let L be a library that exports a declaration D named main. ... It is a compile-time error if D declares more than two required positional parameters, or if there are any required named parameters.

In fact, there are no issues in analyzer and runtime NoSuchMethodError in VM in both cases below

void main(List<String> args, var i, var j) {}
void main({required List<String> args}) {}

There must be a compile error in both analyzer and CFE
Dart SDK version: 2.10.0-110.0.dev (dev) (Wed Sep 9 17:51:43 2020 -0700) on "windows_x64"

Metadata

Metadata

Assignees

No one assigned

    Labels

    EpicNNBDIssues related to NNBD Releasearea-metaCross-cutting, high-level issues (for tracking many other implementation issues, ...).

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions