different template parameter for completions in spec vs implementation

Issue #118 resolved
Steven Hofmeyr created an issue

Whenever there is a Completions typename in the spec which is set to a default, it looks like this:

typename Completions = decltype(operation_cx::as_future ())

But in the actual upcxx implementations, these are always:

typename Cxs = completions<future_cx<operation_cx_event>>

Am I missing something or is the spec outdated?

Comments (4)

  1. BrianS

    I think they are both correct. I've used both notations. We might want to pull this to just one syntax.

  2. Amir Kamil

    I will let @jdbachan be the arbiter on this. But as I see it, the spec specifies it the way it does because it does not prescribe actual types for completion objects. The implementation is free to use the actual implementation-defined types for completions.

  3. john bachan

    @akamil said it right. The implementation may "express" the type however it likes, so long as its the right type.

  4. Log in to comment