Are standards related non-libraries in scope?

I’ve got a few library-related standards projects I’m somewhat involved in, and I’m not sure if they are appropriate for the Beman project. “No” is a fine answer for each of these, but I can see some value in each.

  1. Test harness for a freestanding library (GitHub - ben-craig/kernel_test_harness: kernel_test_harness). I currently point this at the MSSTL, make some changes, and then run the libc++ tests as a way of verifying whether some facility is freestanding of not. It’s not something that a typical user is interested in, but it can be of use to the standards community (with some polishing at least).
  2. Borrow-checking discussions and library additions (Sean Baxter: Safe C++). If this gets going, there will be a need to author library additions, but those library additions will rely on compiler features that aren’t present in released compilers. There could also be a lot of value in having public paper discourse on this.
  3. Policy papers (example: “P3085R2 noexcept policy for SD-9 (throws nothing)”). Maybe the Beman discourse could be an additional place for expert commentary and review?

As stated before, “no” is a reasonable answer here. I’ve heard it said that it’s not a real project until you know what’s out of scope. But maybe some of these are in scope and could help seed the system.

1 Like

Hey @bcraig, welcome!

I’m curious what others think, but my initial reaction is that topics that could lead to Beman libraries (#2) or impact them (#3) are in scope.

Can you elaborate your thinking on #1? What are your goals for this repository?

My thinking on #1 is that it could be an aid in tooling. Similar to how we want it to be easy for people to spin up a blank project that follows all the best user space practices, it would also be nice to have some way to test things intended for freestanding in a freestanding environment.

What do you think about making our example/template:

  1. Have a CMake preset for compiling in freestanding mode, and
  2. Have an example test driver that verifies freestanding compatibility?