Fix a vector test to not use a local type as a template parameter. This causes a warning on C++03. NFC

llvm-svn: 356726
GitOrigin-RevId: a73ac7d932e193f02c5a115be9d83d6778cf6560
diff --git a/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp b/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
index 8f8ffa8..28c51eb 100644
--- a/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
+++ b/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
@@ -145,6 +145,11 @@
 #endif
 }
 
+// In C++03, you can't instantiate a template with a local type.
+struct B1 { int x; };
+struct B2 { int y; };
+struct Der : B1, B2 { int z; };
+
 // Initialize a vector with a different value type.
 void test_ctor_with_different_value_type() {
   {
@@ -156,15 +161,12 @@
     assert(v[1] == 1);
     assert(v[2] == 2);
   }
-  struct X { int x; };
-  struct Y { int y; };
-  struct Z : X, Y { int z; };
   {
-    Z z;
-    Z *array[1] = { &z };
-    // Though the types Z* and Y* are very similar, initialization still cannot
+    Der z;
+    Der *array[1] = { &z };
+    // Though the types Der* and B2* are very similar, initialization still cannot
     // be done with `memcpy`.
-    std::vector<Y*> v(array, array + 1);
+    std::vector<B2*> v(array, array + 1);
     assert(v[0] == &z);
   }
   {