-
Notifications
You must be signed in to change notification settings - Fork 137
Make SizeEq safe #2907
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
Make SizeEq safe #2907
Conversation
Summary of ChangesHello @joshlf, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly refactors the Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request refactors the SizeEq trait to be safe by introducing a new CastExact trait, which now carries the safety invariant. This is a positive change that improves the clarity and localization of unsafe code guarantees. The changes involve renaming macros, updating trait implementations, and adjusting documentation to reflect the new design. The UI test output files have also been updated to match the macro renames.
c524a36 to
f6f8283
Compare
798e16d to
f902320
Compare
5cf61fc to
5f72904
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2907 +/- ##
=======================================
Coverage 91.90% 91.90%
=======================================
Files 20 20
Lines 5879 5883 +4
=======================================
+ Hits 5403 5407 +4
Misses 476 476 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
5f72904 to
b1dd103
Compare
450f99d to
bb8ec06
Compare
b1dd103 to
f606ad5
Compare
bd011be to
cb90955
Compare
f606ad5 to
a4ef307
Compare
a4ef307 to
591b556
Compare
6b22f50 to
22b998f
Compare
591b556 to
62ea699
Compare
b65b2c0 to
d3d7fbd
Compare
62ea699 to
522141c
Compare
d3d7fbd to
eb8f348
Compare
522141c to
f0a5b8c
Compare
Make `SizeEq` safe by moving its safety invariant to a new `CastExact` trait which now bounds the associated `SizeEq::CastFrom` type. This permits us to write safety proofs in fewer places, since there are certain `CastFrom` impls which we can re-use for many `SizeEq` impls. Makes progress on #2701, #1940, #1852 gherrit-pr-id: Gda7c06c9a8e54f5afd6aa5a093406a7b71259fd3
f0a5b8c to
4cb7174
Compare
Make
SizeEqsafe by moving its safety invariant to a newCastExacttrait which now bounds the associated
SizeEq::CastFromtype. Thispermits us to write safety proofs in fewer places, since there are
certain
CastFromimpls which we can re-use for manySizeEqimpls.Makes progress on #2701, #1940, #1852
Latest Update: v18 — Compare vs v17
📚 Full Patch History
Links show the diff between the row version and the column version.