-
-
Notifications
You must be signed in to change notification settings - Fork 14.9k
Vibe check: can Simd<T, N>: Receiver<Target = T>? #156270
Copy link
Copy link
Open
Labels
F-arbitrary_self_types`#![feature(arbitrary_self_types)]``#![feature(arbitrary_self_types)]`I-lang-nominatedNominated for discussion during a lang team meeting.Nominated for discussion during a lang team meeting.I-libs-nominatedNominated for discussion during a libs team meeting.Nominated for discussion during a libs team meeting.PG-portable-simdProject group: Portable SIMD (https://github.com/rust-lang/project-portable-simd)Project group: Portable SIMD (https://github.com/rust-lang/project-portable-simd)T-langRelevant to the language teamRelevant to the language teamT-libsRelevant to the library team, which will review and decide on the PR/issue.Relevant to the library team, which will review and decide on the PR/issue.
Metadata
Metadata
Assignees
Labels
F-arbitrary_self_types`#![feature(arbitrary_self_types)]``#![feature(arbitrary_self_types)]`I-lang-nominatedNominated for discussion during a lang team meeting.Nominated for discussion during a lang team meeting.I-libs-nominatedNominated for discussion during a libs team meeting.Nominated for discussion during a libs team meeting.PG-portable-simdProject group: Portable SIMD (https://github.com/rust-lang/project-portable-simd)Project group: Portable SIMD (https://github.com/rust-lang/project-portable-simd)T-langRelevant to the language teamRelevant to the language teamT-libsRelevant to the library team, which will review and decide on the PR/issue.Relevant to the library team, which will review and decide on the PR/issue.
Type
Fields
Give feedbackNo fields configured for issues without a type.
In project-portable-simd, we're trying to come up with a good API for
Simd<T, N>where we have much of the API split up into traits so there aren't tons of inherent methods onSimditself to avoid overwhelming docs readers with hundreds of methods that only work for some element types. After several attempts of implementing all the traits withSelf = Simd<T, N>and running into issues trying to use related types with different element types but the same length, it occurred to me to instead implement the traits directly for the element types and have methods useself: Simd<Self, N>which is slightly odd but makes the API waay nicer.We want to get a vibe-check from t-libs and t-lang that implementing
ReceiverforSimdandMaskis ok.Zulip thread on design proposal