1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
#[cfg(feature = "serde")] use serde::{Deserialize, Serialize}; use std::fmt; #[derive(Clone, Debug)] #[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] pub struct Paragraph { pub text: String, } impl Paragraph { pub fn from(text: impl Into<String>) -> Self { Self { text: text.into() } } } impl fmt::Display for Paragraph { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { writeln!(f, "{}", self.text) } }