pub(crate) fn detect_features() -> cache::Initializer {
    if let Ok(auxv) = auxvec::auxv() {
        let hwcap: AtHwcap = auxv.into();
        return hwcap.cache();
    }
    #[cfg(feature = "std_detect_file_io")]
    if let Ok(c) = super::cpuinfo::CpuInfo::new() {
        let hwcap: AtHwcap = c.into();
        return hwcap.cache();
    }
    cache::Initializer::default()
}
/// Try to read the features from the auxiliary vector, and if that fails, try
/// to read them from /proc/cpuinfo.
Try to read the features from the auxiliary vector, and if that fails, try
to read them from /proc/cpuinfo.
Try to read the features from the auxiliary vector and if that fails try to read them from / proc / cpuinfo .
pub(crate) fn detect_features() -> cache::Initializer {
    if let Ok(auxv) = auxvec::auxv() {
        let hwcap: AtHwcap = auxv.into();
        return hwcap.cache();
    }
    #[cfg(feature = "std_detect_file_io")]
    if let Ok(c) = super::cpuinfo::CpuInfo::new() {
        let hwcap: AtHwcap = c.into();
        return hwcap.cache();
    }
    cache::Initializer::default()
}
pub ( crate ) fn detect_features ( ) -> cache :: Initializer { if let Ok ( auxv ) = auxvec :: auxv ( ) { let hwcap : AtHwcap = auxv . into ( ) ; return hwcap . cache ( ) ; } # [ cfg ( feature " " ) ] if let Ok ( c ) = super :: cpuinfo :: CpuInfo :: new ( ) { let hwcap : AtHwcap = c . into ( ) ; return hwcap . cache ( ) ; } cache :: Initializer :: default ( ) }
Try to read the features from the auxiliary vector, and if that fails, try
to read them from /proc/cpuinfo.
Try to read the features from the auxiliary vector and if that fails try to read them from / proc / cpuinfo .