ice
ice copied to clipboard
deprecated metadata on operation broken in C++
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;
Once this is fixed we also need to do: https://github.com/zeroc-ice/ice/pull/2087#pullrequestreview-2031264169
This was fixed in #2288.
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?