rsmith added inline comments.

================
Comment at: clang/include/clang/Sema/Lookup.h:228-229
     Other.Paths = nullptr;
-    Other.Diagnose = false;
+    Other.DiagnoseAccess = false;
+    Other.DiagnoseAmbiguous = false;
     return *this;
----------------
cor3ntin wrote:
> rsmith wrote:
> > cor3ntin wrote:
> > > Does anything break if you remove these two lines? they don't appear 
> > > useful
> > I think these make sense: if we move a lookup result into this one, then 
> > the other lookup result shouldn't issue diagnostics any more. (Otherwise we 
> > could see the same diagnostics twice.)
> The reason I'm asking is that we don't seem consistent about resetting the 
> state of the moved-from lookup, so i  don;t know if moved from lookup are 
> ever reused. and if they are, should we use std::exchange or something along 
> those lines?
I don't think moved-from `LookupResult`s are ever reused, and I don't think 
it's the intent for this function to leave a moved-from result in a state 
suitable for use in further lookups. (If you assign over a moved-from lookup 
result, that'd presumably work fine, though I doubt we ever do that.) The point 
here, I think, is just to leave the source of the move in a state where the 
destructor doesn't have side-effects any more.


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

https://reviews.llvm.org/D155387

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

Reply via email to