You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cf. #1120, the rules about `main` impose very few requirements on the signature and the behavior, and the ones that are specified are actually more strict than the implementations.
This PR changes the rules such that obviously type-incorrect declarations of `main` are a compile-time error, and additional signatures (with optional arguments) allowed by the tools are now also allowed according to the specification. It is still a requirement that `main` is a method, and no library can declare a `main` which cannot be the initial function. Also, invocations of `main` are now explicitly required to be type safe (which seems to be implemented already).
Finally, it allows each tool to reject any `main` declaration according to additional implementation specific constraints, which means that no work is required in any tool in order to support this spec change.
0 commit comments