diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-07-21 04:28:37 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-07-21 04:30:00 +0800 |
| commit | 844c3c9029f75f37622413f3e3a92b93664852ed (patch) | |
| tree | e4278b1c0cd09b41abba113742b716bdf8ef7ac3 /mingling_core | |
| parent | 2683d7c6c3c88355fd3188ac2b2c68338ae2d205 (diff) | |
feat(core): add From impl for RenderResult with closure coercion
Diffstat (limited to 'mingling_core')
| -rw-r--r-- | mingling_core/src/renderer/render_result.rs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/mingling_core/src/renderer/render_result.rs b/mingling_core/src/renderer/render_result.rs index a495857..c38522a 100644 --- a/mingling_core/src/renderer/render_result.rs +++ b/mingling_core/src/renderer/render_result.rs @@ -47,6 +47,15 @@ pub enum RenderResultMode { Stderr = 1, } +impl<F> From<F> for RenderResult +where + F: FnOnce() -> RenderResult, +{ + fn from(value: F) -> Self { + value() + } +} + impl Write for RenderResult { fn write(&mut self, buf: &[u8]) -> std::io::Result<usize> { let s = std::str::from_utf8(buf).map_err(|_| { @@ -233,7 +242,7 @@ impl RenderResult { /// src.append_to_buffer("Hello", RenderResultMode::Stdout); /// src.append_to_buffer(" Error", RenderResultMode::Stderr); /// - /// dest.append_otehr(src); + /// dest.append_other(src); /// assert_eq!(dest.to_string(), "Hello Error"); /// ``` pub fn append_other(&mut self, other: impl Into<RenderResult>) { |
