StarOne01 wrote: I did find what was wrong
When we try to correct typos, we seem to do it by looking over all the identifiers in the Context which includes the **typo itself!** ```cpp // clang/lib/Sema/SemaLookup.cpp for (const auto &I : Context.Idents) Consumer->FoundName(I.getKey()); ``` as the typo and the correction (the typo too) are identical, **a correction is added**. - This always happen if a typo is encountered. To avoid this, i tried to check for identical identifiers, but in some cases identical identifiers are a necessary correction too for example when: - a unqualified identifier without the nested namespace. - a member call without it's obj, etc... because of this ambiguity, the ` *out` is always defined and non-empty when a typo is encountered, which is our problem here. i'm stuck, any help with fixing it would be appreciated! https://github.com/llvm/llvm-project/pull/123495 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits