C++ Logo


Advanced search

Re: Proposal for module metadata format to be used by the std library and others

From: Ran Regev <regev.ran_at_[hidden]>
Date: Wed, 13 Dec 2023 15:28:47 +0200
Why not simply _add_ a version / revision object in the file?

After a while, deprecated, unsupported versions can be deleted.


On Wed, Dec 13, 2023, 15:23 Daniel Ruoso via SG15 <sg15_at_[hidden]>

> On Wed, Dec 13, 2023, 02:36 Iain Sandoe via SG15 <sg15_at_[hidden]>
> wrote:
>> - A "current version" and a “minimum supported version", which means
>> that this manifest would be a correct representation for a tool supporting
>> “minimum supported version” (but might have some improved capability for
>> later tools, supporting "current version").
> The version in this case refers to the version of the schema.
> That should indicate what fields are expected to be present, which fields
> are optional, and what is the semantics of those fields
> - A clear rule that says how a tool supporting minimum but not current is
>> to skip the data it does not recognise (and a mechanism for organising
>> content that allows this).
> The general expectation, as we discussed on the context of compatibility
> for the Ecosystem IS, is that if the file has a new revision on the same
> version, a tool that knows about an older revision should be able to parse
> that file with the correct semantics while ignoring the fields it doesn't
> know about.
> That limits what kinds of changes can be done to the schema in a revision
> increment.
> If a change is not possible while maintaining that compatibility, then it
> would need to be a new major version, and therefore the tool that doesn't
> understand that version will not be able to process the file.
> Daniel
>> _______________________________________________
> SG15 mailing list
> SG15_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/sg15

Received on 2023-12-13 13:29:01