From aa548f44319634259c553ac801fbf94787adeeb1 Mon Sep 17 00:00:00 2001 From: Alex Lai <74868436+Alx-Lai@users.noreply.github.com> Date: Wed, 15 Jan 2025 18:22:48 +0800 Subject: [PATCH] Revert "Exercise: method and traits: change output" (#2548) Reverts google/comprehensive-rust#2383 Since #2397 is merged, to align the goal in #2478, rollback this temp workaround. --- src/methods-and-traits/exercise.md | 2 +- src/methods-and-traits/exercise.rs | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/methods-and-traits/exercise.md b/src/methods-and-traits/exercise.md index 21a80b46..d7d8830c 100644 --- a/src/methods-and-traits/exercise.md +++ b/src/methods-and-traits/exercise.md @@ -9,7 +9,7 @@ method. Code which might log its progress can then take an `&impl Logger`. In testing, this might put messages in the test logfile, while in a production build it would send messages to a log server. -However, the `StdoutLogger` given below logs all messages, regardless of +However, the `StderrLogger` given below logs all messages, regardless of verbosity. Your task is to write a `VerbosityFilter` type that will ignore messages above a maximum verbosity. diff --git a/src/methods-and-traits/exercise.rs b/src/methods-and-traits/exercise.rs index a51b4ad2..f7b9fa03 100644 --- a/src/methods-and-traits/exercise.rs +++ b/src/methods-and-traits/exercise.rs @@ -19,11 +19,11 @@ pub trait Logger { fn log(&self, verbosity: u8, message: &str); } -struct StdoutLogger; +struct StderrLogger; -impl Logger for StdoutLogger { +impl Logger for StderrLogger { fn log(&self, verbosity: u8, message: &str) { - println!("verbosity={verbosity}: {message}"); + eprintln!("verbosity={verbosity}: {message}"); } } // ANCHOR_END: setup @@ -31,7 +31,7 @@ impl Logger for StdoutLogger { /// Only log messages up to the given verbosity level. struct VerbosityFilter { max_verbosity: u8, - inner: StdoutLogger, + inner: StderrLogger, } impl Logger for VerbosityFilter { @@ -44,7 +44,7 @@ impl Logger for VerbosityFilter { // ANCHOR: main fn main() { - let logger = VerbosityFilter { max_verbosity: 3, inner: StdoutLogger }; + let logger = VerbosityFilter { max_verbosity: 3, inner: StderrLogger }; logger.log(5, "FYI"); logger.log(2, "Uhoh"); }