BindServerImpl

Change-Id: Ie99643d3d975a98980a048d42a9bc6796fc32391
diff --git a/sdk/lib/fidl-llcpp/fidl-llcpp.api b/sdk/lib/fidl-llcpp/fidl-llcpp.api
index f437aa7..3870d6a 100644
--- a/sdk/lib/fidl-llcpp/fidl-llcpp.api
+++ b/sdk/lib/fidl-llcpp/fidl-llcpp.api
@@ -17,7 +17,7 @@
   "pkg/fidl-llcpp-experimental-driver-only/include/lib/fidl/llcpp/internal/intrusive_container/pointer_traits.h": "559b318cd554fa370ae7a955ac7e9221",
   "pkg/fidl-llcpp-experimental-driver-only/include/lib/fidl/llcpp/internal/intrusive_container/wavl_tree.h": "1c941606ce9a0644bdd66280772bc479",
   "pkg/fidl-llcpp-experimental-driver-only/include/lib/fidl/llcpp/internal/intrusive_container/wavl_tree_internal.h": "19c9d8ffab6f6c283bb086b3726df499",
-  "pkg/fidl-llcpp-experimental-driver-only/include/lib/fidl/llcpp/internal/server_details.h": "0f3f2172620e65066f291131dfa9dd42",
+  "pkg/fidl-llcpp-experimental-driver-only/include/lib/fidl/llcpp/internal/server_details.h": "b70a17c7a4780f631cab6d6ff7293675",
   "pkg/fidl-llcpp-experimental-driver-only/include/lib/fidl/llcpp/internal/thread_checker.h": "e5aa52fc1efc9dd1abbe286f98d065f8",
   "pkg/fidl-llcpp-experimental-driver-only/include/lib/fidl/llcpp/message.h": "8c072cb659c4d9c63df6b0f0ecb26f7a",
   "pkg/fidl-llcpp-experimental-driver-only/include/lib/fidl/llcpp/message_storage.h": "691d535ab7b0994c2bf74c97c0d71312",
diff --git a/zircon/system/ulib/fidl/include/lib/fidl/llcpp/internal/server_details.h b/zircon/system/ulib/fidl/include/lib/fidl/llcpp/internal/server_details.h
index 4147465..127b8e7 100644
--- a/zircon/system/ulib/fidl/include/lib/fidl/llcpp/internal/server_details.h
+++ b/zircon/system/ulib/fidl/include/lib/fidl/llcpp/internal/server_details.h
@@ -146,8 +146,8 @@
 template <typename ServerImpl, typename OnUnbound>
 ServerBindingRef<typename ServerImpl::_EnclosingProtocol> BindServerImpl(
     async_dispatcher_t* dispatcher,
-    fidl::ServerEnd<typename ServerImpl::_EnclosingProtocol> server_end, ServerImpl* impl,
-    OnUnbound&& on_unbound) {
+    typename fidl::Transport<typename ServerImpl::_EnclosingProtocol>::ServerEnd server_end,
+    ServerImpl* impl, OnUnbound&& on_unbound) {
   using ProtocolType = typename ServerImpl::_EnclosingProtocol;
   return BindServerTypeErased<ProtocolType>(
       dispatcher, std::move(server_end), impl,
@@ -157,7 +157,8 @@
         // Note: this cast may change the value of the pointer, due to how C++
         // implements classes with virtual tables.
         auto* impl = static_cast<ServerImpl*>(any_interface);
-        std::invoke(on_unbound, impl, info, fidl::ServerEnd<ProtocolType>(std::move(channel)));
+        std::invoke(on_unbound, impl, info,
+                    typename fidl::Transport<ProtocolType>::ServerEnd(std::move(channel)));
       });
 }