Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Fix/kld closure parentheses #914

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

@jesper-olsen
Copy link
Contributor

@jesper-olsen jesper-olsen commented Sep 26, 2025

Fix warning - Unnecessary parentheses around closure body

Description

This PR addresses a style warning (unnecessary parentheses around closure body) found by the linter/compiler in the kld_loss function.

The change removes the redundant outer parentheses from the closure body in src/machine_learning/loss_function/kl_divergence_loss.rs, resolving the warning and adhering to Rust's idiomatic style.

Type of change

Please delete options that are not relevant.

  • [x ] Bug fix (non-breaking change which fixes an issue)

Checklist:

  • I ran bellow commands using the latest version of rust nightly.
  • I ran cargo clippy --all -- -D warnings just before my last commit and fixed any issue that was found.
  • I ran cargo fmt just before my last commit.
  • I ran cargo test just before my last commit and all tests passed.
  • I checked COUNTRIBUTING.md and my code follows its guidelines.

Please make sure that if there is a test that takes too long to run ( > 300ms), you #[ignore] that or
try to optimize your code or make the test easier to run. We have this rule because we have hundreds of
tests to run; If each one of them took 300ms, we would have to wait for a long time.

- Change HuffmanDictionary::new() to return Option<Self> for safer API
- Add proper handling for empty alphabet (returns None)
- Add special case handling for single-symbol alphabets
- Replace unwrap() calls with ? operator in decode() for better error handling
- Add #[inline(always)] optimization for frequently called get_bit()
- Add comprehensive tests for edge cases
- Improve documentation with usage examples
BREAKING CHANGE: HuffmanDictionary::new() now returns Option<Self>
Adds two new test cases to ensure 100% patch coverage for HuffmanEncoding::decode:
1. test_decode_empty_encoding_struct: Covers the edge case where num_bits == 0.
2. minimal_decode_end_check: Ensures the final 'if self.num_bits > 0' check in the multi-symbol decode path is fully covered.
Corrects 'char-lit-as-u8' and 'unnecessary-cast' lints in the newly added coverage tests to satisfy GitHub Actions.
Copy link

Codecov Report

❌ Patch coverage is 98.96907% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 95.33%. Comparing base (f2a23e9) to head (cb6fe85).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
src/general/huffman_encoding.rs 98.95% 1 Missing ⚠️
Additional details and impacted files
@@ Coverage Diff @@
## master #914 +/- ##
==========================================
+ Coverage 95.32% 95.33% +0.01% 
==========================================
 Files 319 319 
 Lines 20807 20890 +83 
==========================================
+ Hits 19834 19916 +82 
- Misses 973 974 +1 

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link

This pull request has been automatically marked as abandoned because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Copy link

github-actions bot commented Nov 4, 2025

Please ping one of the maintainers once you commit the changes requested or make improvements on the code. If this is not the case and you need some help, feel free to ask for help in our Gitter channel. Thank you for your contributions!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@imp2002 imp2002 Awaiting requested review from imp2002 imp2002 is a code owner

Assignees

No one assigned

Labels

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /