Hi,
please refer to the paragraph about "Casting capability types" in the release notes for 11.05. These state:
For typed capabilities, the same type conversion rules apply as for pointers. In fact, a typed capability pretty much resembles a typed pointer, pointing to a remote object. Hence, assigning a specialized capability (e.g., CapabilityInput::Session) to a base-typed capability (e.g., Capability<Session>) is always valid. For the opposite case, a static cast is needed. For capabilities, this cast is supported by
static_cap_cast<INTERFACE>(cap)
HTH