Skip to content

(simd select) No longer builds under rust 1.95 #131

@EvansJahja

Description

@EvansJahja

First of all, I'm not sure if it's an issue with this library or with rust, but firefox no longer builds since Rust 1.95, failing on this library.

I'm not alone, someone else also experienced the same issue.
https://www.phoronix.com/forums/forum/software/programming-compilers/1627415-rust-1-95-released-with-several-improvements?p=1627475#post1627475

With that out of the way, I think the purpose of this issue is firstly to track and link, and second is to fix.

The failure:

error[E0599]: no method named `select` found for struct `Mask<T, N>` in the current scope           
  --> /usr/src/debug/firefox/firefox-149.0.2/third_party/rust/encoding_rs/src/x_user_defined.rs:23:56                                                                                                              
   |                                                                                                
23 | ...   unpacked + unpacked.simd_gt(highest_ascii).select(u16x8::splat(0xF700), u16x8::splat(0)) 
       }                                                                                                       
   |                                                  ^^^^^^                                        
   |                                                                                                
  --> library/core/src/../../portable-simd/crates/core_simd/src/select.rs:53:7                      
   |                                                                                                
   = note: the method is available for `Mask<i16, 8>` here                                          
   |                                                                                                
   = help: items from traits can only be used if the trait is in scope                              
help: trait `Select` which provides `select` is implemented but not in scope; perhaps you want to im
port it                                                                                                        
   |                                                                                                
10 + use core::simd::Select;                                                                        
   |                                                                                                
help: there is a method `set` with a similar name                                                   
   |                                                                                                
23 -             unpacked + unpacked.simd_gt(highest_ascii).select(u16x8::splat(0xF700), u16x8::spla
t(0))        }                                                                          G
23 +             unpacked + unpacked.simd_gt(highest_ascii).set(u16x8::splat(0xF700), u16x8::splat(0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions