Implement LWG#2566: Requirements on the first template parameter of container adaptors

llvm-svn: 263450
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: c1fe2c43290efca9c3aba9e1ccabeceb2e6d8606
diff --git a/include/queue b/include/queue
index 6f49c87..81b83a7 100644
--- a/include/queue
+++ b/include/queue
@@ -198,6 +198,7 @@
     typedef typename container_type::reference       reference;
     typedef typename container_type::const_reference const_reference;
     typedef typename container_type::size_type       size_type;
+    static_assert((is_same<_Tp, value_type>::value), "" );
 
 protected:
     container_type c;
@@ -392,6 +393,7 @@
     typedef typename container_type::reference       reference;
     typedef typename container_type::const_reference const_reference;
     typedef typename container_type::size_type       size_type;
+    static_assert((is_same<_Tp, value_type>::value), "" );
 
 protected:
     container_type c;