diff --git a/src/lifetime/basic.md b/src/lifetime/basic.md index 7c6dde2..fa530c6 100644 --- a/src/lifetime/basic.md +++ b/src/lifetime/basic.md @@ -1,32 +1,4 @@ -## 生命周期消除 - -```rust -fn print(s: &str); // elided -fn print<'a>(s: &'a str); // expanded - -fn debug(lvl: usize, s: &str); // elided -fn debug<'a>(lvl: usize, s: &'a str); // expanded - -fn substr(s: &str, until: usize) -> &str; // elided -fn substr<'a>(s: &'a str, until: usize) -> &'a str; // expanded - -fn get_str() -> &str; // ILLEGAL - -fn frob(s: &str, t: &str) -> &str; // ILLEGAL - -fn get_mut(&mut self) -> &mut T; // elided -fn get_mut<'a>(&'a mut self) -> &'a mut T; // expanded - -fn args(&mut self, args: &[T]) -> &mut Command // elided -fn args<'a, 'b, T: ToCStr>(&'a mut self, args: &'b [T]) -> &'a mut Command // expanded - -fn new(buf: &mut [u8]) -> BufWriter; // elided -fn new(buf: &mut [u8]) -> BufWriter<'_>; // elided (with `rust_2018_idioms`) -fn new<'a>(buf: &'a mut [u8]) -> BufWriter<'a> // expanded -``` - -**Lifetimes** - +## Lifetime 1. 🌟 ```rust,editable /* Make it work */