mirror of
https://github.com/google/comprehensive-rust.git
synced 2025-05-15 23:26:48 +02:00
Add example for underscore syntax with generics (type-inference.md)
This commit is contained in:
parent
2ec7bdf15d
commit
b1069f863c
@ -20,3 +20,23 @@ fn main() {
|
|||||||
// takes_u32(y);
|
// takes_u32(y);
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
This slide demonstrates how the Rust compiler infers types based on constraints given by variable declarations and usages.
|
||||||
|
|
||||||
|
The following code tells the compiler to copy into a certain generic container without the code ever explicitly specifying the contained type, using `_` as a placeholder:
|
||||||
|
|
||||||
|
```rust,editable
|
||||||
|
fn main() {
|
||||||
|
let mut v = Vec::new();
|
||||||
|
v.push((10, false));
|
||||||
|
v.push((20, true));
|
||||||
|
println!("v: {v:?}");
|
||||||
|
|
||||||
|
let vv = v.iter().collect::<std::collections::HashSet<_>>();
|
||||||
|
println!("vv: {vv:?}");
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user