The roll CL (ttps://chromium-review.googlesource.com/c/chromium/src/+/1215368) looks good.
There are a couple of failures on WebRTC trybots (linux_gcc_rel and win_rel). The GCC problem is not related and we are fixing in another bug, but win_rel is affected by the roll.
danilchap@: can you take a quick look?
../../third_party/abseil-cpp\absl/meta/type_traits.h(90): error C2248: 'webrtc::RtcpTransceiverImpl::operator =': cannot access private member declared in class 'webrtc::RtcpTransceiverImpl'
../..\modules/rtp_rtcp/source/rtcp_transceiver_impl.h(100): note: see declaration of 'webrtc::RtcpTransceiverImpl::operator ='
../..\modules/rtp_rtcp/source/rtcp_transceiver_impl.h(36): note: see declaration of 'webrtc::RtcpTransceiverImpl'
../../third_party/abseil-cpp\absl/meta/type_traits.h(119): note: see reference to class template instantiation 'absl::type_traits_internal::is_detected<absl::type_traits_internal::IsCopyAssignableImpl,T>' being compiled
with
[
T=webrtc::RtcpTransceiverImpl
]
../../third_party/abseil-cpp\absl/meta/type_traits.h(329): note: see reference to class template instantiation 'absl::is_copy_assignable<T>' being compiled
with
[
T=webrtc::RtcpTransceiverImpl
]
At a guess, this is because RTC_DISALLOW_ASSIGN disables assignment by making operator= private instead of by deleting it, and Abseil's type traits thingy can't handle that.
We should stop using RTC_DISALLOW_ASSIGN anyway, so that's the quick fix (if my theory is correct).
MSVC2017 and before seem to behave differently to clang and gcc around SFINAE. https://godbolt.org/z/JQTmp2
And MSVC2018 will align to clang/gcc. Not sure we should fix it on upstream abseil.
Comment 1 by tzik@chromium.org
, Sep 10