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

Comments

@wg21bot
Copy link
Collaborator

@wg21bot wg21bot commented Oct 15, 2019

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

@wg21bot wg21bot added EWG SG15 labels Oct 15, 2019
@wg21bot wg21bot added this to the 2019-11 milestone Oct 15, 2019
@jfbastien jfbastien removed the EWG label Oct 15, 2019
@jfbastien

This comment has been minimized.

Copy link
Collaborator

@jfbastien jfbastien commented Oct 15, 2019

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

@brycelelbach

This comment has been minimized.

Copy link
Collaborator

@brycelelbach brycelelbach commented Nov 9, 2019

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

This comment has been minimized.

Copy link
Collaborator

@brycelelbach 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.

@jensmaurer jensmaurer modified the milestones: 2019-11, 2020-02 Dec 11, 2019
@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

This comment has been minimized.

Copy link
Collaborator

@erichkeane erichkeane commented Feb 13, 2020

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 label Feb 13, 2020
@erichkeane erichkeane moved this from Thursday PM to Thursday AM in EWG-I Prague Feb 13, 2020
@brycelelbach

This comment has been minimized.

Copy link
Collaborator

@brycelelbach brycelelbach commented Feb 18, 2020

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 and removed SG2 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
Projects
EWG-I Prague
Thursday AM
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
5 participants
You can’t perform that action at this time.