davrec added a comment.

`throughUsingDecl` seems like a good solution, though I defer to regular 
ASTMatchers users.

One other thought: can we add diagnostic notes using this new information, e.g.

  struct A1 {
  protected:
    using IntType = char;
  };
  
  struct A2 {
  protected:
    using IntType = unsigned long;
  };
  
  struct B : A1, A2 {
    using A1::IntType;
  };
  
  struct C : B {
    IntType foo;
    void setFoo(IntType V) {
      foo = V;
    }
  };
  
  
  int main() {
    D d;
    d.setFoo((unsigned long)-1); // warning: implicit conversion loses info 
  }

It would be nice to add a note pointing to `using A1::IntType` saying 
"introduced here".


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114251/new/

https://reviews.llvm.org/D114251

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to