support for type signed 8-bit integer
Is your feature request related to a problem? Please describe.
I am currently designing a C++ framework for remote procedure calls. It consists of 2 parts:
- a frontend, based on standard C++ types (e.g. int32_t, std::string, std::vector<>, std::tuple<>, std::variant<>, etc.)
- a backend, for transport or protocol generation, which shall be configurable (D-Bus, ASN.1, JSON, XML, etc.).
It is clear that backends may not support all frontend data types. One example here is D-Bus, as there is no signed 8-bit integer defined (see: https://dbus.freedesktop.org/doc/dbus-specification.html#basic-types ).
The current solution is to throw a compile-time assertion when int8_t is used as a type with D-Bus. Internal/hidden casting to another type would not be type-safe.
Describe the solution you'd like
D-Bus support for signed 8-bit integer. I do understand that this would mean an ABI extension, so I consider this ticket to be a long-term change for v2.
Describe alternatives you've considered
- Forbid usage of int8_t when using the library with D-Bus.
- I have asked at StackOverflow half a year ago, if someone might know an alternative, but without success.
Additional context
There are several reserved types in the D-Bus specification (e.g. a 'maybe' type, which seems to match C++ std::optional<>). Perhaps it's time for a makeover after about 20 years.