On Mon, Feb 22, 2021 at 02:55:57PM +0100, Carsten Bormann wrote:
> On 2021-02-22, at 14:53, Juergen Schoenwaelder
> <[email protected]> wrote:
> >
> > Yes, "base type" is the wrong term, I think we talk about what RFC
> > 7950 calls "build-in types”.
>
> OK, so rephrasing my question:
>
> Are all built-in types incompatible in the sense that moving from one to the
> other is NBC, or are there clusters where moving within is innocuous?
>
I do not think we ever had the notion of "clusters" (or something like
the universal unlimited INTEGER in ASN.1, a common root of all fixed
precision integer types).
Martin and Lada seem to say that all built-in types are incompatible.
Lada made the point that range restrictions can be expanded and hence
the differences of the size or the signedness of the underlying
built-in type may eventually matter.
Of course, if we go down this route, then encodings may take advantage
of this. I have no clue what code generators do, if they indeed map
type int32 { range "0..10"; }
to a 32-bit signed number (to be prepared that someone may enlarge the
range) or whether they go for more space efficient representations
(and then versioning issues may arise or you live with implicit
integer conversions if your programming language does them).
I guess considering the built-in types as incompatible is the most
robust approach. If we agree that RFC 7950 tried to say this, we could
file an errata and propose clearer language.
/js
--
Juergen Schoenwaelder Jacobs University Bremen gGmbH
Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany
Fax: +49 421 200 3103 <https://www.jacobs-university.de/>
_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod