% Primitive Types

There is a new edition of the book and this is an old link.

> Rust is a _statically typed_ language, which means that it must know the types of all variables at compile time.
> The compiler can usually infer what type we want to use based on the value and how we use it.
> In cases when many types are possible, a _type annotation_ must be added.

```rust
let x = 2.0; // f64

let y: f32 = 3.0; // f32
```

---

Here are the relevant sections in the new and old books:

* **[In the second edition: Ch 3.02 — Data Types][2]**
* [In the first edition: Ch 3.3 — Primitive Types][1]

[1]: first-edition/primitive-types.html
[2]: second-edition/ch03-02-data-types.html
