-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tuple conversion implementation appears confused #11013
Comments
That is for cases like ( (long a, long b) ) ( c: 1, d: 2 ); Then there is a conversion node that identity-converts to (long a, long b). The result is (long a, long b), the conversion is not confused. Since semantic info exposes the top conversion, it will look as |
If that code survives, we need to decide what to do with location for the tuple symbol. |
I think location of a thing named "c" should be where we have "c" introduced in the source. The natural type (int c, int d) would also have that location, but I do not think the type will be observable in APIs, so that should not be confusing. |
WithElementNames should probably take locations in addition to names. Original locations are almost certainly incorrect when names are substituted. - How can it be in the same place when names are different? |
… elements of tuple literals. Fixes:dotnet#14600 Fixes:dotnet#11013 Fixes:dotnet#14116 Fixes:dotnet#16168
The tuple conversion implementation appears either confused or confusing. A method
results in a bound node that does not have the
destination
type (but instead a type that is a combination of the destination type with names from the source tuple). I don't think that's right.The text was updated successfully, but these errors were encountered: