You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/editions/transitioning-an-existing-project-to-a-new-edition.md
+14-3Lines changed: 14 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -4,9 +4,10 @@ Rust includes tooling to automatically transition a project from one edition to
4
4
It will update your source code so that it is compatible with the next edition.
5
5
Briefly, the steps to update to the next edition are:
6
6
7
-
1. Run `cargo fix --edition`
8
-
2. Edit `Cargo.toml` and set the `edition` field to the next edition, for example `edition = "2024"`
9
-
3. Run `cargo build` or `cargo test` to verify the fixes worked.
7
+
1. Run `cargo update` to update your dependencies to the latest versions.
8
+
2. Run `cargo fix --edition`
9
+
3. Edit `Cargo.toml` and set the `edition` field to the next edition, for example `edition = "2024"`
10
+
4. Run `cargo build` or `cargo test` to verify the fixes worked.
10
11
11
12
The following sections dig into the details of these steps, and some of the issues you may encounter along the way.
12
13
@@ -32,6 +33,16 @@ This code uses an anonymous parameter, that `i32`. This is [not
32
33
supported in Rust 2018](../rust-2018/trait-system/no-anon-params.md), and
33
34
so this would fail to compile. Let's get this code up to date!
34
35
36
+
## Updating your dependencies
37
+
38
+
Before we get started, it is recommended to update your dependencies. Some dependencies, particularly some proc-macros or dependencies that do build-time code generation, may have compatibility issues with newer editions. New releases may have been made since you last updated which may fix these issues. Run the following:
39
+
40
+
```console
41
+
cargo update
42
+
```
43
+
44
+
After updating, you may want to run your tests to verify everything is working. If you are using a source control tool such as `git`, you may want to commit these changes separately to keep a logical separation of commits.
45
+
35
46
## Updating your code to be compatible with the new edition
36
47
37
48
Your code may or may not use features that are incompatible with the new edition.
0 commit comments