Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

P1905 In-Source Mechanism to Identify Importable Headers #651

Open
wg21bot opened this issue Oct 15, 2019 · 5 comments
Open

P1905 In-Source Mechanism to Identify Importable Headers #651

wg21bot opened this issue Oct 15, 2019 · 5 comments
Labels
modules-ecosystem-tr-1 Ship vehicle: Modules Ecosystem TR needs-revision Paper needs changes before it can proceed SG15 Tooling

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented Oct 15, 2019

P1905R0 In-Source Mechanism to Identify Importable Headers (Corentin Jabot)

@wg21bot wg21bot added EWG Evolution SG15 Tooling labels Oct 15, 2019
@wg21bot wg21bot added this to the 2019-11 milestone Oct 15, 2019
@jfbastien jfbastien removed the EWG Evolution label Oct 15, 2019
@jfbastien
Copy link
Collaborator

Let's start this in SG15 to get tooling expert's thoughts, and figure out the language stuff with that knowledge.

@brycelelbach
Copy link

Belfast 2019-11 Tooling Minutes

P1905R0 In-Source Mechanism to Identify Importable Headers

Chair: Bryce Adelstein Lelbach

Champion: Corentin Jabot

Minute Taker: Aaron Ballman

Start Review: 11-08 10:39

Start Polling: 11:07

POLL: We want an in-source mechanism for indicating but not enforcing that a header is importable.

Strongly For Weakly For Neutral Weakly Against Strongly Against
2 6 3 1 0

Attendance: 16

Authors Voting: 1

Author Position: SF

A: Not clear what diagnostics are expected, concerns about how this impacts implementations that don't support implicit modules.

That has consensus.

POLL: We want an in-source mechanism for indicating but not enforcing that a header is NOT importable.

Strongly For Weakly For Neutral Weakly Against Strongly Against
1 10 2 0 0

Attendance: 16

Authors Voting: 1

Author Position: SF

That has unanimous consent.

POLL: Prioritize scannability by tools in the design of a in-source mechanism that indicates whether headers are importable.

Strongly For Weakly For Neutral Weakly Against Strongly Against
8 5 1 0 0

Attendance: 16

Authors Voting: 1

Author Position: SF

That has unanimous consent.

POLL: Explore an in-source mechanism for enforcing that a header must not be imported.

Strongly For Weakly For Neutral Weakly Against Strongly Against
2 9 3 0 0

Attendance: 15

Authors Voting: 1

Author Position: F

That has unanimous consent.

POLL: Explore an in-source mechanism for enforcing that a header must only be imported.

Strongly For Weakly For Neutral Weakly Against Strongly Against
1 6 5 2 0

Attendance: 15

Authors Voting: 1

Author Position: A

That has weak consensus.

End: 11:30

CONSENSUS: Bring a revision of P1905R0 (In-Source Mechanism to Identify Importable Headers), with the guidance below, to the Tooling Study Group.

  • Retain the existing proposed in-source mechanism for indicating but not enforcing that a header is importable.
  • Add an in-source mechanism for indicating but not enforcing that a header is NOT importable.
  • Explore an in-source mechanism for enforcing that a header must not be imported.
  • Explore an in-source mechanism for enforcing that a header must only be imported.
  • Prioritize scannability by tools in the design of a in-source mechanism that indicates whether headers are importable.
  • Make your design intent regarding scannability clear in the next revision; make it clear what's allowed to come before the #pragma.
  • Prior to this paper returning, please get review from EWG, EWGI, or SG2, and also specifically Michael Spencer, GDR, and Nathan Sidwell.

@brycelelbach brycelelbach added EWGI Evolution Incubator needs-revision Paper needs changes before it can proceed labels Nov 9, 2019
@brycelelbach
Copy link

brycelelbach commented Nov 9, 2019

This is ready for an EWGI and Modules Study Group pass. Note that if we don't want this in the International Standard, we still might want to suggest it in the Modules Ecosystem TR.

@brycelelbach brycelelbach added SG2 Modules modules-ecosystem-tr-1 Ship vehicle: Modules Ecosystem TR labels Nov 9, 2019
@jensmaurer jensmaurer modified the milestones: 2019-11, 2020-02 Dec 11, 2019
@jensmaurer jensmaurer removed the needs-revision Paper needs changes before it can proceed label Jan 21, 2020
@theres-waldo theres-waldo added this to Tuesday PM in EWG-I Prague Feb 7, 2020
@theres-waldo theres-waldo moved this from Tuesday PM to Thursday PM in EWG-I Prague Feb 11, 2020
@erichkeane
Copy link
Collaborator

EWGI in Prague

The problem that P1905 is attempting to solve is worth solving.

SF F N A SA
4 6 0 0 0

The proper ship vehicle for this is the C++ Standard.

SF F N A SA
1 0 3 5 1

The proper ship vehicle for this is SG15 Ecosystem TR.

SF F N A SA
2 3 3 0 0

// The following polls taken in the context of a SG15 TR
We prefer the #pragma spelling listed as the choice in P1905.

SF F N A SA
4 6 1 0 0

We prefer an attribute spelling to solve the problem from P1905.

SF F N A SA
0 0 1 7 1

EWGI Believes that the Modules Ecosystem TR is the proper ship vehicle, and suggests a #pragma spelling.

@erichkeane erichkeane removed the EWGI Evolution Incubator label Feb 13, 2020
@erichkeane erichkeane moved this from Thursday PM to Thursday AM in EWG-I Prague Feb 13, 2020
@brycelelbach
Copy link

Prague 2020-02 Tooling Minutes

P1905R0 In-Source Mechanism to Identify Importable Headers Modules

Chair: Ben Boeckel

Champion: Corentin Jabot

Minute Taker: Gor Nishanov

Start Review: 2020-02-14 17:10

Implementation experience: No.

POLL: We want to use #pragma importable to indicate an importable header.

Strongly For Weakly For Neutral Weakly Against Strongly Against
2 3 7 0 0

Attendance: 15

# of Authors: 1

Author Position: SF

CONSENSUS: Weakly in favor.

POLL: We want to use #pragma not_importable to indicate a non-importable header.

Strongly For Weakly For Neutral Weakly Against Strongly Against
5 4 3 0 0

Attendance: 15

# of Authors: 1

Author Position: SF

CONSENSUS: In favor.

POLL: We want to reject _Pragma(importable) and _Pragma(not_importable) conversion into #pragma.

Strongly For Weakly For Neutral Weakly Against Strongly Against
6 1 2 1 1

Attendance: 15

# of Authors: 1

Author Position: SF

CONSENSUS: Weakly in favor.

Bruno volunteers to coauthor.

End: 15:32

CONSENSUS: Bring a revision of P1905R0 (In-Source Mechanism to Identify Importable Headers Modules), with the guidance below, to the Tooling Study Group for further review for the Modules Ecosystem Technical Report.

  • Include #pragma importable and #pragma not_importable.
  • Explore whether we can reject _Pragma(importable) and _Pragma(not_importable).

@brycelelbach brycelelbach added needs-revision Paper needs changes before it can proceed and removed SG2 Modules labels Feb 18, 2020
@jensmaurer jensmaurer removed this from the 2020-02 milestone Mar 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
modules-ecosystem-tr-1 Ship vehicle: Modules Ecosystem TR needs-revision Paper needs changes before it can proceed SG15 Tooling
Projects
No open projects
EWG-I Prague
Thursday AM
Development

No branches or pull requests

5 participants