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