diff --git a/include/hidl/HidlSupport.h b/include/hidl/HidlSupport.h
index 1c468ed..d2a0a8a 100644
--- a/include/hidl/HidlSupport.h
+++ b/include/hidl/HidlSupport.h
@@ -125,10 +125,21 @@
     }
 
     hidl_vec(hidl_vec<T> &&other)
-	: mOwnsBuffer(false) {
+    : mOwnsBuffer(false) {
         *this = std::move(other);
     }
 
+    hidl_vec(const std::initializer_list<int> list)
+            : mSize(list.size()),
+              mOwnsBuffer(true) {
+        mBuffer = new T[mSize];
+
+        int idx = 0;
+        for (auto it = list.begin(); it != list.end(); ++it) {
+            mBuffer[idx++] = *it;
+        }
+    }
+
     hidl_vec(const std::vector<T> &other) : hidl_vec() {
         *this = other;
     }
diff --git a/test/main.cpp b/test/main.cpp
index f5b5f20..a7dc243 100644
--- a/test/main.cpp
+++ b/test/main.cpp
@@ -89,6 +89,10 @@
 
     vector<int32_t> v2 = hv1; // cast
     EXPECT_ARRAYEQ(v2, v, 3);
+
+    hidl_vec<int32_t> v3 = {5, 6, 7}; // initializer_list
+    EXPECT_EQ(v3.size(), 3);
+    EXPECT_ARRAYEQ(v3, array, v3.size());
 }
 
 TEST_F(LibHidlTest, TaskRunnerTest) {
