build(core): add #![warn(clippy::cast_lossless)] - #6849
Conversation
WalkthroughThe Rust crate now enforces Estimated code review effort: 3 (Moderate) | ~30 minutes Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
| model | device_test | click_test | persistence_test |
|---|---|---|---|
| T2T1 | test(all) main(all) ![]() |
test(all) main(all) ![]() |
test(all) main(all) ![]() |
| T3B1 | test(all) main(all) ![]() |
test(all) main(all) ![]() |
test(all) main(all) ![]() |
| T3T1 | test(all) main(all) ![]() |
test(all) main(all) ![]() |
test(all) main(all) ![]() |
| T3W1 | test(all) main(all) ![]() |
test(all) main(all) ![]() |
test(all) main(all) ![]() |
Latest CI run: 29397302285
|
Pushed the result of |
72efc4e to
099e4ed
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@core/embed/rust/src/ui/layout_bolt/component/number_input_slider.rs`:
- Line 117: Update NumberInputSlider::new to reject configurations where min is
greater than or equal to max, preventing zero-range division in slider_eval and
render. Preserve normal initialization for valid ranges and use the
constructor’s existing error or validation mechanism if available.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: a23e985e-be59-4122-963e-9dbf2f896561
📒 Files selected for processing (82)
core/embed/rust/src/crypto/crc32.rscore/embed/rust/src/io.rscore/embed/rust/src/lib.rscore/embed/rust/src/micropython/buffer.rscore/embed/rust/src/micropython/obj.rscore/embed/rust/src/protobuf/encode.rscore/embed/rust/src/smp/base64.rscore/embed/rust/src/smp/crc16.rscore/embed/rust/src/smp/mod.rscore/embed/rust/src/strutil.rscore/embed/rust/src/trezorhal/ble/mod.rscore/embed/rust/src/trezorhal/ffi.rscore/embed/rust/src/trezorhal/uzlib.rscore/embed/rust/src/ui/component/qr_code.rscore/embed/rust/src/ui/component/swipe.rscore/embed/rust/src/ui/component/swipe_detect.rscore/embed/rust/src/ui/component/timeout.rscore/embed/rust/src/ui/display/color.rscore/embed/rust/src/ui/display/font.rscore/embed/rust/src/ui/display/image.rscore/embed/rust/src/ui/layout_bolt/bootloader/menu.rscore/embed/rust/src/ui/layout_bolt/bootloader/mod.rscore/embed/rust/src/ui/layout_bolt/component/address_details.rscore/embed/rust/src/ui/layout_bolt/component/button.rscore/embed/rust/src/ui/layout_bolt/component/coinjoin_progress.rscore/embed/rust/src/ui/layout_bolt/component/confirm_pairing.rscore/embed/rust/src/ui/layout_bolt/component/keyboard/passphrase.rscore/embed/rust/src/ui/layout_bolt/component/keyboard/pin.rscore/embed/rust/src/ui/layout_bolt/component/loader.rscore/embed/rust/src/ui/layout_bolt/component/number_input.rscore/embed/rust/src/ui/layout_bolt/component/number_input_slider.rscore/embed/rust/src/ui/layout_bolt/component/page.rscore/embed/rust/src/ui/layout_bolt/component/progress.rscore/embed/rust/src/ui/layout_bolt/component/simple_page.rscore/embed/rust/src/ui/layout_bolt/component/swipe.rscore/embed/rust/src/ui/layout_bolt/prodtest/welcome.rscore/embed/rust/src/ui/layout_caesar/component/button.rscore/embed/rust/src/ui/layout_caesar/component/flow_pages.rscore/embed/rust/src/ui/layout_caesar/component/loader.rscore/embed/rust/src/ui/layout_caesar/component/page.rscore/embed/rust/src/ui/layout_caesar/component/scrollbar.rscore/embed/rust/src/ui/layout_caesar/cshape/dotted_line.rscore/embed/rust/src/ui/layout_delizia/bootloader/mod.rscore/embed/rust/src/ui/layout_delizia/component/address_details.rscore/embed/rust/src/ui/layout_delizia/component/coinjoin_progress.rscore/embed/rust/src/ui/layout_delizia/component/footer.rscore/embed/rust/src/ui/layout_delizia/component/frame.rscore/embed/rust/src/ui/layout_delizia/component/homescreen.rscore/embed/rust/src/ui/layout_delizia/component/keyboard/passphrase.rscore/embed/rust/src/ui/layout_delizia/component/keyboard/pin.rscore/embed/rust/src/ui/layout_delizia/component/loader.rscore/embed/rust/src/ui/layout_delizia/component/number_input.rscore/embed/rust/src/ui/layout_delizia/component/number_input_slider.rscore/embed/rust/src/ui/layout_delizia/component/progress.rscore/embed/rust/src/ui/layout_delizia/component/share_words.rscore/embed/rust/src/ui/layout_delizia/component/swipe_content.rscore/embed/rust/src/ui/layout_delizia/component/vertical_menu.rscore/embed/rust/src/ui/layout_delizia/flow/request_number.rscore/embed/rust/src/ui/layout_eckhart/component/button.rscore/embed/rust/src/ui/layout_eckhart/component/fuel_gauge.rscore/embed/rust/src/ui/layout_eckhart/cshape/loader.rscore/embed/rust/src/ui/layout_eckhart/firmware/brightness_screen.rscore/embed/rust/src/ui/layout_eckhart/firmware/hold_to_confirm.rscore/embed/rust/src/ui/layout_eckhart/firmware/keyboard/passphrase.rscore/embed/rust/src/ui/layout_eckhart/firmware/keyboard/pin.rscore/embed/rust/src/ui/layout_eckhart/firmware/keyboard/slip39.rscore/embed/rust/src/ui/layout_eckhart/firmware/regulatory_screen.rscore/embed/rust/src/ui/layout_eckhart/firmware/text_screen.rscore/embed/rust/src/ui/layout_eckhart/firmware/tutorial_screen.rscore/embed/rust/src/ui/layout_eckhart/firmware/value_input_screen.rscore/embed/rust/src/ui/layout_eckhart/firmware/vertical_menu_screen.rscore/embed/rust/src/ui/layout_eckhart/flow/request_number.rscore/embed/rust/src/ui/layout_eckhart/prodtest/welcome.rscore/embed/rust/src/ui/layout_eckhart/theme/gradient.rscore/embed/rust/src/ui/lerp.rscore/embed/rust/src/ui/shape/canvas/common.rscore/embed/rust/src/ui/shape/canvas/mono8.rscore/embed/rust/src/ui/shape/canvas/rgba8888.rscore/embed/rust/src/ui/shape/qrcode.rscore/embed/rust/src/ui/shape/utils/blur.rscore/embed/rust/src/ui/shape/utils/circle.rscore/embed/rust/src/ui/shape/utils/line.rs
|
Squashing fixups. |
099e4ed to
fb56758
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@core/embed/rust/src/ui/layout_eckhart/theme/gradient.rs`:
- Around line 190-191: Update all three half-width calculations in the gradient
layout code to convert area.width() to f32 before dividing by 2. Apply this to
the calculations near x_half_width and the corresponding half-width expressions
around the other referenced sections, preserving fractional values and avoiding
a zero denominator for width 1.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: b9e6ec16-bf9a-46e1-b321-9bce61243d52
📒 Files selected for processing (82)
core/embed/rust/src/crypto/crc32.rscore/embed/rust/src/io.rscore/embed/rust/src/lib.rscore/embed/rust/src/micropython/buffer.rscore/embed/rust/src/micropython/obj.rscore/embed/rust/src/protobuf/encode.rscore/embed/rust/src/smp/base64.rscore/embed/rust/src/smp/crc16.rscore/embed/rust/src/smp/mod.rscore/embed/rust/src/strutil.rscore/embed/rust/src/trezorhal/ble/mod.rscore/embed/rust/src/trezorhal/ffi.rscore/embed/rust/src/trezorhal/uzlib.rscore/embed/rust/src/ui/component/qr_code.rscore/embed/rust/src/ui/component/swipe.rscore/embed/rust/src/ui/component/swipe_detect.rscore/embed/rust/src/ui/component/timeout.rscore/embed/rust/src/ui/display/color.rscore/embed/rust/src/ui/display/font.rscore/embed/rust/src/ui/display/image.rscore/embed/rust/src/ui/layout_bolt/bootloader/menu.rscore/embed/rust/src/ui/layout_bolt/bootloader/mod.rscore/embed/rust/src/ui/layout_bolt/component/address_details.rscore/embed/rust/src/ui/layout_bolt/component/button.rscore/embed/rust/src/ui/layout_bolt/component/coinjoin_progress.rscore/embed/rust/src/ui/layout_bolt/component/confirm_pairing.rscore/embed/rust/src/ui/layout_bolt/component/keyboard/passphrase.rscore/embed/rust/src/ui/layout_bolt/component/keyboard/pin.rscore/embed/rust/src/ui/layout_bolt/component/loader.rscore/embed/rust/src/ui/layout_bolt/component/number_input.rscore/embed/rust/src/ui/layout_bolt/component/number_input_slider.rscore/embed/rust/src/ui/layout_bolt/component/page.rscore/embed/rust/src/ui/layout_bolt/component/progress.rscore/embed/rust/src/ui/layout_bolt/component/simple_page.rscore/embed/rust/src/ui/layout_bolt/component/swipe.rscore/embed/rust/src/ui/layout_bolt/prodtest/welcome.rscore/embed/rust/src/ui/layout_caesar/component/button.rscore/embed/rust/src/ui/layout_caesar/component/flow_pages.rscore/embed/rust/src/ui/layout_caesar/component/loader.rscore/embed/rust/src/ui/layout_caesar/component/page.rscore/embed/rust/src/ui/layout_caesar/component/scrollbar.rscore/embed/rust/src/ui/layout_caesar/cshape/dotted_line.rscore/embed/rust/src/ui/layout_delizia/bootloader/mod.rscore/embed/rust/src/ui/layout_delizia/component/address_details.rscore/embed/rust/src/ui/layout_delizia/component/coinjoin_progress.rscore/embed/rust/src/ui/layout_delizia/component/footer.rscore/embed/rust/src/ui/layout_delizia/component/frame.rscore/embed/rust/src/ui/layout_delizia/component/homescreen.rscore/embed/rust/src/ui/layout_delizia/component/keyboard/passphrase.rscore/embed/rust/src/ui/layout_delizia/component/keyboard/pin.rscore/embed/rust/src/ui/layout_delizia/component/loader.rscore/embed/rust/src/ui/layout_delizia/component/number_input.rscore/embed/rust/src/ui/layout_delizia/component/number_input_slider.rscore/embed/rust/src/ui/layout_delizia/component/progress.rscore/embed/rust/src/ui/layout_delizia/component/share_words.rscore/embed/rust/src/ui/layout_delizia/component/swipe_content.rscore/embed/rust/src/ui/layout_delizia/component/vertical_menu.rscore/embed/rust/src/ui/layout_delizia/flow/request_number.rscore/embed/rust/src/ui/layout_eckhart/component/button.rscore/embed/rust/src/ui/layout_eckhart/component/fuel_gauge.rscore/embed/rust/src/ui/layout_eckhart/cshape/loader.rscore/embed/rust/src/ui/layout_eckhart/firmware/brightness_screen.rscore/embed/rust/src/ui/layout_eckhart/firmware/hold_to_confirm.rscore/embed/rust/src/ui/layout_eckhart/firmware/keyboard/passphrase.rscore/embed/rust/src/ui/layout_eckhart/firmware/keyboard/pin.rscore/embed/rust/src/ui/layout_eckhart/firmware/keyboard/slip39.rscore/embed/rust/src/ui/layout_eckhart/firmware/regulatory_screen.rscore/embed/rust/src/ui/layout_eckhart/firmware/text_screen.rscore/embed/rust/src/ui/layout_eckhart/firmware/tutorial_screen.rscore/embed/rust/src/ui/layout_eckhart/firmware/value_input_screen.rscore/embed/rust/src/ui/layout_eckhart/firmware/vertical_menu_screen.rscore/embed/rust/src/ui/layout_eckhart/flow/request_number.rscore/embed/rust/src/ui/layout_eckhart/prodtest/welcome.rscore/embed/rust/src/ui/layout_eckhart/theme/gradient.rscore/embed/rust/src/ui/lerp.rscore/embed/rust/src/ui/shape/canvas/common.rscore/embed/rust/src/ui/shape/canvas/mono8.rscore/embed/rust/src/ui/shape/canvas/rgba8888.rscore/embed/rust/src/ui/shape/qrcode.rscore/embed/rust/src/ui/shape/utils/blur.rscore/embed/rust/src/ui/shape/utils/circle.rscore/embed/rust/src/ui/shape/utils/line.rs
🚧 Files skipped from review as they are similar to previous changes (73)
- core/embed/rust/src/ui/layout_eckhart/prodtest/welcome.rs
- core/embed/rust/src/smp/crc16.rs
- core/embed/rust/src/ui/layout_bolt/component/confirm_pairing.rs
- core/embed/rust/src/ui/shape/qrcode.rs
- core/embed/rust/src/ui/layout_delizia/component/vertical_menu.rs
- core/embed/rust/src/ui/layout_eckhart/component/fuel_gauge.rs
- core/embed/rust/src/ui/layout_delizia/component/address_details.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/regulatory_screen.rs
- core/embed/rust/src/ui/layout_bolt/component/number_input.rs
- core/embed/rust/src/trezorhal/ffi.rs
- core/embed/rust/src/ui/display/image.rs
- core/embed/rust/src/ui/layout_delizia/component/frame.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/tutorial_screen.rs
- core/embed/rust/src/ui/display/font.rs
- core/embed/rust/src/ui/shape/utils/line.rs
- core/embed/rust/src/ui/layout_delizia/component/number_input_slider.rs
- core/embed/rust/src/ui/layout_caesar/component/flow_pages.rs
- core/embed/rust/src/ui/component/timeout.rs
- core/embed/rust/src/ui/layout_delizia/component/footer.rs
- core/embed/rust/src/ui/layout_delizia/component/loader.rs
- core/embed/rust/src/strutil.rs
- core/embed/rust/src/ui/layout_eckhart/flow/request_number.rs
- core/embed/rust/src/ui/layout_bolt/bootloader/menu.rs
- core/embed/rust/src/trezorhal/uzlib.rs
- core/embed/rust/src/ui/layout_bolt/bootloader/mod.rs
- core/embed/rust/src/ui/layout_bolt/component/keyboard/pin.rs
- core/embed/rust/src/ui/layout_bolt/component/simple_page.rs
- core/embed/rust/src/ui/layout_delizia/component/progress.rs
- core/embed/rust/src/ui/layout_eckhart/component/button.rs
- core/embed/rust/src/ui/layout_caesar/cshape/dotted_line.rs
- core/embed/rust/src/protobuf/encode.rs
- core/embed/rust/src/ui/layout_bolt/component/page.rs
- core/embed/rust/src/ui/layout_delizia/component/keyboard/passphrase.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/keyboard/slip39.rs
- core/embed/rust/src/ui/layout_eckhart/cshape/loader.rs
- core/embed/rust/src/ui/layout_bolt/component/keyboard/passphrase.rs
- core/embed/rust/src/lib.rs
- core/embed/rust/src/ui/layout_bolt/component/number_input_slider.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/hold_to_confirm.rs
- core/embed/rust/src/ui/layout_caesar/component/page.rs
- core/embed/rust/src/ui/layout_delizia/component/share_words.rs
- core/embed/rust/src/ui/layout_bolt/prodtest/welcome.rs
- core/embed/rust/src/trezorhal/ble/mod.rs
- core/embed/rust/src/ui/component/swipe.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/keyboard/pin.rs
- core/embed/rust/src/smp/mod.rs
- core/embed/rust/src/ui/display/color.rs
- core/embed/rust/src/micropython/buffer.rs
- core/embed/rust/src/io.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/value_input_screen.rs
- core/embed/rust/src/ui/layout_delizia/flow/request_number.rs
- core/embed/rust/src/ui/shape/canvas/rgba8888.rs
- core/embed/rust/src/ui/shape/canvas/mono8.rs
- core/embed/rust/src/ui/layout_bolt/component/coinjoin_progress.rs
- core/embed/rust/src/micropython/obj.rs
- core/embed/rust/src/smp/base64.rs
- core/embed/rust/src/ui/layout_delizia/bootloader/mod.rs
- core/embed/rust/src/ui/layout_bolt/component/progress.rs
- core/embed/rust/src/ui/layout_delizia/component/keyboard/pin.rs
- core/embed/rust/src/ui/layout_caesar/component/loader.rs
- core/embed/rust/src/ui/layout_delizia/component/swipe_content.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/text_screen.rs
- core/embed/rust/src/ui/layout_bolt/component/address_details.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/vertical_menu_screen.rs
- core/embed/rust/src/ui/layout_caesar/component/scrollbar.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/brightness_screen.rs
- core/embed/rust/src/ui/component/qr_code.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/keyboard/passphrase.rs
- core/embed/rust/src/ui/shape/utils/circle.rs
- core/embed/rust/src/ui/layout_delizia/component/number_input.rs
- core/embed/rust/src/ui/shape/utils/blur.rs
- core/embed/rust/src/ui/lerp.rs
- core/embed/rust/src/ui/layout_bolt/component/swipe.rs
Since `f32::from()` doesn't support u32/i32. [no changelog]
Add an exception for `trezorhal.rs` auto-generated code. [no changelog]
fb56758 to
c3cc22a
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@core/embed/rust/src/ui/shape/canvas/rgba8888.rs`:
- Around line 118-123: Update the blend arithmetic in the RGBA compositing code
so channel values and alpha multipliers are converted to u32 before
multiplication and addition. Apply this to the r, g, and b calculations while
preserving the existing division by 255 and output behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 16ca625d-a46e-495c-9f38-ae0c36892559
📒 Files selected for processing (82)
core/embed/rust/src/crypto/crc32.rscore/embed/rust/src/io.rscore/embed/rust/src/lib.rscore/embed/rust/src/micropython/buffer.rscore/embed/rust/src/micropython/obj.rscore/embed/rust/src/protobuf/encode.rscore/embed/rust/src/smp/base64.rscore/embed/rust/src/smp/crc16.rscore/embed/rust/src/smp/mod.rscore/embed/rust/src/strutil.rscore/embed/rust/src/trezorhal/ble/mod.rscore/embed/rust/src/trezorhal/ffi.rscore/embed/rust/src/trezorhal/uzlib.rscore/embed/rust/src/ui/component/qr_code.rscore/embed/rust/src/ui/component/swipe.rscore/embed/rust/src/ui/component/swipe_detect.rscore/embed/rust/src/ui/component/timeout.rscore/embed/rust/src/ui/display/color.rscore/embed/rust/src/ui/display/font.rscore/embed/rust/src/ui/display/image.rscore/embed/rust/src/ui/layout_bolt/bootloader/menu.rscore/embed/rust/src/ui/layout_bolt/bootloader/mod.rscore/embed/rust/src/ui/layout_bolt/component/address_details.rscore/embed/rust/src/ui/layout_bolt/component/button.rscore/embed/rust/src/ui/layout_bolt/component/coinjoin_progress.rscore/embed/rust/src/ui/layout_bolt/component/confirm_pairing.rscore/embed/rust/src/ui/layout_bolt/component/keyboard/passphrase.rscore/embed/rust/src/ui/layout_bolt/component/keyboard/pin.rscore/embed/rust/src/ui/layout_bolt/component/loader.rscore/embed/rust/src/ui/layout_bolt/component/number_input.rscore/embed/rust/src/ui/layout_bolt/component/number_input_slider.rscore/embed/rust/src/ui/layout_bolt/component/page.rscore/embed/rust/src/ui/layout_bolt/component/progress.rscore/embed/rust/src/ui/layout_bolt/component/simple_page.rscore/embed/rust/src/ui/layout_bolt/component/swipe.rscore/embed/rust/src/ui/layout_bolt/prodtest/welcome.rscore/embed/rust/src/ui/layout_caesar/component/button.rscore/embed/rust/src/ui/layout_caesar/component/flow_pages.rscore/embed/rust/src/ui/layout_caesar/component/loader.rscore/embed/rust/src/ui/layout_caesar/component/page.rscore/embed/rust/src/ui/layout_caesar/component/scrollbar.rscore/embed/rust/src/ui/layout_caesar/cshape/dotted_line.rscore/embed/rust/src/ui/layout_delizia/bootloader/mod.rscore/embed/rust/src/ui/layout_delizia/component/address_details.rscore/embed/rust/src/ui/layout_delizia/component/coinjoin_progress.rscore/embed/rust/src/ui/layout_delizia/component/footer.rscore/embed/rust/src/ui/layout_delizia/component/frame.rscore/embed/rust/src/ui/layout_delizia/component/homescreen.rscore/embed/rust/src/ui/layout_delizia/component/keyboard/passphrase.rscore/embed/rust/src/ui/layout_delizia/component/keyboard/pin.rscore/embed/rust/src/ui/layout_delizia/component/loader.rscore/embed/rust/src/ui/layout_delizia/component/number_input.rscore/embed/rust/src/ui/layout_delizia/component/number_input_slider.rscore/embed/rust/src/ui/layout_delizia/component/progress.rscore/embed/rust/src/ui/layout_delizia/component/share_words.rscore/embed/rust/src/ui/layout_delizia/component/swipe_content.rscore/embed/rust/src/ui/layout_delizia/component/vertical_menu.rscore/embed/rust/src/ui/layout_delizia/flow/request_number.rscore/embed/rust/src/ui/layout_eckhart/component/button.rscore/embed/rust/src/ui/layout_eckhart/component/fuel_gauge.rscore/embed/rust/src/ui/layout_eckhart/cshape/loader.rscore/embed/rust/src/ui/layout_eckhart/firmware/brightness_screen.rscore/embed/rust/src/ui/layout_eckhart/firmware/hold_to_confirm.rscore/embed/rust/src/ui/layout_eckhart/firmware/keyboard/passphrase.rscore/embed/rust/src/ui/layout_eckhart/firmware/keyboard/pin.rscore/embed/rust/src/ui/layout_eckhart/firmware/keyboard/slip39.rscore/embed/rust/src/ui/layout_eckhart/firmware/regulatory_screen.rscore/embed/rust/src/ui/layout_eckhart/firmware/text_screen.rscore/embed/rust/src/ui/layout_eckhart/firmware/tutorial_screen.rscore/embed/rust/src/ui/layout_eckhart/firmware/value_input_screen.rscore/embed/rust/src/ui/layout_eckhart/firmware/vertical_menu_screen.rscore/embed/rust/src/ui/layout_eckhart/flow/request_number.rscore/embed/rust/src/ui/layout_eckhart/prodtest/welcome.rscore/embed/rust/src/ui/layout_eckhart/theme/gradient.rscore/embed/rust/src/ui/lerp.rscore/embed/rust/src/ui/shape/canvas/common.rscore/embed/rust/src/ui/shape/canvas/mono8.rscore/embed/rust/src/ui/shape/canvas/rgba8888.rscore/embed/rust/src/ui/shape/qrcode.rscore/embed/rust/src/ui/shape/utils/blur.rscore/embed/rust/src/ui/shape/utils/circle.rscore/embed/rust/src/ui/shape/utils/line.rs
🚧 Files skipped from review as they are similar to previous changes (67)
- core/embed/rust/src/ui/layout_eckhart/firmware/keyboard/slip39.rs
- core/embed/rust/src/ui/layout_delizia/component/loader.rs
- core/embed/rust/src/trezorhal/ffi.rs
- core/embed/rust/src/ui/layout_delizia/component/number_input.rs
- core/embed/rust/src/lib.rs
- core/embed/rust/src/ui/shape/qrcode.rs
- core/embed/rust/src/ui/layout_delizia/component/address_details.rs
- core/embed/rust/src/ui/layout_bolt/component/simple_page.rs
- core/embed/rust/src/ui/layout_bolt/component/keyboard/passphrase.rs
- core/embed/rust/src/ui/layout_delizia/component/number_input_slider.rs
- core/embed/rust/src/ui/layout_eckhart/component/fuel_gauge.rs
- core/embed/rust/src/ui/component/qr_code.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/regulatory_screen.rs
- core/embed/rust/src/micropython/buffer.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/keyboard/pin.rs
- core/embed/rust/src/strutil.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/value_input_screen.rs
- core/embed/rust/src/ui/shape/utils/line.rs
- core/embed/rust/src/ui/layout_bolt/bootloader/menu.rs
- core/embed/rust/src/ui/display/image.rs
- core/embed/rust/src/protobuf/encode.rs
- core/embed/rust/src/ui/layout_delizia/component/keyboard/passphrase.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/vertical_menu_screen.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/tutorial_screen.rs
- core/embed/rust/src/trezorhal/uzlib.rs
- core/embed/rust/src/ui/layout_eckhart/prodtest/welcome.rs
- core/embed/rust/src/ui/layout_delizia/component/keyboard/pin.rs
- core/embed/rust/src/ui/layout_eckhart/component/button.rs
- core/embed/rust/src/ui/layout_bolt/component/number_input.rs
- core/embed/rust/src/ui/layout_caesar/component/page.rs
- core/embed/rust/src/ui/layout_bolt/component/keyboard/pin.rs
- core/embed/rust/src/ui/shape/canvas/mono8.rs
- core/embed/rust/src/ui/layout_delizia/component/vertical_menu.rs
- core/embed/rust/src/ui/component/timeout.rs
- core/embed/rust/src/io.rs
- core/embed/rust/src/micropython/obj.rs
- core/embed/rust/src/smp/crc16.rs
- core/embed/rust/src/ui/display/color.rs
- core/embed/rust/src/ui/layout_caesar/component/flow_pages.rs
- core/embed/rust/src/ui/layout_delizia/component/homescreen.rs
- core/embed/rust/src/ui/layout_delizia/component/share_words.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/keyboard/passphrase.rs
- core/embed/rust/src/ui/layout_bolt/component/button.rs
- core/embed/rust/src/ui/layout_delizia/bootloader/mod.rs
- core/embed/rust/src/ui/layout_eckhart/theme/gradient.rs
- core/embed/rust/src/smp/base64.rs
- core/embed/rust/src/trezorhal/ble/mod.rs
- core/embed/rust/src/ui/layout_delizia/component/frame.rs
- core/embed/rust/src/ui/shape/canvas/common.rs
- core/embed/rust/src/ui/lerp.rs
- core/embed/rust/src/ui/layout_bolt/component/confirm_pairing.rs
- core/embed/rust/src/ui/layout_delizia/flow/request_number.rs
- core/embed/rust/src/ui/layout_bolt/component/loader.rs
- core/embed/rust/src/ui/display/font.rs
- core/embed/rust/src/ui/layout_bolt/component/page.rs
- core/embed/rust/src/crypto/crc32.rs
- core/embed/rust/src/ui/component/swipe.rs
- core/embed/rust/src/ui/layout_caesar/component/loader.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/brightness_screen.rs
- core/embed/rust/src/ui/layout_delizia/component/swipe_content.rs
- core/embed/rust/src/ui/layout_eckhart/firmware/text_screen.rs
- core/embed/rust/src/ui/shape/utils/blur.rs
- core/embed/rust/src/ui/layout_delizia/component/progress.rs
- core/embed/rust/src/ui/component/swipe_detect.rs
- core/embed/rust/src/ui/layout_eckhart/cshape/loader.rs
- core/embed/rust/src/smp/mod.rs
- core/embed/rust/src/ui/layout_bolt/component/number_input_slider.rs
|
It seems that we weren't using lerp for 32-bit integers >1 year ago (tested on |
|
Side note: I was wondering if there are named lossy conversions for
In the future, if we need Lerp for u32/i32 for some reason, separate impls using |




































https://github.com/trezor/trezor-firmware/actions/runs/25099514846/job/73545397242?pr=6849#step:6:3675