mirror of
https://github.com/LukasKalbertodt/programmieren-in-rust.git
synced 2025-06-29 08:17:32 +02:00
Add solutions for sheet6
This commit is contained in:
27
aufgaben/sheet6/sol3/swagger.rs
Executable file
27
aufgaben/sheet6/sol3/swagger.rs
Executable file
@ -0,0 +1,27 @@
|
||||
use std::fmt;
|
||||
|
||||
struct Swagger<T>(pub T);
|
||||
|
||||
impl<T: fmt::Display> fmt::Display for Swagger<T> {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
|
||||
write!(f, "yolo {} swag", self.0)
|
||||
}
|
||||
}
|
||||
|
||||
trait SwaggerExt: Sized {
|
||||
fn with_swag(self) -> Swagger<Self>;
|
||||
}
|
||||
|
||||
impl<T> SwaggerExt for T {
|
||||
fn with_swag(self) -> Swagger<Self> {
|
||||
Swagger(self)
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let pi = 3.14;
|
||||
|
||||
println!("{}", pi);
|
||||
println!("{}", Swagger(pi));
|
||||
println!("{}", pi.with_swag());
|
||||
}
|
Reference in New Issue
Block a user