43 lines
1.3 KiB
Markdown
43 lines
1.3 KiB
Markdown
# Fix for Rust Edition 2024 Docker Build Error
|
|
|
|
## Problem
|
|
|
|
The error occurs because:
|
|
1. Your Dockerfile uses `FROM rust:latest` which pulled `rust:1.83-alpine`
|
|
2. Several dependencies require Rust 1.85+ for Edition 2024 support:
|
|
- `time-core 0.1.8` requires Rust 1.88.0
|
|
- `getrandom 0.4.1` requires Rust 1.85.0
|
|
- `uuid 1.21.0` requires Rust 1.85.0
|
|
- `deranged 0.5.6` requires Rust 1.85.0
|
|
- `wasip2/wasip3` require Rust 1.87.0
|
|
|
|
## Root Cause
|
|
|
|
Rust Edition 2024 became stable in Rust 1.85.0 (released February 20, 2025).
|
|
Some of your transitive dependencies have updated to use Edition 2024,
|
|
which requires a newer Rust version than 1.83.
|
|
|
|
## Solutions
|
|
|
|
### ✅ RECOMMENDED: Update Rust Base Image
|
|
|
|
Change `FROM rust:latest` to `FROM rust:1.93` or newer.
|
|
|
|
**Pros:**
|
|
- Future-proof solution
|
|
- Gets latest Rust improvements and security fixes
|
|
- No dependency management overhead
|
|
- Standard practice (update base images regularly)
|
|
|
|
**Cons:**
|
|
- None (this is the correct approach)
|
|
|
|
### Alternative: Pin Dependency Versions (NOT RECOMMENDED)
|
|
|
|
Pin problematic dependencies to older versions that don't require Edition 2024.
|
|
This creates technical debt and should only be used if you have a specific
|
|
constraint preventing Rust version updates.
|
|
|
|
## Implementation
|
|
|
|
See the fixed Dockerfiles in this directory.
|