Review Request 124427: kdevplatform: Make ctors explicit to avoid implicit construction (krazy2)

Boris Egorov egorov at linux.com
Fri Jul 24 09:30:06 UTC 2015



> On July 24, 2015, 9:16 a.m., Milian Wolff wrote:
> > LGTM, but what did you mean by "these changes break code with std::move" - can you please clarifiy?

Tests fail to pass. I removed failing lines, you can see them in diff. They are working with 'moved-from' objects. For example, test them for emptiness.


- Boris


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124427/#review82861
-----------------------------------------------------------


On July 23, 2015, 9:38 a.m., Boris Egorov wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124427/
> -----------------------------------------------------------
> 
> (Updated July 23, 2015, 9:38 a.m.)
> 
> 
> Review request for KDevelop.
> 
> 
> Repository: kdevplatform
> 
> 
> Description
> -------
> 
> Some constructors cannot be made explicit without further code
> modifications (project fails to build). Examples:
> 
>     IndexedDeclaration
>     IndexedQualifiedIdentifier
>     ReferencedTopDUContext
>     IndexedDUContext
>     IndexedTopDUContext
>     LocalIndexedDeclaration
> 
> Somehow these changes break tests with std::move. Some sources said
> that "moved-from" variables is in unspecified state after moving, so
> let's disable assertions working with such variables.
> 
> 
> Diffs
> -----
> 
>   debugger/breakpoint/breakpointdetails.h dff8cf2 
>   debugger/breakpoint/breakpointmodel.h c12e8fa 
>   debugger/framestack/framestackmodel.h fa1cbab 
>   debugger/framestack/framestackwidget.h 9ee5a83 
>   debugger/interfaces/ibreakpointcontroller.h c39f497 
>   debugger/interfaces/iframestackmodel.h 01b2545 
>   debugger/interfaces/ivariablecontroller.h d501a04 
>   debugger/util/pathmappings.h ffe58f2 
>   debugger/util/treemodel.h 71704c0 
>   debugger/variable/variablecollection.h af732c3 
>   debugger/variable/variablewidget.h 6a47497 
>   documentation/documentationview.h 6c8cd50 
>   interfaces/context.h 92f0448 
>   interfaces/iassistant.h 61b6046 
>   interfaces/idebugcontroller.h 72e52a4 
>   interfaces/idocumentcontroller.h 3036cae 
>   interfaces/ilanguagecontroller.h 04eb259 
>   interfaces/ipartcontroller.h 4fed10e 
>   interfaces/iplugincontroller.h b77a8aa 
>   interfaces/iproject.h f0f38d6 
>   interfaces/iprojectcontroller.h 86c2dfd 
>   interfaces/iprojectprovider.h 1e76dbd 
>   interfaces/iruncontroller.h e342f6c 
>   interfaces/iselectioncontroller.h fb65377 
>   interfaces/isession.h 1c1ee0a 
>   interfaces/isourceformatter.h f35748f 
>   interfaces/isourceformattercontroller.h efe03c1 
>   interfaces/launchconfigurationpage.h 2589325 
>   language/assistant/renameassistant.h cfd3d67 
>   language/assistant/staticassistant.h 4ca18c3 
>   language/assistant/staticassistantsmanager.h ab5430e 
>   language/backgroundparser/backgroundparser.h 4a79651 
>   language/backgroundparser/documentchangetracker.h bacd0b5 
>   language/backgroundparser/parseprojectjob.h 82e8b02 
>   language/backgroundparser/urlparselock.h 6005f9f 
>   language/codecompletion/codecompletionmodel.h b22cd97 
>   language/codecompletion/codecompletionworker.h e2fb39b 
>   language/codecompletion/normaldeclarationcompletionitem.h c19f4b2 
>   language/codegen/applychangeswidget.h 12fe48d 
>   language/codegen/archivetemplateloader.h 886c7ec 
>   language/codegen/astchangeset.h 000e5ae 
>   language/codegen/basicrefactoring.h 72ae54a 
>   language/codegen/duchainchangeset.h 0465da3 
>   language/codegen/sourcefiletemplate.h 4810443 
>   language/codegen/utilities.h d8e00e6 
>   language/duchain/aliasdeclaration.h 251c2e5 
>   language/duchain/builders/dynamiclanguageexpressionvisitor.h f06607a 
>   language/duchain/classdeclaration.h 128cf05 
>   language/duchain/classfunctiondeclaration.h fe32111 
>   language/duchain/classmemberdeclaration.h a9c9487 
>   language/duchain/declaration.h c5f2450 
>   language/duchain/declarationid.h dd3c050 
>   language/duchain/duchainbase.h 3c33e71 
>   language/duchain/duchaindumper.h 87e91b0 
>   language/duchain/duchainlock.h 0a16df1 
>   language/duchain/duchainpointer.h 3fd906f 
>   language/duchain/ducontextdynamicdata.h c0a8472 
>   language/duchain/forwarddeclaration.h 3deae92 
>   language/duchain/functiondeclaration.h e206c54 
>   language/duchain/functiondefinition.h 237bddb 
>   language/duchain/identifier.h 37fef57 
>   language/duchain/localindexedducontext.h a8eae2a 
>   language/duchain/namespacealiasdeclaration.h 817631a 
>   language/duchain/navigation/abstractnavigationcontext.h 29d5784 
>   language/duchain/navigation/problemnavigationcontext.h f19aa18 
>   language/duchain/navigation/usescollector.h b18f769 
>   language/duchain/navigation/usesnavigationcontext.h 61ff1fe 
>   language/duchain/navigation/useswidget.h 94087d7 
>   language/duchain/parsingenvironment.h f5524ce 
>   language/duchain/problem.h b8454fb 
>   language/duchain/tests/test_identifier.cpp 1799946 
>   language/duchain/topducontextdata.h b9de0df 
>   language/duchain/topducontextdynamicdata.h 1bdc465 
>   language/duchain/types/abstracttype.h 7613168 
>   language/duchain/types/arraytype.h 7a50ec6 
>   language/duchain/types/constantintegraltype.h 445af1f 
>   language/duchain/types/containertypes.h b69e335 
>   language/duchain/types/delayedtype.h 3954009 
>   language/duchain/types/enumerationtype.h 61b8cfa 
>   language/duchain/types/enumeratortype.h 3ba420f 
>   language/duchain/types/functiontype.h f1b15ea 
>   language/duchain/types/integraltype.h a93820e 
>   language/duchain/types/pointertype.h 4f336cb 
>   language/duchain/types/referencetype.h 38c91ad 
>   language/duchain/types/structuretype.h ccc533f 
>   language/duchain/types/typealiastype.h 7eed573 
>   language/duchain/types/unsuretype.h 5d504b4 
>   language/duchain/use.h 5eff1f4 
>   language/editor/modificationrevision.h 1fdff87 
>   language/editor/modificationrevisionset.h 4093780 
>   language/highlighting/codehighlighting.h 76f7f01 
>   language/highlighting/configurablecolors.h 4a65172 
>   language/interfaces/codecontext.h 72b5a4a 
>   language/util/basicsetrepository.h 19faedb 
>   language/util/kdevhash.h 4ac8c0d 
>   outputview/outputdelegate.h adbc275 
>   outputview/outputmodel.h 8ec09e7 
>   plugins/appwizard/appwizardpagewidget.h 1d6e105 
>   plugins/appwizard/appwizardplugin.h a59c187 
>   plugins/appwizard/projecttemplatesmodel.h e9837fc 
>   plugins/appwizard/projectvcspage.h f587c86 
>   plugins/classbrowser/allclassesfolder.h 94b16da 
>   plugins/classbrowser/classbrowserplugin.h 0bcb8ff 
>   plugins/classbrowser/classmodelnode.h b1e7308 
>   plugins/classbrowser/projectfolder.h b721ee1 
>   plugins/codeutils/codeutilsplugin.h ca12e2a 
>   plugins/contextbrowser/browsemanager.h 51166cd 
>   plugins/contextbrowser/contextbrowser.h 09066cd 
>   plugins/cvs/commitdialog.h cba07c0 
>   plugins/cvs/cvsannotatejob.h ed6a3d9 
>   plugins/cvs/cvsdiffjob.h 7e9feae 
>   plugins/cvs/cvsjob.h 474381e 
>   plugins/cvs/cvslogjob.h ad32982 
>   plugins/cvs/cvsproxy.h 4cab04c 
>   plugins/cvs/cvsstatusjob.h 4eafff5 
>   plugins/cvs/importmetadatawidget.h 9c776f1 
>   plugins/documentswitcher/documentswitcherplugin.h e85a54d 
>   plugins/documentswitcher/documentswitchertreeview.h cba65c8 
>   plugins/documentview/kdevdocumentmodel.h d851f5a 
>   plugins/documentview/kdevdocumentselection.h 832484c 
>   plugins/execute/executeplugin.h 3e379b1 
>   plugins/execute/nativeappconfig.h 4eacf1e 
>   plugins/execute/projecttargetscombobox.h b29a7df 
>   plugins/executescript/executescriptplugin.h f4b2e60 
>   plugins/executescript/scriptappconfig.h 66dd716 
>   plugins/externalscript/editexternalscript.h 2b26ca7 
>   plugins/externalscript/externalscriptplugin.h 706c55b 
>   plugins/externalscript/externalscriptview.h f54f062 
>   plugins/filemanager/kdevfilemanagerplugin.h e543106 
>   plugins/filetemplates/classidentifierpage.h 8ce3da8 
>   plugins/filetemplates/licensepage.h 0134afb 
>   plugins/filetemplates/outputpage.h f01d392 
>   plugins/filetemplates/overridespage.h db4863a 
>   plugins/filetemplates/templateclassassistant.h 76e60f1 
>   plugins/filetemplates/templatepreview.h 0324fb5 
>   plugins/git/gitjob.h 8d0a8f2 
>   plugins/git/gitplugin.h 6bafc59 
>   plugins/grepview/grepjob.h cb4e81f 
>   plugins/grepview/grepoutputview.h 95c83dc 
>   plugins/grepview/grepviewplugin.h 68dfdb2 
>   plugins/outlineview/outlinenode.h 0e8d3f5 
>   plugins/patchreview/patchreview.h d7127b0 
>   plugins/problemreporter/problemhighlighter.h 8d566ab 
>   plugins/problemreporter/problemnavigationcontext.h e761d14 
>   plugins/problemreporter/problemreporterplugin.h 1014429 
>   plugins/problemreporter/problemsview.h ced44f2 
>   plugins/projectmanagerview/projectbuildsetwidget.h e843d3f 
>   plugins/projectmanagerview/projectmanagerviewplugin.h b180d25 
>   plugins/projectmanagerview/projecttreeview.h 6512157 
>   plugins/quickopen/duchainitemquickopen.h af28afe 
>   plugins/quickopen/expandingtree/expandingtree.h 17daa39 
>   plugins/quickopen/expandingtree/expandingwidgetmodel.h 6d9618e 
>   plugins/quickopen/projectfilequickopen.h 06c483d 
>   plugins/quickopen/projectitemquickopen.h 5651375 
>   plugins/quickopen/quickopenmodel.h 32e3e98 
>   plugins/quickopen/quickopenplugin.h 8449f07 
>   plugins/standardoutputview/toolviewdata.h a082f9a 
>   plugins/subversion/svnaddjob.h 03a1902 
>   plugins/subversion/svnaddjob_p.h 456ed96 
>   plugins/subversion/svnblamejob.h 562e0e8 
>   plugins/subversion/svnblamejob_p.h ebb77ff 
>   plugins/subversion/svncatjob.h 6fab39b 
>   plugins/subversion/svncatjob_p.h ee488fe 
>   plugins/subversion/svncheckoutjob.h a5b8f02 
>   plugins/subversion/svncheckoutjob_p.h 836e641 
>   plugins/subversion/svncheckoutmetadatawidget.h aec9cef 
>   plugins/subversion/svnclient.h 56fe837 
>   plugins/subversion/svncommitjob_p.h ae00109 
>   plugins/subversion/svncopyjob.h d146c77 
>   plugins/subversion/svncopyjob_p.h 8dd1d2c 
>   plugins/subversion/svndiffjob.h 2d9b099 
>   plugins/subversion/svndiffjob_p.h fed5385 
>   plugins/subversion/svnimportjob.h 1b4efee 
>   plugins/subversion/svnimportmetadatawidget.h 25d178b 
>   plugins/subversion/svninfojob.h 436bc3f 
>   plugins/subversion/svninfojob_p.h cb61e75 
>   plugins/subversion/svninternaljobbase.h 4f2940e 
>   plugins/subversion/svnjobbase.h 5f622cf 
>   plugins/subversion/svnlocationwidget.h 9c927ce 
>   plugins/subversion/svnlogjob.h dbd7c07 
>   plugins/subversion/svnlogjob_p.h c198c43 
>   plugins/subversion/svnmovejob.h b52c1ad 
>   plugins/subversion/svnmovejob_p.h 9055033 
>   plugins/subversion/svnremovejob.h d5dbc3d 
>   plugins/subversion/svnremovejob_p.h b0e8c41 
>   plugins/subversion/svnrevertjob.h 0c9d585 
>   plugins/subversion/svnrevertjob_p.h a385aa6 
>   plugins/subversion/svnssldialog.h 6ccc9b8 
>   plugins/subversion/svnstatusjob_p.h 2477ed1 
>   plugins/subversion/svnupdatejob.h 5e00b77 
>   plugins/subversion/svnupdatejob_p.h 31fcece 
>   plugins/switchtobuddy/switchtobuddyplugin.h a7b566c 
>   plugins/testview/testviewplugin.h 0fe8df1 
>   plugins/welcomepage/declarative/icoreobject.h 1244b56 
>   plugins/welcomepage/uihelper.h 78b1df6 
>   plugins/welcomepage/welcomepageview.h 1aee0e7 
>   project/projectbuildsetmodel.h 920ac1d 
>   project/projectchangesmodel.h 7fd84c9 
>   project/projectconfigskeleton.h 80e118b 
>   project/projectitemlineedit.h cda1807 
>   project/projectmodel.h 22ac4fa 
>   project/projectproxymodel.h 6feba14 
>   project/projectutils.h 03fce30 
>   serialization/indexedstring.h 7e06cab 
>   serialization/itemrepositoryregistry.h 7185555 
>   serialization/tests/test_indexedstring.cpp f0c7958 
>   shell/core_p.h 3caed06 
>   shell/debugcontroller.h a609e33 
>   shell/documentationcontroller.h 0be4b2e 
>   shell/documentcontroller.h 4c74860 
>   shell/editorconfigpage.h 593523b 
>   shell/filteredproblemstore.h 25c29d3 
>   shell/languagecontroller.h 28d1e7e 
>   shell/launchconfiguration.h 692bf5c 
>   shell/launchconfigurationdialog.h 799c844 
>   shell/loadedpluginsdialog.h 699475a 
>   shell/mainwindow_p.h fd23597 
>   shell/openprojectpage.h 5602b74 
>   shell/plugincontroller.h d4f48a6 
>   shell/problemmodel.h 48b7f1f 
>   shell/problemmodelset.h 5aa2836 
>   shell/problemstore.h c1426c0 
>   shell/problemstorenode.h 05844c2 
>   shell/project.h 49d69a4 
>   shell/projectcontroller.h 30db285 
>   shell/projectinfopage.h c58004b 
>   shell/projectsourcepage.h 80c2cfb 
>   shell/runcontroller.h 9e5ee2a 
>   shell/selectioncontroller.h ad77f85 
>   shell/session.h 2b5a09f 
>   shell/sessioncontroller.h db5c7d0 
>   shell/sessiondialog.h 8e97dfb 
>   shell/settings/sessionconfigskeleton.h 8c76493 
>   shell/sourceformattercontroller.h fcf181f 
>   shell/statusbar.h 295cc92 
>   shell/textdocument.h 64952e0 
>   shell/uicontroller.h 677ff3f 
>   shell/workingsets/workingset.h dd301c2 
>   shell/workingsets/workingsetwidget.h fdc1db9 
>   sublime/aggregatemodel.h c9d0caf 
>   sublime/container.h fecd865 
>   sublime/controller.h 61883d2 
>   sublime/holdupdates.h ca0ee37 
>   sublime/idealcontroller.h 8541191 
>   sublime/ideallayout.h 4baac33 
>   sublime/idealtoolbutton.h e8b2baf 
>   sublime/mainwindow_p.h 4a18f4c 
>   util/duchainify/main.h c0304ef 
>   util/environmentgrouplist.h 0412c5e 
>   util/executecompositejob.h 26d5617 
>   util/focusedtreeview.h f3bf065 
>   util/foregroundlock.h 3d994da 
>   util/objectlist.h c59b487 
>   util/processlinemaker.h 6a53922 
>   vcs/dvcs/dvcsjob.h 81c6f33 
>   vcs/dvcs/ui/dvcsimportmetadatawidget.h c037be2 
>   vcs/dvcs/ui/revhistory/commitView.h 046cd5f 
>   vcs/interfaces/icontentawareversioncontrol.h 2ef5882 
>   vcs/models/brancheslistmodel.h f96255d 
>   vcs/models/vcsfilechangesmodel.h e77aa1a 
>   vcs/models/vcsitemeventmodel.h 61966e4 
>   vcs/vcsjob.h 95af667 
>   vcs/vcslocation.h 3a270e8 
>   vcs/widgets/standardvcslocationwidget.h b1efd40 
>   vcs/widgets/vcscommitdialog.h 85f8d59 
>   vcs/widgets/vcsdiffpatchsources.h 6ca06f8 
>   vcs/widgets/vcsdiffwidget.h 088b073 
>   vcs/widgets/vcsimportmetadatawidget.h c088e39 
>   vcs/widgets/vcslocationwidget.h 1d921a0 
> 
> Diff: https://git.reviewboard.kde.org/r/124427/diff/
> 
> 
> Testing
> -------
> 
> Builds, passes tests
> 
> 
> Thanks,
> 
> Boris Egorov
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20150724/58832d95/attachment-0001.html>


More information about the KDevelop-devel mailing list