diff options
Diffstat (limited to 'rust.html.markdown')
| -rw-r--r-- | rust.html.markdown | 26 | 
1 files changed, 13 insertions, 13 deletions
diff --git a/rust.html.markdown b/rust.html.markdown index 17f7dc90..d0c56b4a 100644 --- a/rust.html.markdown +++ b/rust.html.markdown @@ -5,21 +5,21 @@ contributors:  filename: learnrust.rs  --- -Rust is an in-development programming language developed by Mozilla Research. -Rust combines low-level control over performance with high-level convenience and  -safety guarantees.  +Rust is a programming language developed by Mozilla Research. +Rust combines low-level control over performance with high-level convenience and +safety guarantees. -It achieves these goals without requiring a garbage collector or runtime, making  +It achieves these goals without requiring a garbage collector or runtime, making  it possible to use Rust libraries as a "drop-in replacement" for C. -Rust’s first release, 0.1, occurred in January 2012, and for 3 years development  +Rust’s first release, 0.1, occurred in January 2012, and for 3 years development  moved so quickly that until recently the use of stable releases was discouraged -and instead the general advise was to use nightly builds.  +and instead the general advice was to use nightly builds. -On May 15th 2015, Rust 1.0 was released with a complete guarantee of backward  +On May 15th 2015, Rust 1.0 was released with a complete guarantee of backward  compatibility. Improvements to compile times and other aspects of the compiler are  currently available in the nightly builds. Rust has adopted a train-based release -model with regular releases every six weeks. Rust 1.1 beta was made available at  +model with regular releases every six weeks. Rust 1.1 beta was made available at  the same time of the release of Rust 1.0.  Although Rust is a relatively low-level language, Rust has some functional @@ -84,7 +84,7 @@ fn main() {      // This is basically an immutable pointer to a string – it doesn’t      // actually contain the contents of a string, just a pointer to      // something that does (in this case, `s`) -    let s_slice: &str = &*s; +    let s_slice: &str = &s;      println!("{} {}", s, s_slice); // hello world hello world @@ -99,7 +99,7 @@ fn main() {      // A slice – an immutable view into a vector or array      // This is much like a string slice, but for vectors -    let slice: &[i32] = &*vector; +    let slice: &[i32] = &vector;      // Use `{:?}` to print something debug-style      println!("{:?} {:?}", vector, slice); // [1, 2, 3, 4, 5] [1, 2, 3, 4, 5] @@ -281,15 +281,15 @@ fn main() {      println!("{}", var); // Unlike `box`, `var` can still be used      println!("{}", *ref_var);      // var = 5; // this would not compile because `var` is borrowed -    // *ref_var = 6; // this would too, because `ref_var` is an immutable reference +    // *ref_var = 6; // this would not too, because `ref_var` is an immutable reference      // Mutable reference      // While a value is mutably borrowed, it cannot be accessed at all.      let mut var2 = 4;      let ref_var2: &mut i32 = &mut var2; -    *ref_var2 += 2; +    *ref_var2 += 2;         // '*' is used to point to the mutably borrowed var2 -    println!("{}", *ref_var2); // 6 +    println!("{}", *ref_var2); // 6 , //var2 would not compile. //ref_var2 is of type &mut i32, so                                                      //stores a reference to an i32 not the value.      // var2 = 2; // this would not compile because `var2` is borrowed  }  ```  | 
