<version>
rustc 1.65.0-nightly (75b7e52e9 2022-08-13)
binary: rustc
commit-hash: 75b7e52e92c3b00fc891b47f5b2efdff0a2be55a
commit-date: 2022-08-13
host: x86_64-pc-windows-msvc
release: 1.65.0-nightly
LLVM version: 15.0.0
error: internal compiler error: no errors encountered even though `delay_span_bug` issued
error: internal compiler error: broken MIR in Item(WithOptConstParam { did: DefId(0:23009 ~ nalgebra[f868]::geometry::quaternion_ops::{impl#40}::mul), const_param_did: None }) (end of phase transition to Optimized) at bb6[22]:
Field projection `(*_25).field[0]` specified type `base::matrix::Matrix<N, base::dimension::U4, base::dimension::U1, base::array_storage::ArrayStorage<N, base::dimension::U4, base::dimension::U1>>`, but actual type is base::matrix::Matrix<N, base::dimension::U4, base::dimension::U1, <base::default_allocator::DefaultAllocator as base::allocator::Allocator<N, base::dimension::U4>>::Buffer>
--> C:\Users\alexandre\.cargo\registry\src\github.com-1ecc6299db9ec823\nalgebra-0.25.4\src\geometry\quaternion.rs:197:9
|
197 | self.coords[3]
| ^^^^^^^^^^^
|
::: C:\Users\alexandre\.cargo\registry\src\github.com-1ecc6299db9ec823\nalgebra-0.25.4\src\geometry\quaternion_ops.rs:388:13
|
388 | t * self.as_ref().scalar() + cross + rhs
| ---------------------- in this inlined function call
|
= note: delayed at compiler\rustc_const_eval\src\transform\validate.rs:129:36
error: internal compiler error: broken MIR in Item(WithOptConstParam { did: DefId(0:22868 ~ nalgebra[f868]::geometry::quaternion_ops::{impl#12}::mul), const_param_did: None }) (end of phase transition to Optimized) at bb0[11]:
Field projection `(*_9).field[0]` specified type `base::matrix::Matrix<N, base::dimension::U4, base::dimension::U1, base::array_storage::ArrayStorage<N, base::dimension::U4, base::dimension::U1>>`, but actual type is base::matrix::Matrix<N, base::dimension::U4, base::dimension::U1, <base::default_allocator::DefaultAllocator as base::allocator::Allocator<N, base::dimension::U4>>::Buffer>
--> C:\Users\alexandre\.cargo\registry\src\github.com-1ecc6299db9ec823\nalgebra-0.25.4\src\geometry\quaternion_ops.rs:70:10
|
70 | &self.coords[i]
| ^^^^^^^^^^^
...
163 | self[3] * rhs[3] - self[0] * rhs[0] - self[1] * rhs[1] - self[2] * rhs[2],
| ------- in this inlined function call
|
= note: delayed at compiler\rustc_const_eval\src\transform\validate.rs:129:36
[ many other error: internal compiler error: broken MIR in Item ... nalgebra-0.25.4\src\geometry\quaternion.rs ... delayed at compiler\rustc_const_eval\src\transform\validate.rs:129:36 ]
error: internal compiler error: broken MIR in Item(WithOptConstParam { did: DefId(0:23718 ~ nalgebra[f868]::geometry::dual_quaternion_ops::{impl#119}::mul_assign), const_param_did: None }) (end of phase transition to Optimized) at bb2[2]:
Field projection `_6.field[0]` specified type `base::matrix::Matrix<N, base::dimension::U4, base::dimension::U1, base::array_storage::ArrayStorage<N, base::dimension::U4, base::dimension::U1>>`, but actual type is base::matrix::Matrix<N, base::dimension::U4, base::dimension::U1, <base::default_allocator::DefaultAllocator as base::allocator::Allocator<N, base::dimension::U4>>::Buffer>
--> C:\Users\alexandre\.cargo\registry\src\github.com-1ecc6299db9ec823\nalgebra-0.25.4\src\geometry\quaternion.rs:29:23
|
29 | #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
| ^^^^^
|
::: C:\Users\alexandre\.cargo\registry\src\github.com-1ecc6299db9ec823\nalgebra-0.25.4\src\geometry\dual_quaternion_ops.rs:1123:14
|
1123 | *self *= rhs.clone(); 'b);
| ----------- in this inlined function call
|
= note: delayed at compiler\rustc_const_eval\src\transform\validate.rs:129:36
[backtrace]
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
note: rustc 1.65.0-nightly (75b7e52e9 2022-08-13) running on x86_64-pc-windows-msvc
note: compiler flags: --crate-type lib -C opt-level=3 -C linker-plugin-lto -C codegen-units=1
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
end of query stack
error: could not compile `nalgebra`
warning: build failed, waiting for other jobs to finish...
Code
ICE is triggered when building
nalgebra 0.25.4in filesrc\geometry\quaternion.rsin release mode. I'm not able to reproduce when building in debug mode. In my situation, thenalgebracrate is built as part of the dependency tree for a binary crate.Meta
rustc --version --verbose:Error output
Backtrace