Critical issues before stabilization
I wanted to put together a more technical list of issues to be solved before we can stabilize (see rust-lang/rust#86656). There are many more important issues like performance on some targets, or important missing functions, but IMO those don't prevent stabilization. In this list I've trimmed down the issues to major API-related issues that can't be changed, or are difficult to change, after stabilization. ### Issues to be solved - **Restricting the number of lanes**. In my opinion, the `LaneCount<N>: SupportedLaneCount` bound makes the API exceptionally cumbersome. I've also had some trouble writing generics around it, particularly when making functions that change the number of lanes (the trait solver sometimes simply fails). Adding the bound often feels like boilerplate, and I found myself looking for ways to launder the bound, like adding unnecessary const parameters. Making this a post-monomorphization error (I found rust-lang/lang-team#195 helpful) might be the way to go, or perhaps there's a way to make a const fn panic. Cons: the trait bound is very explicit and hiding the error states could possibly do more harm than good when identifying the source of a build failure. - **Mask element type**. I'm not confident that the mask type for `Simd<f32, N>` should be `Simd<i32, N>` (see rust-lang/portable-simd#322 for discussion). I think it would be much more straightforward if the types simply matched. Cons: this would require an extra cast when using `i32` masks
Posted by calebzulawski on Sep 10, 2023, 4:41 PM
Tags
Related issues
- The issue is really the extreme difficulty of programming them, especially for anything sequential (rather than combinatorial).
- I probably could have beared with it if it was only limited to programming, but it showing up in creative fields has made me feel all sor...
- I hate that I'm in deep enough to know what you mean.
- The biggest problem with “AI” is that big corps are shoving it down our throats.
- in the middel of a coding session with 5.6 sol.
- [Hero Run] 535B-A23B on 18T tokens
Raise real-world problems, find people facing the same issue, and discuss solutions.2,000 issues0 comments
reliability (Other)
The issue is really the extreme difficulty of programming them, especially for anything sequential (rather than combinatorial).
I probably could have beared with it if it was only limited to programming, but it showing up in creative fields has made me feel all sor...
I hate that I'm in deep enough to know what you mean.
The biggest problem with “AI” is that big corps are shoving it down our throats.
in the middel of a coding session with 5.6 sol.
[Hero Run] 535B-A23B on 18T tokens
I hate that this is how AI is being used..
inexperienced protobuf user here -- why do non-googlers generally use protobuf?
Critical issues before stabilization
I wanted to put together a more technical list of issues to be solved before we can stabilize (see rust-lang/rust#86656). There are many more important issues like performance on some targets, or important missing functions, but IMO those don't prevent stabilization. In this list I've trimmed down the issues to major API-related issues that can't be changed, or are difficult to change, after stabilization. ### Issues to be solved - **Restricting the number of lanes**. In my opinion, the `LaneCount<N>: SupportedLaneCount` bound makes the API exceptionally cumbersome. I've also had some trouble writing generics around it, particularly when making functions that change the number of lanes (the trait solver sometimes simply fails). Adding the bound often feels like boilerplate, and I found myself looking for ways to launder the bound, like adding unnecessary const parameters. Making this a post-monomorphization error (I found rust-lang/lang-team#195 helpful) might be the way to go, or perhaps there's a way to make a const fn panic. Cons: the trait bound is very explicit and hiding the error states could possibly do more harm than good when identifying the source of a build failure. - **Mask element type**. I'm not confident that the mask type for `Simd<f32, N>` should be `Simd<i32, N>` (see rust-lang/portable-simd#322 for discussion). I think it would be much more straightforward if the types simply matched. Cons: this would require an extra cast when using `i32` masks
Comments (0)
No comments yet. Start the discussion.