Hacker News new | past | comments | ask | show | jobs | submit login

const generics are a feature I've been looking forward to since 1.0, really cool to see that work making it to stable.

This solves another of the ergonomic issues in Rust. It really feels like within 2021 Rust will hit a point where it feels totally consistent.




Unfortunately the version of const generics stabilized in 1.51 has many limitations. The core problem seems to be that evaluating const functions can panic, while generics should only produce errors when constraints are not met, not when instantiating them.

The current limitation I find the most annoying is that you can't use associated constants in generics.


const generics themselves will only become stable in the upcoming release, 1.51. This release only adds implementations of specific traits to arrays of all lengths. Users themselves can't declare types yet that are generic on numbers or write impl blocks generic on numbers.


I hit this limitation recently, and although it was a bummer, it’s good to hear that a solution is being worked on


Ah! Bummer, but also, that's enough to deal with what felt like a big inconsistency in Rust - inability to work well with arrays.


I'm already using them in nightly and they are amazing.

The only thing left that I want with generics is variadics/tuples. The only way currently to implement a trait over a generic tuple is to write a macro and call it for however many sized tuples you want. I've not seen any convincing RFCs about it yet though so I'm not confident we'll get them any time soon


I use https://docs.rs/frunk/0.3.1/frunk/ to get around this in the meantime.


I wouldn't call it a convincing RFC, but I did recently write an analysis on the subject:

https://gist.github.com/PoignardAzur/aea33f28e2c58ffe1a93b8f...




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: