ice icon indicating copy to clipboard operation
ice copied to clipboard

deprecated metadata on operation broken in C++

Open bernardnormier opened this issue 1 year ago • 3 comments

There are at least two issues:

  • the generated code does not compile when an operation is marked deprecated
src/IceGridLib/generated/Admin.cpp:5498:11: error: 'keepAlive' is deprecated: is deprecated [-Werror,-Wdeprecated-declarations]
    this->keepAlive(request.current());

From:

["deprecated"] idempotent void keepAlive();
  • the C++ deprecated attribute message with no message should not be "is deprecated":
 [[deprecated("is deprecated")]] virtual void keepAlive(const ::Ice::Current& current) = 0;

bernardnormier avatar Apr 29 '24 15:04 bernardnormier

Once this is fixed we also need to do: https://github.com/zeroc-ice/ice/pull/2087#pullrequestreview-2031264169

externl avatar Apr 30 '24 12:04 externl

This was fixed in #2288.

InsertCreativityHere avatar Jun 19 '24 22:06 InsertCreativityHere

But I'm leaving this open, because it's still broken in other languages. Once it's 'un-broken' it sounds like we want to deprecate: Glacier2::Router::refreshSession and IceGrid::Admin::keepAlive

I suspect we'll also want to deprecate IceGrid::Session::keepAlive.

Anything else?

InsertCreativityHere avatar Jun 19 '24 23:06 InsertCreativityHere