@@ -659,14 +659,12 @@ error: mismatched types: expected `int` but found `()` (expected int but found (
659
659
```
660
660
661
661
We expected an integer, but we got ` () ` . ` () ` is pronounced 'unit', and is a
662
- special type in Rust's type system. ` () ` is different than ` null ` in other
663
- languages, because ` () ` is distinct from other types. For example, in C, ` null `
664
- is a valid value for a variable of type ` int ` . In Rust, ` () ` is _ not_ a valid
665
- value for a variable of type ` int ` . It's only a valid value for variables of
666
- the type ` () ` , which aren't very useful. Remember how we said statements don't
667
- return a value? Well, that's the purpose of unit in this case. The semicolon
668
- turns any expression into a statement by throwing away its value and returning
669
- unit instead.
662
+ special type in Rust's type system. In Rust, ` () ` is _ not_ a valid value for a
663
+ variable of type ` int ` . It's only a valid value for variables of the type ` () ` ,
664
+ which aren't very useful. Remember how we said statements don't return a value?
665
+ Well, that's the purpose of unit in this case. The semicolon turns any
666
+ expression into a statement by throwing away its value and returning unit
667
+ instead.
670
668
671
669
There's one more time in which you won't see a semicolon at the end of a line
672
670
of Rust code. For that, we'll need our next concept: functions.
@@ -1680,11 +1678,11 @@ just `int`s.
1680
1678
1681
1679
Rust provides a method on these ` IoResult<T> ` s called ` ok() ` , which does the
1682
1680
same thing as our ` match ` statement, but assuming that we have a valid value.
1683
- If we don't, it will terminate our program. In this case, if we can't get
1684
- input, our program doesn 't work, so we're okay with that . In most cases, we
1685
- would want to handle the error case explicitly. The result of ` ok() ` has a
1686
- method, ` expect() ` , which allows us to give an error message if this crash
1687
- happens.
1681
+ We then call ` expect() ` on the result, which will terminate our program if we
1682
+ don 't have a valid value . In this case, if we can't get input, our program
1683
+ doesn't work, so we're okay with that. In most cases, we would want to handle
1684
+ the error case explicitly. ` expect() ` allows us to give an error message if
1685
+ this crash happens.
1688
1686
1689
1687
We will cover the exact details of how all of this works later in the Guide.
1690
1688
For now, this gives you enough of a basic understanding to work with.
@@ -2030,7 +2028,7 @@ fn main() {
2030
2028
match cmp(input, secret_number) {
2031
2029
Less => println!("Too small!"),
2032
2030
Greater => println!("Too big!"),
2033
- Equal => { println!("You win!"); } ,
2031
+ Equal => println!("You win!"),
2034
2032
}
2035
2033
}
2036
2034
0 commit comments