Upgrade the Rust toolchain to 1.99.1 (#61205)

## What changed

- Update the workspace, Bazel toolchain and lockfile, CI and release workflows, and Windows setup script from Rust `1.95.0` to `1.99.1`.
- Adapt Rust code to the updated toolchain and Clippy lints, including `try_update` for atomics, `as_chunks` for fixed-size slices, and targeted allowances for generated tonic services.
- Refresh the halfwidth sound mark rendering snapshot to use literal characters in debug output.

GitOrigin-RevId: 5852029f687436dc814c2bca68141ee1f4a67d49
This commit is contained in:
ioanbudea-OAI
2026-11-12 23:51:52 +00:00
committed by copyberry
parent 1f175fa3c4
commit caf0d30005
45 changed files with 193 additions and 196 deletions
@@ -2825,7 +2825,8 @@ async fn older_external_server_starts_without_unsupported_dynamic_tools_or_histo
let starts = recorded_params(&requests, "thread/start");
assert_eq!(starts.len(), 6);
for attempts in starts.chunks_exact(3) {
const ATTEMPTS_PER_START: usize = 3;
for attempts in starts.as_chunks::<ATTEMPTS_PER_START>().0 {
assert_eq!(attempts[0]["dynamicTools"][0]["type"], "namespace");
assert_eq!(attempts[0]["historyMode"], "paginated");
assert_eq!(attempts[1]["dynamicTools"], serde_json::Value::Null);
@@ -52,7 +52,7 @@ impl AsyncQuestions {
let mut spacer_after_input = 0;
let progress_height;
let footer_lines;
let notes_height;
let mut notes_height = 0;
if has_options {
let min_options_height = remaining.min(1);
@@ -71,7 +71,6 @@ impl AsyncQuestions {
spacer_after_question = u16::from(remaining > 0);
remaining -= spacer_after_question;
options_height += remaining.min(full_options_height.saturating_sub(options_height));
notes_height = 0;
} else {
// Freeform answers take their preferred input height before hints and progress.
let preferred_notes = self
@@ -1119,7 +1119,7 @@ impl ListSelectionView {
None
}
.or_else(|| self.footer_note.clone());
let mut lines = note.map(&wrap).unwrap_or_default();
let mut lines = note.map(wrap).unwrap_or_default();
if self.reserve_result_rows && show_selected_description {
let height = self
.items
@@ -22,12 +22,12 @@ Buffer {
[
Line::from_iter([
Span::from("ab").bold(),
Span::from("カ\u{ff9e}").cyan(),
Span::from("ガ").cyan(),
Span::from("…").cyan(),
]),
Line::from_iter([
Span::from("xy").bold(),
Span::from("ハ\u{ff9f}").magenta(),
Span::from("パ").magenta(),
Span::from("…").magenta(),
]),
]
+4 -2
View File
@@ -149,8 +149,10 @@ fn render_navigation_hints(area: Rect, buf: &mut Buffer, keymap: &PagerKeymap) {
("jump_top", &keymap.jump_top),
("jump_bottom", &keymap.jump_bottom),
];
let hints = actions
.chunks_exact(2)
const ACTIONS_PER_HINT: usize = 2;
let (action_groups, _) = actions.as_chunks::<ACTIONS_PER_HINT>();
let hints = action_groups
.iter()
.zip(["to scroll", "to page", "to jump"])
.map(|(actions, description)| {
(
+2 -1
View File
@@ -216,7 +216,8 @@ struct Palette {
impl Palette {
fn from_rgba(rgba: &[u8]) -> Self {
let mut used = [false; PALETTE_COLOR_COUNT];
for pixel in rgba.chunks_exact(4) {
const RGBA_CHANNELS: usize = 4;
for pixel in rgba.as_chunks::<RGBA_CHANNELS>().0 {
if pixel[3] < TRANSPARENT_ALPHA_THRESHOLD {
continue;
}