[SERVER-18945] DisableDocumentValidation does not compile on VS2015 RC Created: 12/Jun/15  Updated: 05/Apr/17  Resolved: 22/Apr/16

Status: Closed
Project: Core Server
Component/s: Internal Code
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Eric Milkie Assignee: DO NOT USE - Backlog - Platform Team
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Operating System: ALL
Participants:

 Description   

scons version: 2.3.2
python version: 2 7 5 'final' 0
Compiling build\x86_64\normal\mongo\db\commands\apply_ops.obj
apply_ops.cpp
D:\work\milkie\mongo\src\third_party\boost-1.56.0\boost/type_traits/is_nothrow_move_constructible.hpp(40): error C2248: 'mongo::DisableDocumentValidation::DisableDocumentValidation': cannot access private member declared in class 'mongo::DisableDocumentValidation'
D:\work\milkie\mongo\src\mongo/db/catalog/document_validation.h(56): note: see declaration of 'mongo::DisableDocumentValidation::DisableDocumentValidation'
D:\work\milkie\mongo\src\mongo/db/catalog/document_validation.h(55): note: see declaration of 'mongo::DisableDocumentValidation'
D:\work\milkie\mongo\src\third_party\boost-1.56.0\boost/type_traits/is_nothrow_move_constructible.hpp(45): note: see reference to class template instantiation 'boost::detail::false_or_cpp11_noexcept_move_constructible<T,void>' being compiled
        with
        [
            T=mongo::DisableDocumentValidation
        ]
D:\work\milkie\mongo\src\third_party\boost-1.56.0\boost/type_traits/is_nothrow_move_constructible.hpp(80): note: see reference to class template instantiation 'boost::detail::is_nothrow_move_constructible_imp<T>' being compiled
        with
        [
            T=mongo::DisableDocumentValidation
        ]
D:\work\milkie\mongo\src\third_party\boost-1.56.0\boost/optional/optional.hpp(854): note: see reference to class template instantiation 'boost::is_nothrow_move_constructible<T>' being compiled
        with
        [
            T=mongo::DisableDocumentValidation
        ]
src\mongo\db\commands\apply_ops.cpp(85): note: see reference to class template instantiation 'boost::optional<mongo::DisableDocumentValidation>' being compiled
D:\work\milkie\mongo\src\third_party\boost-1.56.0\boost/type_traits/is_nothrow_move_constructible.hpp(40): error C2280: 'mongo::DisableDocumentValidation::DisableDocumentValidation(const mongo::DisableDocumentValidation &)': attempting to reference a deleted function
D:\work\milkie\mongo\src\mongo/db/catalog/document_validation.h(56): note: see declaration of 'mongo::DisableDocumentValidation::DisableDocumentValidation'



 Comments   
Comment by Mark Benvenuto [ 22/Apr/16 ]

With the upgrade to VS 2015 Update 2 and Boost 1.60.0 this compiles cleanly.

Comment by Eric Milkie [ 12/Jun/15 ]

This may be because we are using it in boost::optional which requires a class that is movable or copyable.

Generated at Thu Feb 08 03:49:20 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.