Merge "Revert "Use get instead of implicit cast of Return<*>.""
diff --git a/generateCpp.cpp b/generateCpp.cpp
index e030d82..b7ed184 100644
--- a/generateCpp.cpp
+++ b/generateCpp.cpp
@@ -535,12 +535,10 @@
     } else {
         out << ");\n\n";
         if (elidedReturn != nullptr) {
-            // Can get() without checking isOk() since we are checking the value
-            // returned by an in-process implementation.
             out << elidedReturn->type().getCppResultType()
                 << " "
                 << elidedReturn->name()
-                << " = _hidl_return.get();\n";
+                << " = _hidl_return;\n";
         }
         status_t status = generateCppInstrumentationCall(
                 out,
@@ -1360,9 +1358,7 @@
             first = false;
         }
 
-        // Can get() without checking isOk() since we are checking the value
-        // returned by an in-process implementation.
-        out << ").get();\n\n";
+        out << ");\n\n";
         out << "::android::hardware::writeToParcel(::android::hardware::Status::ok(), "
             << "_hidl_reply);\n\n";
 
diff --git a/test/main.cpp b/test/main.cpp
index 1df2047..85b94cd 100644
--- a/test/main.cpp
+++ b/test/main.cpp
@@ -533,18 +533,16 @@
 
 TEST_F(HidlTest, FooDoThatAndReturnSomethingTest) {
     ALOGI("CLIENT call doThatAndReturnSomething.");
-    Return<int32_t> result = foo->doThatAndReturnSomething(2.0f);
-    EXPECT_OK(result);
-    ALOGI("CLIENT doThatAndReturnSomething returned %d.", result.get());
-    EXPECT_EQ(result.get(), 666);
+    int32_t result = foo->doThatAndReturnSomething(2.0f);
+    ALOGI("CLIENT doThatAndReturnSomething returned %d.", result);
+    EXPECT_EQ(result, 666);
 }
 
 TEST_F(HidlTest, FooDoQuiteABitTest) {
     ALOGI("CLIENT call doQuiteABit");
-    Return<double> result = foo->doQuiteABit(1, 2, 3.0f, 4.0);
-    EXPECT_OK(result);
-    ALOGI("CLIENT doQuiteABit returned %f.", result.get());
-    EXPECT_DOUBLE_EQ(result.get(), 666.5);
+    double something = foo->doQuiteABit(1, 2, 3.0f, 4.0);
+    ALOGI("CLIENT doQuiteABit returned %f.", something);
+    EXPECT_DOUBLE_EQ(something, 666.5);
 }
 
 TEST_F(HidlTest, FooDoSomethingElseTest) {
@@ -648,12 +646,13 @@
     });
 }
 
+
+
 TEST_F(HidlTest, FooUseAnEnumTest) {
     ALOGI("CLIENT call useAnEnum.");
-    Return<IFoo::SomeEnum> sleepy = foo->useAnEnum(IFoo::SomeEnum::quux);
-    EXPECT_OK(sleepy);
-    ALOGI("CLIENT useAnEnum returned %hhu", sleepy.get());
-    EXPECT_EQ(sleepy.get(), IFoo::SomeEnum::goober);
+    IFoo::SomeEnum sleepy = foo->useAnEnum(IFoo::SomeEnum::quux);
+    ALOGI("CLIENT useAnEnum returned %u", (unsigned)sleepy);
+    EXPECT_EQ(sleepy, IFoo::SomeEnum::goober);
 }
 
 TEST_F(HidlTest, FooHaveAGooberTest) {
@@ -922,11 +921,9 @@
                 [&](const auto &out) {
                     EXPECT_EQ(in.size(), out.size());
                     for (size_t i = 0; i < in.size(); ++i) {
-                        Return<int32_t> inCookie = in[i]->getCookie();
-                        Return<int32_t> outCookie = out[i]->getCookie();
-                        EXPECT_OK(inCookie);
-                        EXPECT_OK(outCookie);
-                        EXPECT_EQ(inCookie.get(), outCookie.get());
+                        int32_t inCookie = in[i]->getCookie();
+                        int32_t outCookie = out[i]->getCookie();
+                        EXPECT_EQ(inCookie, outCookie);
                     }
                 }));
 }
@@ -950,11 +947,9 @@
                         sp<ISimple> inSimple = IHwSimple::asInterface(in[i]);
                         sp<ISimple> outSimple = IHwSimple::asInterface(out[i]);
 
-                        Return<int32_t> inCookie = inSimple->getCookie();
-                        Return<int32_t> outCookie = outSimple->getCookie();
-                        EXPECT_OK(inCookie);
-                        EXPECT_OK(outCookie);
-                        EXPECT_EQ(inCookie.get(), outCookie.get());
+                        int32_t inCookie = inSimple->getCookie();
+                        int32_t outCookie = outSimple->getCookie();
+                        EXPECT_EQ(inCookie, outCookie);
                     }
                 }));
 }