diff options
author | Faisal Vali <faisalv@yahoo.com> | 2017-08-27 16:49:47 +0000 |
---|---|---|
committer | Faisal Vali <faisalv@yahoo.com> | 2017-08-27 16:49:47 +0000 |
commit | 462390a3e04b364783b941b95bdecf36318fef01 (patch) | |
tree | d800470e20bcf989af75c7e5743548010cde0185 /docs | |
parent | 68076440bfe96db15eafda7e05e32385f6f5c4b8 (diff) |
Don't see through 'using member-declarations' when determining the relation of any potential implicit object expression to the parent class of the member function containing the function call.
Prior to this patch clang would not error here:
template <class T> struct B;
template <class T> struct A {
void foo();
void foo2();
void test1() {
B<T>::foo(); // OK, foo is declared in A<int> - matches type of 'this'.
B<T>::foo2(); // This should be an error!
// foo2 is found in B<int>, 'base unrelated' to 'this'.
}
};
template <class T> struct B : A<T> {
using A<T>::foo2;
};
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311851 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions