diff options
Diffstat (limited to 'abstractmetalang.cpp')
-rw-r--r-- | abstractmetalang.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/abstractmetalang.cpp b/abstractmetalang.cpp index 2724d6ce4..94114e3e9 100644 --- a/abstractmetalang.cpp +++ b/abstractmetalang.cpp @@ -1104,13 +1104,14 @@ AbstractMetaFunctionList AbstractMetaClass::implicitConversions() const { AbstractMetaFunctionList list = queryFunctions(Constructors); AbstractMetaFunctionList returned; + if (!hasCloneOperator()) + return returned; foreach (AbstractMetaFunction *f, list) { if ((f->actualMinimumArgumentCount() == 1 || f->arguments().size() == 1) && !f->isExplicit() && !f->isCopyConstructor() && !f->isModifiedRemoved() - && !f->isUserAdded() - && hasCloneOperator()) { + && (f->originalAttributes() & Public)) { returned += f; } } |