Unnecessary references lint by obeis · Pull Request #138230 · rust-lang/rust (original) (raw)

[RUSTC-TIMING] build_script_build test:false 0.334
error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
  --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
   |
5  | / macro_rules! simd_ty {
6  | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7  | |         #[repr(simd)]
8  | |         #[derive(Copy, Clone, Debug, PartialEq)]
...  |
44 | |                 let self_ptr = &self as *const Self as *const $elem_type;
   | |                                ^^^^^^^^^^^^^^^^^^^^
...  |
51 | | }
   | |_- in this expansion of `simd_ty!`
...
88 |   simd_ty!(u8x2[u8;2]: x0, x1);
   |   ---------------------------- in this macro invocation
   |
   = note: `-D unnecessary-refs` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(unnecessary_refs)]`
help: consider using `&raw const` for a safer and more explicit raw pointer
   |
44 -                 let self_ptr = &self as *const Self as *const $elem_type;
44 +                 let self_ptr = &raw const self as *const $elem_type;
   |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
  --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
   |
5  | / macro_rules! simd_ty {
6  | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7  | |         #[repr(simd)]
8  | |         #[derive(Copy, Clone, Debug, PartialEq)]
...  |
44 | |                 let self_ptr = &self as *const Self as *const $elem_type;
   | |                                ^^^^^^^^^^^^^^^^^^^^
...  |
51 | | }
   | |_- in this expansion of `simd_ty!`
...
89 |   simd_ty!(i8x2[i8;2]: x0, x1);
   |   ---------------------------- in this macro invocation
   |
help: consider using `&raw const` for a safer and more explicit raw pointer
   |
44 -                 let self_ptr = &self as *const Self as *const $elem_type;
44 +                 let self_ptr = &raw const self as *const $elem_type;
   |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
  --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
   |
5  | / macro_rules! simd_ty {
6  | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7  | |         #[repr(simd)]
8  | |         #[derive(Copy, Clone, Debug, PartialEq)]
...  |
44 | |                 let self_ptr = &self as *const Self as *const $elem_type;
   | |                                ^^^^^^^^^^^^^^^^^^^^
...  |
51 | | }
   | |_- in this expansion of `simd_ty!`
...
93 |   simd_ty!(u8x4[u8;4]: x0, x1, x2, x3);
   |   ------------------------------------ in this macro invocation
   |
help: consider using `&raw const` for a safer and more explicit raw pointer
   |
44 -                 let self_ptr = &self as *const Self as *const $elem_type;
44 +                 let self_ptr = &raw const self as *const $elem_type;
   |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
  --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
   |
5  | / macro_rules! simd_ty {
6  | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7  | |         #[repr(simd)]
8  | |         #[derive(Copy, Clone, Debug, PartialEq)]
...  |
44 | |                 let self_ptr = &self as *const Self as *const $elem_type;
   | |                                ^^^^^^^^^^^^^^^^^^^^
...  |
51 | | }
   | |_- in this expansion of `simd_ty!`
...
94 |   simd_ty!(u16x2[u16;2]: x0, x1);
   |   ------------------------------ in this macro invocation
   |
help: consider using `&raw const` for a safer and more explicit raw pointer
   |
44 -                 let self_ptr = &self as *const Self as *const $elem_type;
44 +                 let self_ptr = &raw const self as *const $elem_type;
   |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
  --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
   |
5  | / macro_rules! simd_ty {
6  | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7  | |         #[repr(simd)]
8  | |         #[derive(Copy, Clone, Debug, PartialEq)]
...  |
44 | |                 let self_ptr = &self as *const Self as *const $elem_type;
   | |                                ^^^^^^^^^^^^^^^^^^^^
...  |
51 | | }
   | |_- in this expansion of `simd_ty!`
...
96 |   simd_ty!(i8x4[i8;4]: x0, x1, x2, x3);
   |   ------------------------------------ in this macro invocation
   |
help: consider using `&raw const` for a safer and more explicit raw pointer
   |
44 -                 let self_ptr = &self as *const Self as *const $elem_type;
44 +                 let self_ptr = &raw const self as *const $elem_type;
   |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
  --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
   |
5  | / macro_rules! simd_ty {
6  | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7  | |         #[repr(simd)]
8  | |         #[derive(Copy, Clone, Debug, PartialEq)]
...  |
44 | |                 let self_ptr = &self as *const Self as *const $elem_type;
   | |                                ^^^^^^^^^^^^^^^^^^^^
...  |
51 | | }
   | |_- in this expansion of `simd_ty!`
...
97 |   simd_ty!(i16x2[i16;2]: x0, x1);
   |   ------------------------------ in this macro invocation
   |
help: consider using `&raw const` for a safer and more explicit raw pointer
   |
44 -                 let self_ptr = &self as *const Self as *const $elem_type;
44 +                 let self_ptr = &raw const self as *const $elem_type;
   |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
   --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
    |
5   | / macro_rules! simd_ty {
6   | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7   | |         #[repr(simd)]
8   | |         #[derive(Copy, Clone, Debug, PartialEq)]
...   |
44  | |                 let self_ptr = &self as *const Self as *const $elem_type;
    | |                                ^^^^^^^^^^^^^^^^^^^^
...   |
51  | | }
    | |_- in this expansion of `simd_ty!`
...
101 | / simd_ty!(
102 | |     u8x8[u8;8]:
103 | |     x0,
104 | |     x1,
...   |
110 | |     x7
111 | | );
    | |_- in this macro invocation
    |
help: consider using `&raw const` for a safer and more explicit raw pointer
    |
44  -                 let self_ptr = &self as *const Self as *const $elem_type;
44  +                 let self_ptr = &raw const self as *const $elem_type;
    |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
   --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
    |
5   | / macro_rules! simd_ty {
6   | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7   | |         #[repr(simd)]
8   | |         #[derive(Copy, Clone, Debug, PartialEq)]
...   |
44  | |                 let self_ptr = &self as *const Self as *const $elem_type;
    | |                                ^^^^^^^^^^^^^^^^^^^^
...   |
51  | | }
    | |_- in this expansion of `simd_ty!`
...
112 |   simd_ty!(u16x4[u16;4]: x0, x1, x2, x3);
    |   -------------------------------------- in this macro invocation
    |
help: consider using `&raw const` for a safer and more explicit raw pointer
    |
44  -                 let self_ptr = &self as *const Self as *const $elem_type;
44  +                 let self_ptr = &raw const self as *const $elem_type;
    |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
   --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
    |
5   | / macro_rules! simd_ty {
6   | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7   | |         #[repr(simd)]
8   | |         #[derive(Copy, Clone, Debug, PartialEq)]
...   |
44  | |                 let self_ptr = &self as *const Self as *const $elem_type;
    | |                                ^^^^^^^^^^^^^^^^^^^^
...   |
51  | | }
    | |_- in this expansion of `simd_ty!`
...
113 |   simd_ty!(u32x2[u32;2]: x0, x1);
    |   ------------------------------ in this macro invocation
    |
help: consider using `&raw const` for a safer and more explicit raw pointer
    |
44  -                 let self_ptr = &self as *const Self as *const $elem_type;
44  +                 let self_ptr = &raw const self as *const $elem_type;
    |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
   --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
    |
5   | / macro_rules! simd_ty {
6   | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7   | |         #[repr(simd)]
8   | |         #[derive(Copy, Clone, Debug, PartialEq)]
...   |
44  | |                 let self_ptr = &self as *const Self as *const $elem_type;
    | |                                ^^^^^^^^^^^^^^^^^^^^
...   |
51  | | }
    | |_- in this expansion of `simd_ty!`
...
114 |   simd_ty!(u64x1[u64;1]: x1);
    |   -------------------------- in this macro invocation
    |
help: consider using `&raw const` for a safer and more explicit raw pointer
    |
44  -                 let self_ptr = &self as *const Self as *const $elem_type;
44  +                 let self_ptr = &raw const self as *const $elem_type;
    |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
   --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
    |
5   | / macro_rules! simd_ty {
6   | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7   | |         #[repr(simd)]
8   | |         #[derive(Copy, Clone, Debug, PartialEq)]
...   |
44  | |                 let self_ptr = &self as *const Self as *const $elem_type;
    | |                                ^^^^^^^^^^^^^^^^^^^^
...   |
51  | | }
    | |_- in this expansion of `simd_ty!`
...
116 | / simd_ty!(
117 | |     i8x8[i8;8]:
118 | |     x0,
119 | |     x1,
...   |
125 | |     x7
126 | | );
    | |_- in this macro invocation
    |
help: consider using `&raw const` for a safer and more explicit raw pointer
    |
44  -                 let self_ptr = &self as *const Self as *const $elem_type;
44  +                 let self_ptr = &raw const self as *const $elem_type;
    |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
   --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
    |
5   | / macro_rules! simd_ty {
6   | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7   | |         #[repr(simd)]
8   | |         #[derive(Copy, Clone, Debug, PartialEq)]
...   |
44  | |                 let self_ptr = &self as *const Self as *const $elem_type;
    | |                                ^^^^^^^^^^^^^^^^^^^^
...   |
51  | | }
    | |_- in this expansion of `simd_ty!`
...
127 |   simd_ty!(i16x4[i16;4]: x0, x1, x2, x3);
    |   -------------------------------------- in this macro invocation
    |
help: consider using `&raw const` for a safer and more explicit raw pointer
    |
44  -                 let self_ptr = &self as *const Self as *const $elem_type;
44  +                 let self_ptr = &raw const self as *const $elem_type;
    |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
   --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
    |
5   | / macro_rules! simd_ty {
6   | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7   | |         #[repr(simd)]
8   | |         #[derive(Copy, Clone, Debug, PartialEq)]
...   |
44  | |                 let self_ptr = &self as *const Self as *const $elem_type;
    | |                                ^^^^^^^^^^^^^^^^^^^^
...   |
51  | | }
    | |_- in this expansion of `simd_ty!`
...
128 |   simd_ty!(i32x2[i32;2]: x0, x1);
    |   ------------------------------ in this macro invocation
    |
help: consider using `&raw const` for a safer and more explicit raw pointer
    |
44  -                 let self_ptr = &self as *const Self as *const $elem_type;
44  +                 let self_ptr = &raw const self as *const $elem_type;
    |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
   --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
    |
5   | / macro_rules! simd_ty {
6   | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7   | |         #[repr(simd)]
8   | |         #[derive(Copy, Clone, Debug, PartialEq)]
...   |
44  | |                 let self_ptr = &self as *const Self as *const $elem_type;
    | |                                ^^^^^^^^^^^^^^^^^^^^
...   |
51  | | }
    | |_- in this expansion of `simd_ty!`
...
129 |   simd_ty!(i64x1[i64;1]: x1);
    |   -------------------------- in this macro invocation
    |
help: consider using `&raw const` for a safer and more explicit raw pointer
    |
44  -                 let self_ptr = &self as *const Self as *const $elem_type;
44  +                 let self_ptr = &raw const self as *const $elem_type;
    |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
   --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
    |
5   | / macro_rules! simd_ty {
6   | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7   | |         #[repr(simd)]
8   | |         #[derive(Copy, Clone, Debug, PartialEq)]
...   |
44  | |                 let self_ptr = &self as *const Self as *const $elem_type;
    | |                                ^^^^^^^^^^^^^^^^^^^^
...   |
51  | | }
    | |_- in this expansion of `simd_ty!`
...
131 |   simd_ty!(f32x2[f32;2]: x0, x1);
    |   ------------------------------ in this macro invocation
    |
help: consider using `&raw const` for a safer and more explicit raw pointer
    |
44  -                 let self_ptr = &self as *const Self as *const $elem_type;
44  +                 let self_ptr = &raw const self as *const $elem_type;
    |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
   --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
    |
5   | / macro_rules! simd_ty {
6   | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7   | |         #[repr(simd)]
8   | |         #[derive(Copy, Clone, Debug, PartialEq)]
...   |
44  | |                 let self_ptr = &self as *const Self as *const $elem_type;
    | |                                ^^^^^^^^^^^^^^^^^^^^
...   |
51  | | }
    | |_- in this expansion of `simd_ty!`
...
132 |   simd_ty!(f64x1[f64;1]: x1);
    |   -------------------------- in this macro invocation
    |
help: consider using `&raw const` for a safer and more explicit raw pointer
    |
44  -                 let self_ptr = &self as *const Self as *const $elem_type;
44  +                 let self_ptr = &raw const self as *const $elem_type;
    |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
   --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
    |
5   | / macro_rules! simd_ty {
6   | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7   | |         #[repr(simd)]
8   | |         #[derive(Copy, Clone, Debug, PartialEq)]
...   |
44  | |                 let self_ptr = &self as *const Self as *const $elem_type;
    | |                                ^^^^^^^^^^^^^^^^^^^^
...   |
51  | | }
    | |_- in this expansion of `simd_ty!`
...
136 | / simd_ty!(
137 | |     u8x16[u8;16]:
138 | |     x0,
139 | |     x1,
...   |
153 | |     x15
154 | | );
    | |_- in this macro invocation
    |
help: consider using `&raw const` for a safer and more explicit raw pointer
    |
44  -                 let self_ptr = &self as *const Self as *const $elem_type;
44  +                 let self_ptr = &raw const self as *const $elem_type;
    |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
   --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
    |
5   | / macro_rules! simd_ty {
6   | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7   | |         #[repr(simd)]
8   | |         #[derive(Copy, Clone, Debug, PartialEq)]
...   |
44  | |                 let self_ptr = &self as *const Self as *const $elem_type;
    | |                                ^^^^^^^^^^^^^^^^^^^^
...   |
51  | | }
    | |_- in this expansion of `simd_ty!`
...
155 | / simd_ty!(
156 | |     u16x8[u16;8]:
157 | |     x0,
158 | |     x1,
...   |
164 | |     x7
165 | | );
    | |_- in this macro invocation
    |
help: consider using `&raw const` for a safer and more explicit raw pointer
    |
44  -                 let self_ptr = &self as *const Self as *const $elem_type;
44  +                 let self_ptr = &raw const self as *const $elem_type;
    |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
   --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
    |
5   | / macro_rules! simd_ty {
6   | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7   | |         #[repr(simd)]
8   | |         #[derive(Copy, Clone, Debug, PartialEq)]
...   |
44  | |                 let self_ptr = &self as *const Self as *const $elem_type;
    | |                                ^^^^^^^^^^^^^^^^^^^^
...   |
51  | | }
    | |_- in this expansion of `simd_ty!`
...
166 |   simd_ty!(u32x4[u32;4]: x0, x1, x2, x3);
    |   -------------------------------------- in this macro invocation
    |
help: consider using `&raw const` for a safer and more explicit raw pointer
    |
44  -                 let self_ptr = &self as *const Self as *const $elem_type;
44  +                 let self_ptr = &raw const self as *const $elem_type;
    |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
   --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
    |
5   | / macro_rules! simd_ty {
6   | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7   | |         #[repr(simd)]
8   | |         #[derive(Copy, Clone, Debug, PartialEq)]
...   |
44  | |                 let self_ptr = &self as *const Self as *const $elem_type;
    | |                                ^^^^^^^^^^^^^^^^^^^^
...   |
51  | | }
    | |_- in this expansion of `simd_ty!`
...
167 |   simd_ty!(u64x2[u64;2]: x0, x1);
    |   ------------------------------ in this macro invocation
    |
help: consider using `&raw const` for a safer and more explicit raw pointer
    |
44  -                 let self_ptr = &self as *const Self as *const $elem_type;
44  +                 let self_ptr = &raw const self as *const $elem_type;
    |

error: creating a intermediate reference implies aliasing requirements even when immediately casting to raw pointers
   --> library/core/src/../../stdarch/crates/core_arch/src/simd.rs:44:32
    |
5   | / macro_rules! simd_ty {
6   | |     ($id:ident [$elem_type:ty ; <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mo>:</mo><mi>l</mi><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mo stretchy="false">]</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">len:literal]: </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em;">er</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span></span></span>($param_name:ident),*) => {
7   | |         #[repr(simd)]
8   | |         #[derive(Copy, Clone, Debug, PartialEq)]
...   |
44  | |                 let self_ptr = &self as *const Self as *const $elem_type;
    | |                                ^^^^^^^^^^^^^^^^^^^^
...   |
51  | | }
    | |_- in this expansion of `simd_ty!`