================
@@ -365,6 +365,10 @@ class DefaultFilterCCC final : public 
CorrectionCandidateCallback {
 template <class C>
 class DeclFilterCCC final : public CorrectionCandidateCallback {
 public:
+  explicit DeclFilterCCC(const IdentifierInfo *Typo = nullptr,
+                         NestedNameSpecifier *TypoNNS = nullptr)
----------------
bwendling wrote:

I was copying off of the other `CCC` classes. Perhaps it's because both 
arguments have default values?

Segfault seems to agree 
(https://stackoverflow.com/questions/4467142/why-is-explicit-allowed-for-default-constructors-and-constructors-with-2-or-more):

> One reason where it's needed is, if you have default arguments for the first 
> parameter. The constructor becomes a default constructor, but can still be 
> used as converting constructor

```
struct A {
  explicit A(int = 0); // added it to a default constructor
};
```


https://github.com/llvm/llvm-project/pull/76348
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to