xazax.hun accepted this revision.
xazax.hun added a comment.
This revision is now accepted and ready to land.

LGTM, thanks!



================
Comment at: clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h:114
   bool isEqualTypeErased(const TypeErasedLattice &E1,
                          const TypeErasedLattice &E2) final {
     const Lattice &L1 = llvm::any_cast<const Lattice &>(E1.Value);
----------------
ymandel wrote:
> xazax.hun wrote:
> > Maybe this is another case where we want to mark the whole class `final` 
> > instead of the individual methods? It is fine to address this in a separate 
> > PR.
> Unfortunately not, since this class is used for CRTP.
Whoops, indeed, I missed that.


================
Comment at: clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h:135
+  // between overloads.
+  struct Rank1 {};
+  struct Rank0 : Rank1 {};
----------------
ymandel wrote:
> xazax.hun wrote:
> > Is there ever a reason to instantiate `Rank1`? If no, should we do 
> > something (like make its ctor private and friends with `Rank0`?). Although 
> > possibly not important enough to worth the hassle.
> No reason to instantiate it that I can see, but since it's a already private 
> to this class, I think it's good enough. But, I just borrowed this from Eric, 
> so I'm not an expert in this pattern. Happy to take suggested improvements.
Let's leave as is.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D137948

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

Reply via email to