X-Git-Url: https://git.ralfj.de/rust-101.git/blobdiff_plain/7c63fce3ed1474437f62a5f14cbd9fa398ec9abe..57fd78e47f3f9d935f62a5dc05e8676ae035ad3d:/workspace/src/part08.rs?ds=sidebyside diff --git a/workspace/src/part08.rs b/workspace/src/part08.rs index 0118906..5ddcb33 100644 --- a/workspace/src/part08.rs +++ b/workspace/src/part08.rs @@ -56,11 +56,11 @@ impl ops::Add for BigInt { } } -// ## Traits and borrowed types +// ## Traits and reference types // Writing this out becomes a bit tedious, because trait implementations (unlike functions) require full explicit annotation // of lifetimes. Make sure you understand exactly what the following definition says. Notice that we can implement a trait for -// a borrowed type! +// a reference type! impl<'a, 'b> ops::Add<&'a BigInt> for &'b BigInt { type Output = BigInt; fn add(self, rhs: &'a BigInt) -> Self::Output {