Skip to content

Update 1.3.0#137

Merged
HyperCodec merged 16 commits intomainfrom
dev
Mar 2, 2026
Merged

Update 1.3.0#137
HyperCodec merged 16 commits intomainfrom
dev

Conversation

@HyperCodec
Copy link
Owner

@HyperCodec HyperCodec commented Mar 2, 2026

small changes, namely fixing doc feature badges on docs.rs, passing &mut self to a lot of the traits for objects owned by GeneticSim, and adding a QoL observer layering API.

Copilot AI and others added 8 commits March 2, 2026 12:56
Co-authored-by: HyperCodec <72839119+HyperCodec@users.noreply.github.com>
Co-authored-by: HyperCodec <72839119+HyperCodec@users.noreply.github.com>
…rver impl

Co-authored-by: HyperCodec <72839119+HyperCodec@users.noreply.github.com>
…implementation

Add observer layering API via `LayeredObserver` and `FitnessObserver::layer`
Co-authored-by: HyperCodec <72839119+HyperCodec@users.noreply.github.com>
…on-docs-rs

Fix feature docs not showing up on docs.rs
@HyperCodec
Copy link
Owner Author

need to test the docs part before I actually release.

Copilot AI and others added 4 commits March 2, 2026 14:56
Co-authored-by: HyperCodec <72839119+HyperCodec@users.noreply.github.com>
Co-authored-by: HyperCodec <72839119+HyperCodec@users.noreply.github.com>
…-mutable-reference

Allow `FitnessObserver::observe` and `Repopulator::repopulate` to take `&mut self`
@HyperCodec HyperCodec marked this pull request as ready for review March 2, 2026 18:33
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the genetic-rs workspace from version 1.2.2 to 1.3.0. It fixes docs.rs feature badge rendering, changes trait method receivers from &self to &mut self for Eliminator, Repopulator, and FitnessObserver, and adds a LayeredObserver QoL API for composing multiple FitnessObserver implementations.

Changes:

  • &self&mut self for Eliminator::eliminate, Repopulator::repopulate, and FitnessObserver::observe traits and all built-in implementations.
  • New LayeredObserver type and FitnessObserver::layer combinator method for sequentially chaining observers, with integration tests.
  • docs.rs configuration fixes: switched from per-feature features = [...] to all-features = true, added docsrs cfg support in all three crates, and removed all #[cfg_attr(docsrs, doc(cfg(...)))] annotations.

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
Cargo.toml Version bump to 1.3.0 workspace-wide
Cargo.lock Updated lock file reflecting version bump
genetic-rs/src/lib.rs Added #![cfg_attr(docsrs, feature(doc_cfg))]
genetic-rs/Cargo.toml Added [package.metadata.docs.rs] config and updated docsrs in unexpected_cfgs
genetic-rs-macros/Cargo.toml Added [package.metadata.docs.rs], [lints.rust], updated dependency version
genetic-rs-common/Cargo.toml Changed to all-features = true for docs.rs, added [lints.rust]
genetic-rs-common/src/lib.rs Changed Eliminator and Repopulator trait methods to &mut self; removed feature-gated cfg_attr(docsrs, ...) annotations
genetic-rs-common/src/builtin/eliminator.rs Changed FitnessObserver::observe to &mut self; added LayeredObserver struct and layer combinator; updated all eliminate impls; removed doc(cfg(...)) annotations
genetic-rs-common/src/builtin/repopulator.rs Updated all repopulate impls to &mut self; removed doc(cfg(...)) annotations
genetic-rs/tests/eliminator.rs New integration tests for LayeredObserver composability

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@HyperCodec HyperCodec merged commit 2efb831 into main Mar 2, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants