diff --git a/unittests/ADT/VariadicFunctionTest.cpp b/unittests/ADT/VariadicFunctionTest.cpp
index 3cd63d2..cde3120 100644
--- a/unittests/ADT/VariadicFunctionTest.cpp
+++ b/unittests/ADT/VariadicFunctionTest.cpp
@@ -22,7 +22,7 @@
     S += *Args[i];
   return S;
 }
-const VariadicFunction<std::string, std::string, StringCatImpl> StringCat;
+const VariadicFunction<std::string, std::string, StringCatImpl> StringCat = {};
 
 TEST(VariadicFunctionTest, WorksForClassTypes) {
   EXPECT_EQ("", StringCat());
@@ -45,7 +45,7 @@
     Result += *Args[i];
   return Result;
 }
-const VariadicFunction<long, int, SumImpl> Sum;
+const VariadicFunction<long, int, SumImpl> Sum = {};
 
 TEST(VariadicFunctionTest, WorksForPrimitiveTypes) {
   EXPECT_EQ(0, Sum());
@@ -65,7 +65,7 @@
   return Chars;
 }
 const VariadicFunction1<int, std::string *, std::string,
-                        StringAppendImpl> StringAppend;
+                        StringAppendImpl> StringAppend = {};
 
 TEST(VariadicFunction1Test, Works) {
   std::string S0("hi");
@@ -93,7 +93,7 @@
       ++(*NumInRange);
 }
 const VariadicFunction3<void, int *, int, int, int,
-                        CountInRangeImpl> CountInRange;
+                        CountInRangeImpl> CountInRange = {};
 
 TEST(VariadicFunction3Test, Works) {
   int N = -1;
