Use operator[] rather than operator(), to avoid potential confusion from
having use_future look like a function object.
diff --git a/asio/include/asio/use_future.hpp b/asio/include/asio/use_future.hpp
index 30dd437..4d8411f 100644
--- a/asio/include/asio/use_future.hpp
+++ b/asio/include/asio/use_future.hpp
@@ -38,7 +38,7 @@
   }
 
   template <typename OtherAllocator>
-  use_future_t<OtherAllocator> operator()(const OtherAllocator& allocator) const
+  use_future_t<OtherAllocator> operator[](const OtherAllocator& allocator) const
   {
     return use_future_t<OtherAllocator>(allocator);
   }