Conversation
|
Caution Review failedThe pull request is closed. WalkthroughThe build switches to C++23 and treats warnings as errors. A new public Errors framework is added, changing Command/Child APIs to return Result. CommandResult gains ExecutionError and helpers. Tests and README are updated to use IsOk/Value/IsError patterns. No other files are modified. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor User
participant Cmd as Command
participant OS as OS/Platform
participant Err as Errors::Result
User->>Cmd: Execute()
Cmd->>OS: Spawn process
alt spawn fails
OS-->>Cmd: System error
Cmd->>Err: MakeSystemError(SpawnFailed)
Cmd-->>User: Result<CommandResult>{Error}
else spawn succeeds
OS-->>Cmd: PID/handles
Cmd->>OS: Wait for completion
alt wait fails
OS-->>Cmd: System error
Cmd->>Err: MakeSystemError(WaitFailed)
Cmd-->>User: Result<CommandResult>{Error}
else process exits
OS-->>Cmd: Exit data (code, io)
Cmd-->>User: Result<CommandResult>{Value}
end
end
sequenceDiagram
autonumber
actor User
participant Cmd as Command
participant Child as Child
participant OS as OS/Signals
participant Err as Errors::Result
User->>Cmd: Spawn()
alt error
Cmd-->>User: Result<Child>{Error}
else ok
Cmd-->>User: Result<Child>{Value}
User->>Child: Kill(...)
alt kill error
Child-->>User: Result<void>{Error}
else kill ok
Child-->>User: Result<void>{Value}
User->>Child: Wait(...)
Child-->>User: Result<CommandResult>{Value or Error}
end
end
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Poem
✨ Finishing touches
🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (4)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary by CodeRabbit