-
Notifications
You must be signed in to change notification settings - Fork 0
feat: migrate to stable Rust toolchain #9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Adding CLAUDE.md with task information for AI processing. This file will be removed when the task is complete. Issue: #8
- Remove all nightly feature flags from lib.rs: - try_trait_v2, associated_type_bounds, type_alias_impl_trait - const_refs_to_cell, const_result_drop, const_trait_impl - const_convert, const_deref, step_trait - Simplify Flow type by removing Try trait implementation - Replace with helper methods (is_continue, is_break) - Add bidirectional conversion with ControlFlow - Simplify LinkType and FuntyPart traits - Remove const trait implementations - Remove Step trait requirement - Remove Destruct marker usage - Fix Point IntoIterator to use concrete iterator type - Use std::iter::RepeatN instead of impl Trait - Update CI/CD pipeline to use stable Rust toolchain - Update rustfmt.toml to use stable-compatible options - Fix unused imports in converters.rs and hybrid.rs - Apply clippy suggestions (is_some_and, repeat_n) Fixes #8 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This reverts commit 443693b.
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
Now working session is ended, feel free to review and add any feedback on the solution draft. |
|
Get new tests from default branch, and resolve conflicts, they should guaruntee migration will be correctly done. |
|
🤖 AI Work Session Started Starting automated work session at 2025-12-27T20:21:41.189Z The PR has been converted to draft mode while work is in progress. This comment marks the beginning of an AI work session. Please wait working session to finish, and provide your feedback. |
- Merged test coverage infrastructure from main (90%+ coverage threshold) - Resolved merge conflicts in CI workflow and flow.rs tests - Enhanced Flow type with helper methods (is_continue, is_break) - Added bidirectional ControlFlow conversion for Flow - Fixed unused imports in converters.rs and hybrid.rs - All 74 tests pass, clippy clean, fmt check passes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
Now working session is ended, feel free to review and add any feedback on the solution draft. |
|
We must migrate to latest stable, please. That is the only purpose for this pull request. |
|
🤖 AI Work Session Started Starting automated work session at 2025-12-27T20:50:26.075Z The PR has been converted to draft mode while work is in progress. This comment marks the beginning of an AI work session. Please wait working session to finish, and provide your feedback. |
This PR migrates the crate from nightly Rust to stable Rust (1.79+), removing all unstable feature flags while maintaining full functionality. Changes: - Remove all nightly feature flags from lib.rs - Simplify LinkType and FuntyPart traits (remove const, Step bound) - Replace Try trait on Flow with into_control_flow() method - Add explicit PointIter type for Point's IntoIterator - Update CI/CD to use dtolnay/rust-toolchain@stable - Update README to reflect stable Rust requirement - Fix clippy warnings (is_some_and, unit struct default) All 80 tests pass on stable Rust. Fixes #8 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
Now working session is ended, feel free to review and add any feedback on the solution draft. |
Summary
This PR fully migrates the crate from nightly Rust (
nightly-2022-08-22) to the latest stable Rust toolchain (requires Rust 1.79+), as requested in issue #8.Changes Made
Source Code Migrations:
Removed all nightly feature flags from
lib.rs:try_trait_v2,associated_type_bounds,type_alias_impl_traitconst_refs_to_cell,const_result_drop,const_trait_impl,const_convert,const_derefstep_traitLinkTypeandFuntyParttraits (link_type.rs):#[const_trait]andconstfrom implsSteptrait boundDestructmarker and unsafeunreachable_uncheckedFuntyPart::funty()to useexpect()insteadFlowtype (flow.rs):TryandFromResidualtrait implementations (nightly-only)into_control_flow()method for use withtry_for_eachFrom<ControlFlow>andInto<ControlFlow>conversionsPointtype (point.rs):type IntoIter = impl Iteratorwith explicitPointIterstructPointIterfrom the crateInfrastructure Updates:
rust-toolchain.tomlto usestablechanneldtolnay/rust-toolchain@stableCode Quality:
is_some_and, unit struct default construction)Test Plan
cargo buildsucceeds on stablecargo testpasses (80 tests)cargo clippy --all-targets --all-features -- -D warningspassescargo fmt --checkpassesBreaking Changes
Flowno longer implementsTrytrait - useflow.into_control_flow()withtry_for_eachLinkTypeno longer requiresStepboundPoint::IntoIteris now an explicitPointItertypeFixes #8
🤖 Generated with Claude Code