bootstrap: fix redox-scheme API skew (IntoTag path + ref-in-pattern)

base-initfs 'bootstrap' bin failed to compile against current redox-scheme:
- IntoTag is re-exported only from redox_scheme::scheme (top-level path is
  private) -> import it from scheme::{...} (fixes E0603 + the E0599 into_tag
  not-in-scope at initnsmgr.rs:242).
- Op::OpenAt(ref o) uses an explicit 'ref' inside matches!(&op, ...) which is
  now rejected under match ergonomics ('cannot explicitly borrow within an
  implicitly-borrowing pattern') -> drop 'ref'.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-28 15:31:11 +09:00
parent 452d40b90e
commit 11266c04a6
+3 -3
View File
@@ -18,9 +18,9 @@ use redox_rt::proc::FdGuard;
// local/docs/legacy-obsolete-2026-07-25/INITNSMGR-CONCURRENCY-DESIGN.md.
use redox_rt::sync::Mutex;
use redox_scheme::{
CallerCtx, Id, IntoTag, OpenResult, RequestKind, Response, SendFdRequest, SignalBehavior,
CallerCtx, Id, OpenResult, RequestKind, Response, SendFdRequest, SignalBehavior,
Socket, Tag,
scheme::{Op, OpFdPathLike, SchemeState, SchemeSync},
scheme::{IntoTag, Op, OpFdPathLike, SchemeState, SchemeSync},
};
use syscall::Stat;
use syscall::dirent::{DirEntry, DirentBuf, DirentKind};
@@ -688,7 +688,7 @@ pub fn run(
Ok(op) => {
let intercept = matches!(
&op,
Op::OpenAt(ref o) if is_scheme_forwarded(o.path())
Op::OpenAt(o) if is_scheme_forwarded(o.path())
);
if intercept {
match op {