ice icon indicating copy to clipboard operation
ice copied to clipboard

Deprecate Object used as Value

Open bernardnormier opened this issue 7 years ago • 1 comments

Passing interfaces by value is deprecated as of Ice 3.7, however, Object remains a non-deprecated way to specify Value.

For example:

module M
{
    interface Intf
    {
        Intf f();
        Object g();
    }
}

only gives one deprecated diagnostic (for f). Object g() is treated like Value g() and no diagnostics is produced.

We should deprecate this usage to fully separate interfaces and classes - Object represents the base of all interfaces while Value represent the base of all classes.

Notes:

  • in a local operation, Object represents the base class for all servants and is not equivalent to Value.

  • for local classes and interfaces, LocalObject remains the base class for both. There is no LocalValue.

bernardnormier avatar Sep 24 '18 20:09 bernardnormier

Let's keep Object as an alias for Value, for compatibility with earlier versions of Slice.

bernardnormier avatar Jan 02 '24 15:01 bernardnormier

@bernardnormier Can we close this?

pepone avatar Mar 15 '24 19:03 pepone