message: refactor(h1): un-split record_header_indicies for ARM
diff: @@ -948,30 +948,7 @@ fn record_header_indices(
  ) -> Result<(), crate::error::Parse> {
  let bytes_ptr = bytes.as_ptr() as usize;
  - // FIXME: This should be a single plain `for` loop.
  - // Splitting it is a work-around for https://github.com/rust-lang/rust/issues/55105
  - macro_rules! split_loops_if {
  - (
  - cfg($($cfg: tt)+)
  - for $i: pat in ($iter: expr) {
  - $body1: block
  - $body2: block
  - }
  - ) => {
  - for $i in $iter {
  - $body1
  - #[cfg(not($($cfg)+))] $body2
  - }
  - #[cfg($($cfg)+)]
  - for $i in $iter {
  - $body2
  - }
  - }
  - }
  - split_loops_if! {
  - cfg(all(target_arch = "arm", target_feature = "v7", target_feature = "neon"))
  - for (header, indices) in (headers.iter().zip(indices.iter_mut())) {
  - {
  + for (header, indices) in headers.iter().zip(indices.iter_mut()) {
  if header.name.len() >= (1 << 16) {
  debug!("header name larger than 64kb: {:?}", header.name);
  return Err(crate::error::Parse::TooLarge);
  @@ -979,14 +956,10 @@ fn record_header_indices(
  let name_start = header.name.as_ptr() as usize - bytes_ptr;
  let name_end = name_start + header.name.len();
  indices.name = (name_start, name_end);
  - }
  - {
  let value_start = header.value.as_ptr() as usize - bytes_ptr;
  let value_end = value_start + header.value.len();
  indices.value = (value_start, value_end);
  }
  - }
  - }
  Ok(())
  }
  