Checks that the correct number of generic arguments have been provided.
This is used both for datatypes and function calls.
Checks that the correct number of generic arguments have been provided.
Used specifically for function calls.
Creates the relevant generic arguments
corresponding to a set of generic parameters. This is a
rather complex function. Let us try to explain the role
of each of its parameters:
Report an error that a generic argument did not match the generic parameter that was
expected.
Prohibits explicit lifetime arguments if late-bound lifetime parameters
are present. This is used both for datatypes and function calls.