Changes imported from Abseil "staging" branch:

- f13b203bb87afd3a9330030fb97a1318083d8618 Fix SubstituteTest under C++17 with libc++. by Derek Mauro <dmauro@google.com>
  - c551cdf6f70afac3f8ca143f4837f2187715eea9 Fix ABSL_HAVE_THREAD_LOCAL macro for Apple platforms. by Abseil Team <absl-team@google.com>
  - 931020efc43c184c4124975f50a02b377d960f9d Add Abseil Compilers Guide by Tom Manshreck <shreck@google.com>
  - 658f924ca7136c7994290955c5666b60da6ca5b9 Reimplement the SFINAE for allocator_traits::rebind to av... by Abseil Team <absl-team@google.com>
  - 4cb04fa739f70dd5ad0c8421ff4c444645136c7f Fix minor spelling error of 'returning'. by Abseil Team <absl-team@google.com>

GitOrigin-RevId: f13b203bb87afd3a9330030fb97a1318083d8618
Change-Id: I8573087795a50f8cc8367b0af1aedfbd2a89a793
This commit is contained in:
Abseil Team 2017-12-21 19:39:42 -08:00 committed by Xiaoyi Zhang
parent ff70456473
commit 17cde19a0f
6 changed files with 50 additions and 15 deletions

View file

@ -438,6 +438,20 @@ TEST(AllocatorTraits, Typedefs) {
absl::allocator_traits<NonEmpty>::is_always_equal>::value));
}
template <typename T>
struct AllocWithPrivateInheritance : private std::allocator<T> {
using value_type = T;
};
TEST(AllocatorTraits, RebindWithPrivateInheritance) {
// Regression test for some versions of gcc that do not like the sfinae we
// used in combination with private inheritance.
EXPECT_TRUE(
(std::is_same<AllocWithPrivateInheritance<int>,
absl::allocator_traits<AllocWithPrivateInheritance<char>>::
rebind_alloc<int>>::value));
}
template <typename T>
struct Rebound {};