diff --git a/library/stdarch/src/runtime/aarch64.rs b/library/stdarch/src/runtime/aarch64.rs index 5d10fc06e3ab..4c546d9380aa 100644 --- a/library/stdarch/src/runtime/aarch64.rs +++ b/library/stdarch/src/runtime/aarch64.rs @@ -32,11 +32,11 @@ pub enum __Feature { } pub fn detect_features(mut x: T) -> usize { - let value: usize = 0; + let mut value: usize = 0; { let mut enable_feature = |f| { if x.has_feature(&f) { - bit::set(value, f as u32); + value = bit::set(value, f as u32); } }; enable_feature(__Feature::asimd); diff --git a/library/stdarch/src/runtime/arm.rs b/library/stdarch/src/runtime/arm.rs index 60ef909fca12..997eac7527f4 100644 --- a/library/stdarch/src/runtime/arm.rs +++ b/library/stdarch/src/runtime/arm.rs @@ -29,11 +29,11 @@ pub enum __Feature { } pub fn detect_features(mut x: T) -> usize { - let value: usize = 0; + let mut value: usize = 0; { let mut enable_feature = |f| { if x.has_feature(&f) { - bit::set(value, f as u32); + value = bit::set(value, f as u32); } }; enable_feature(__Feature::neon);