alexander-shaposhnikov added inline comments.

================
Comment at: clang/lib/Sema/SemaConcept.cpp:773
+  // ConstrExpr for the inner template will properly adjust the depths.
+  if (isa<CXXRecordDecl>(ND) && isa<CXXRecordDecl>(OtherND))
+    ForConstraintInstantiation = true;
----------------
erichkeane wrote:
> alexander-shaposhnikov wrote:
> > erichkeane wrote:
> > > Hmm... this seems really strange to have to do. 
> > > `ForConstraintInstantiation` shouldn't be used here, the point of that is 
> > > to make sure we 'keep looking upward' once we hit a spot we normally stop 
> > > with.  What exactly is the issue that you end up running into here?  
> > > Perhaps I can spend some time debugging what we should really be doign.
> > yeah, I agree. I haven't found a proper solution or at least a better 
> > workaround (but would be happy to).
> > This kicks in for the case 
> > 
> > ```
> > template <class T0>
> > concept Constraint = true;
> > 
> > 
> > template<Constraint T1>
> > struct Iterator {
> >     template <Constraint T2>
> >     friend class Iterator;
> >     void operator*();
> > };
> > 
> > Iterator<char*> I2;
> > ```
> > yeah, I agree. I haven't found a proper solution or at least a better 
> > workaround (but would be happy to).
> > This kicks in for the case 
> > 
> > ```
> > template <class T0>
> > concept Constraint = true;
> > 
> > 
> > template<Constraint T1>
> > struct Iterator {
> >     template <Constraint T2>
> >     friend class Iterator;
> >     void operator*();
> > };
> > 
> > Iterator<char*> I2;
> > ```
> 
> Alright, well, I should have time later in the week to poke at this, perhaps 
> I can come up with something better?  I DO remember self-friend is a little 
> wacky, and I spent a bunch of time on it last time.
Ok, sounds good + maybe Richard will give it another look.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D146178

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

Reply via email to