diff --git a/Telegram/SourceFiles/boxes/peer_list_box.h b/Telegram/SourceFiles/boxes/peer_list_box.h index 3982d5d41..07cf310cc 100644 --- a/Telegram/SourceFiles/boxes/peer_list_box.h +++ b/Telegram/SourceFiles/boxes/peer_list_box.h @@ -715,10 +715,10 @@ public: } void peerListSortRows( base::lambda<bool(const PeerListRow &a, const PeerListRow &b)> compare) override { - _content->reorderRows([compare = std::move(compare)]( + _content->reorderRows([&]( auto &&begin, auto &&end) { - std::sort(begin, end, [&compare](auto &&a, auto &&b) { + std::sort(begin, end, [&](auto &&a, auto &&b) { return compare(*a, *b); }); }); @@ -726,10 +726,10 @@ public: int peerListPartitionRows( base::lambda<bool(const PeerListRow &a)> border) override { auto result = 0; - _content->reorderRows([border = std::move(border), &result]( + _content->reorderRows([&]( auto &&begin, auto &&end) { - auto edge = std::stable_partition(begin, end, [&border]( + auto edge = std::stable_partition(begin, end, [&]( auto &¤t) { return border(*current); }); diff --git a/Telegram/SourceFiles/info/profile/info_profile_cover.cpp b/Telegram/SourceFiles/info/profile/info_profile_cover.cpp index bf3a6b919..56cd1d08c 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_cover.cpp +++ b/Telegram/SourceFiles/info/profile/info_profile_cover.cpp @@ -260,10 +260,18 @@ Cover::Cover( void Cover::setupChildGeometry() { using namespace rpl::mappers; + // + // Visual Studio 2017 15.5.1 internal compiler error here. + // See https://developercommunity.visualstudio.com/content/problem/165155/ice-regression-in-1551-after-successfull-build-in.html + // + //rpl::combine( + // toggleShownValue(), + // widthValue(), + // _2) rpl::combine( toggleShownValue(), - widthValue(), - _2) + widthValue()) + | rpl::map([](bool shown, int width) { return width; }) | rpl::start_with_next([this](int newWidth) { _userpic->moveToLeft( st::infoProfilePhotoLeft, @@ -449,10 +457,18 @@ void SharedMediaCover::createLabel() { Lang::Viewer(lng_profile_shared_media) | ToUpperValue(), st::infoBlockHeaderLabel); label->setAttribute(Qt::WA_TransparentForMouseEvents); + // + // Visual Studio 2017 15.5.1 internal compiler error here. + // See https://developercommunity.visualstudio.com/content/problem/165155/ice-regression-in-1551-after-successfull-build-in.html + // + //rpl::combine( + // toggleShownValue(), + // widthValue(), + // _2) rpl::combine( toggleShownValue(), - widthValue(), - _2) + widthValue()) + | rpl::map([](bool shown, int width) { return width; }) | rpl::start_with_next([this, weak = label.data()](int newWidth) { auto availableWidth = newWidth - st::infoBlockHeaderPosition.x() diff --git a/Telegram/gyp/settings_win.gypi b/Telegram/gyp/settings_win.gypi index be93f25a6..898e9c463 100644 --- a/Telegram/gyp/settings_win.gypi +++ b/Telegram/gyp/settings_win.gypi @@ -35,12 +35,12 @@ 'VCCLCompilerTool': { 'ProgramDataBaseFileName': '$(OutDir)\\$(ProjectName).pdb', 'DebugInformationFormat': '3', # Program Database (/Zi) + 'WarnAsError': 'true', 'AdditionalOptions': [ '/std:c++latest', - '/permissive-', + '/permissive-', '/MP', # Enable multi process build. '/EHsc', # Catch C++ exceptions only, extern C functions never throw a C++ exception. - '/WX', # Treat warnings as errors. '/w14834', # [[nodiscard]] ], 'TreatWChar_tAsBuiltInType': 'false',