-
Notifications
You must be signed in to change notification settings - Fork 819
Exclude compiler generated args #3710
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
Conversation
but this fails at wrong position ;-) |
ok the "fix" is clearly wrong. It's matching the _ already because the nameres sees it as _arg1. It also matches the _arg1 in function body, but there is no way for me to see if we are in function definition or function body. |
Yes, it's a bug |
the fix would be breaking... |
I wouldn't mind that - it is obviously a bug and any code relying on this shouldn't compile - but we can explore ways to make it a warning if necessary |
Since I was tricked by @forki ;) into #3706, I asked about solving this too, and he said that it's trickier than it seemed at first blush: not only does more state need to be threaded down to the point at which it would be most convenient to make the check as to whether the identifier was compiler-generated, but also, that state is replicated in other places, which means we would need to invalidate it everywhere else it exists. I don't know enough about the compiler to know whether this is a stupid suggestion, but an easy (though somewhat a hack) solution would be to simply regard Rationale:
Anti-rationale:
|
@drvink I think i found the "correct" way. now we need tons of samples ;-) |
4bac1db
to
7843cc7
Compare
Hi mate, what is the status of this? Thanks Kevin |
Need to revisit |
thx |
@forki, do you intend getting back to this, or can this be closed? |
we like this work, however, in order to reduce the number of abandoned, but open PR's we are closing it. Feel free to reopen this PR or resubmit the change when believe you are able to complete it. Kevin |
This addresses #3705
Let's see what else we break ;-)