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!`