Agent Skills: Check current version

Rust learning and ecosystem tracking expert covering version updates, new features, RFC tracking, crate updates, best practice evolution, and learning resources.

UncategorizedID: huiali/rust-skills/rust-learner

Install this agent skill to your local

pnpm dlx add-skill https://github.com/huiali/rust-skills/tree/HEAD/.codex/skills/rust-learner

Skill Files

Browse the full folder contents for rust-learner.

Download Skill

Loading file tree…

.codex/skills/rust-learner/SKILL.md

Skill Metadata

Name
rust-learner
Description
Rust learning and ecosystem tracking expert covering version updates, new features, RFC tracking, crate updates, best practice evolution, and learning resources.

Version Update Strategy

Stable Updates

# Check current version
rustc --version

# Update Rust
rustup update stable

# View changelog
rustup doc --changelog

When to Upgrade

| Scenario | Recommendation | |----------|---------------| | New project | Use latest stable | | Production project | Follow 6-week cycle | | Library project | Consider MSRV policy |

MSRV (Minimum Supported Rust Version)

[package]
rust-version = "1.70"  # Declare minimum version

[dependencies]
# MSRV-sensitive dependencies require care
serde = { version = "1.0", default-features = false }

Solution Patterns

Pattern 1: Following Stable Releases

# Quarterly update routine
rustup update stable
cargo outdated
cargo audit
cargo test --all-features

# Read release notes
rustup doc --changelog

Pattern 2: Tracking Ecosystem Changes

# Check for breaking changes
cargo update --dry-run

# Security audit
cargo audit

# License check
cargo deny check licenses

# Check dependency tree
cargo tree

Pattern 3: Learning New Features

// Edition 2024 features

// Inline const (1.79+)
const fn compute() -> [u8; 32] {
    let mut arr = [0u8; 32];
    // compute at compile time
    arr
}

// Never type improvements (1.82+)
fn diverge() -> ! {
    panic!("never returns")
}

// Async fn in trait (1.75+)
trait Repository {
    async fn fetch(&self, id: u64) -> Result<Data, Error>;
}

Learning Path

Beginner → Advanced

Basics → Ownership, lifetimes, borrow checker
   ↓
Intermediate → Trait objects, generics, closures
   ↓
Concurrency → async/await, threads, channels
   ↓
Advanced → unsafe, FFI, performance optimization
   ↓
Expert → Macros, type system, design patterns

Information Sources

Official Channels

| Source | Content | Frequency | |--------|---------|-----------| | This Week in Rust | Weekly digest, RFCs, blogs | Weekly | | Rust Blog | Major releases, deep dives | As released | | Rust RFCs | Design discussions | Ongoing | | Release Notes | Version changes | Every 6 weeks |

Community Resources

| Resource | Content | |----------|---------| | docs.rs | Documentation search | | crates.io | Package search | | lib.rs | Find alternative crates | | Rust Analyzer | IDE plugin |

Dependency Management

Regular Updates

# Check outdated dependencies
cargo outdated

# Update compatible versions
cargo update

# Update to latest (may break)
cargo upgrade

Security Audit

# Check for known vulnerabilities
cargo audit

# Check dependency licenses
cargo deny check licenses

# Analyze dependency tree
cargo tree -d  # Show duplicates

Workflow

Quarterly Checklist

Every 3 months:
- [ ] Upgrade to latest stable Rust
- [ ] Run cargo outdated
- [ ] Run cargo audit
- [ ] Check dependencies for breaking changes
- [ ] Evaluate new features worth adopting
- [ ] Update tooling (clippy, rustfmt)

Annual Checklist

Every year:
- [ ] Consider edition upgrade
- [ ] Refactor deprecated patterns
- [ ] Evaluate MSRV policy
- [ ] Update development toolchain
- [ ] Review architecture patterns

Learning Resources

Beginner

Intermediate

Advanced

Practice

Edition Update Strategy

| Edition | Released | Key Features | |---------|----------|--------------| | 2015 | Original | - | | 2018 | Dec 2018 | Module system, NLL | | 2021 | Oct 2021 | Disjoint captures, IntoIterator | | 2024 | TBD | Gen blocks, async drop |

Upgrading Editions

# Check if upgrade possible
cargo fix --edition

# Update Cargo.toml
# edition = "2024"

# Test thoroughly
cargo test --all-features

Review Checklist

When learning new Rust features:

  • [ ] Feature is stable (not experimental)
  • [ ] Understand the problem it solves
  • [ ] Know when NOT to use it
  • [ ] Aware of trade-offs
  • [ ] Tested in small project first
  • [ ] Read release notes thoroughly
  • [ ] Checked ecosystem adoption
  • [ ] Updated team documentation

Verification Commands

# Check Rust version
rustc --version
rustup show

# Update toolchain
rustup update

# Check outdated dependencies
cargo outdated

# Security audit
cargo audit

# License compliance
cargo deny check

# Check for deprecated features
cargo clippy -- -W deprecated

Common Pitfalls

1. Chasing Shiny Features

Symptom: Using unstable features in production

# ❌ Avoid: nightly features in production
#![feature(generic_associated_types)]

# ✅ Good: wait for stabilization
# Use stable alternatives

2. Ignoring MSRV

Symptom: Breaking downstream users

# ✅ Good: declare MSRV
[package]
rust-version = "1.70"

# Test against MSRV in CI
# cargo +1.70 test

3. Not Reading Release Notes

Symptom: Surprised by breaking changes

# ✅ Good: read before updating
rustup doc --changelog

# Check crate changelogs
cargo info <crate> --version <version>

Related Skills

  • rust-ecosystem - Crate selection and tools
  • rust-coding - Best practices and conventions
  • rust-performance - Performance improvements
  • rust-async - Async/await patterns
  • rust-error - Error handling evolution

Localized Reference

  • Chinese version: SKILL_ZH.md - 完整中文版本,包含所有内容