Issue |
139314
|
Summary |
Typo correction/Recovery Expr causes bad follow-up diagnostic:
|
Labels |
new issue
|
Assignees |
|
Reporter |
erichkeane
|
See:
https://godbolt.org/z/b99E59WxT
```
template<typename T>
struct S {
template<typename U = T>
void getsTypoCorrection(){}
void baz() {
getsTypoCorrectoin();
}
};
```
Diagnoses as:
```
<source>:10:9: error: use of undeclared identifier 'getsTypoCorrectoin'; did you mean 'getsTypoCorrection'?
10 | getsTypoCorrectoin();
| ^~~~~~~~~~~~~~~~~~
| getsTypoCorrection
<source>:7:10: note: 'getsTypoCorrection' declared here
7 | void getsTypoCorrection(){}
| ^
<source>:10:9: error: cannot refer to member 'getsTypoCorrection' in 'S<T>' with '->'
10 | getsTypoCorrectoin();
| ^
<source>:7:10: note: member 'getsTypoCorrection' declared here
7 | void getsTypoCorrection(){}
```
The first diagnostic is correct, but the 2nd is super weird/awkward. I'm guessing we're not doing a good job checking to make sure the `this` isn't implicit? Or not setting it right?
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs