Replies: 3 comments 2 replies
-
Submitters are expected to have tests for all the big three implementations. The exception to this is for library features that depend on language features that are not yet available. In that case, tests should cover all the implementations that provide that language support. Submitters are encouraged but not required to provide workarounds for the lack of support on the other major implementations. |
Beta Was this translation helpful? Give feedback.
-
@tzlaine What if the subdirectory is |
Beta Was this translation helpful? Give feedback.
-
The proposal says "includes at least one code coverage build". I'm not a great github tooling person. The example doesn't seem to include a coverage workflow and/or badge, yet. What do I need to do to set up a workflow which produces a coverage badge? |
Beta Was this translation helpful? Give feedback.
-
Overall structure:
Each subproject is independent, and uses the Beman template, and is tied to
some package manager; the subprojects may have interdependencies
Beman proper contains:
A list of packages considered to be within the Beman Project
Common infrastructure (reference to the package that contains the
template/scripts that build the template)
Subprojects:
Get added when they have a paper number
Get updated with a new revision (Git hash, package version, and Git tag
"RN", where "RN" is the paper revision suffix); a script should be
provided to do all the things in one step.
Get removed when they are voted down by LEWG
Are retained when they are merged into the IS, but only as long as they
are within two standards of the current standardization effort (e.g. if
C++29 is being worked on, the oldest subprojects will be C++23)
For now, all subprojects are pure additions; changes to existing std entities
(like std::string::contains) still need to be figured out.
Subproject structure:
The Beman template should include:
A subproject should put its implementation in beman::cppN, where N is 26, 29,
etc. The N is the targetted ship vehicle for that suproject's paper. For
each cppN namespace, a user will see "inline namespace cppN" when building in
C++N mode, and just "namespace cppN" otherwise. Subproject authors are
encouraged but not required to also back-fill compatability implementations
for cpp(N-3) and cpp(N-6) namespaces.
If a project does not make it into C++N, a Github ticket should be auto-opened
requesting that the code moved to cpp(N+3). If this does not happen by the
next Beman pre-meeting update, the subproject is removed from the Beman index,
without prejudice.
Beman Project workflow:
Every meeting, the project's list of head-versions of all its subprojects
is updated.
Every new C++ standard, the notification, and possible removal, of all
pending subprojects is done.
Beta Was this translation helpful? Give feedback.
All reactions