Repository navigation
0.4.0: a platform question for a native build and an image alike; the platform modules in an image - #19
Merged
Conversation
… platform modules in an image can_run_on(p) and on<P>(f) beside is_<platform>; R5 revised: a platform module is defined where it can be answered, a native build of its platform and an image that asks the system it runs upon (translator, elevated, on_dev_drive, effective_user; translated is false). tests/facts_test runs the questions on every row, natively and as images. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Sunrisepeak
force-pushed
the
release/0.4.0
branch
from
November 7, 2026 17:09
c84ae1c to
2b93aab
Compare
…acts_test names both answers Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…, not the C library's openkal-musl's geteuid is the constant 1000 and it has no umask, so the hosted arrangement answered 1000 for every user (CI runner user 1001). Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
… alias Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…hin the platform's version group Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements mcpp-community/mcpp design 2026-11-08 (supplement S2, S3; top-level W3).
Changes
can_run_on(p)andon<P>(f).if constexpr (can_run_on(P))withif (host() == P)is the platform question that holds in a native build and an image;on<P>runs a callable that takes the platform as an argument, so its body is a template a build that cannot run onPnever instantiates (a lambda without the parameter is refused).is_<platform>keeps its meaning: a native build of that platform. README states which form fits which code.linux::translator()(/proc, as on Linux);windows::elevated()(whoami /groups, by integrity SID);windows::on_dev_drive()(fsutil devdrv query, not known otherwise);posix::effective_user()(/proc on Linux,/usr/bin/id -uon macOS);macos::translated()is false (macOS has only an aarch64 okrun). System programs are started by absolute name with a 10 s bound, once per process. Code pages, long names, the registry, writable drives and the creation mask stay undefined in an image.tests/facts_testasks the questions throughon<P>on every row, natively, hosted, on Emscripten and as images on four systems;checks/discardedlinks the two-layer form on every system.Verification
mcpp test9/9 andmcpp test --target x86_64-openkal9/9;checks/discardedlinks;checks/misusestill fails at the link.Co-authored-by: speak-agent 248744407+speak-agent@users.noreply.github.com