C++ Logo


Advanced search

Re: P2581R0: Specifying the Interoperability of Binary Module Interface Files

From: Iain Sandoe <iain_at_[hidden]>
Date: Wed, 4 May 2022 13:00:17 +0100
> On 4 May 2022, at 12:45, Daniela Engert via SG15 <sg15_at_[hidden]> wrote:
> Am 04.05.2022 um 13:33 schrieb Gabriel Dos Reis:
>> Where is "implementation partition" defined in the standards text?
>> -- Gaby, not defending an tool-specific terminology, but genuinely curious
> I may have been fallen victim of a mental implicit conversion, but when parsing the standards text in elevator mode in recent years I came to the conclusion this particular module TU type is called "module implementation partition". If this is just a mirage then let's find a proper name for these beasts or stick with whatever already exists. I told my audience all the time that these are the modules equivalent to library-internal headers but that's just one use case.

I think many of us have the same scenario;

The standard says that module unit that does not have an ‘export’ is an implementation unit … I think that some/many of us have therefore concluded that a partition with that property is also an implementation partition. Alas my implementation (in the compiler!) uses this terminology.


>> -----Original Message-----
>> From: SG15 <sg15-bounces_at_[hidden]> On Behalf Of Daniela Engert via SG15
>> Sent: Wednesday, May 4, 2022 4:27 AM
>> To: sg15_at_[hidden]
>> Cc: dani <dani_at_[hidden]>
>> Subject: Re: [SG15] P2581R0: Specifying the Interoperability of Binary Module Interface Files
>> Am 04.05.2022 um 12:46 schrieb Nathan Sidwell via SG15:
>>> On 5/3/22 10:32, Ben Boeckel via SG15 wrote:
>>>> On Tue, May 03, 2022 at 12:48:24 +0000, Gabriel Dos Reis wrote:
>>>>> I have a lot to say in this thread, but a request for the CMake folks:
>>>>> Please, can we avoid "module headers" or "header modules" as
>>>>> terminology in the community?
>>>>> We've settled on "header units". If we need something more than
>>>>> that, please let's work on it.
>>>> There are currently three names used:
>>>> - `CXX_MODULE_INTERNAL_PARTITIONS`: for any TU which is a partition
>>>> without `export` and not an implementation unit (needs to be
>>>> separate because of the `-internalPartition` flag is needed during
>>>> scanning; it wouldn't be that important if the non-standard MSVC
>>>> extention needed the flag and this one did not)
>>> IIUC these are what the std calls implementation partitions. It is
>>> unfortunate the same name is not being used.
>> I'd also prefer this name as coined by the standard instead of a
>> tool-specific one.
>> _______________________________________________
>> SG15 mailing list
>> SG15_at_[hidden]
>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fsg15&amp;data=05%7C01%7Cgdr%40microsoft.com%7Cbc42e15e539f4b71ecbb08da2dc0f3a4%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637872603993970460%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=PP6%2FjkGQIKfh1FJPFy47qlu8m04El5vgEO8Z7dTz5Uo%3D&amp;reserved=0
> _______________________________________________
> SG15 mailing list
> SG15_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/sg15

Received on 2022-05-04 12:00:19