ice
ice copied to clipboard
Adopt new Slice class format and preservation approach
In "new Slice" (https://docs.icerpc.dev/slice1):
- exceptions are always encoded in the sliced format
- classes encoded in Sliced format are always "fully preserved" (there is no attribute to preserve slices)
- exceptions are not preserved - unknown slices are lost during decoding
I propose we do the same in Ice for Ice 3.8 and cleanup Slice files like: https://github.com/zeroc-ice/ice/blob/ce1649d310904937a3e70a0ac79dc0bcb3a7433a/slice/Glacier2/Session.ice#L37
In this file, we mark operations format:slice ostensibly to encode the one exception (CannotCreateSessionException) in the sliced format even though we don't define anywhere a derived exception.
Do we keep the 1.0 encoding support for 3.8?
Yes, so far we plan to keep the 1.0 encoding in 3.8. It should have no or limited effect on this issue since slice preservation is 1.1-only.