Caller information attributes
provide a way to get information about the caller of a method through optional
parameters. But they only work right if their values aren’t provided explicitly. So if you define a method with caller info attributes in the middle
of the parameter list, the caller is forced to use named arguments if they want to use the method properly.
This rule raises an issue when the following attributes are used on parameters before the end of the parameter list: