I want to do basically this:
struct MyStruct < T> {
data: T
}
impl < T> for MyStruct < T> {
fn foo() {
println!("Generic")
}
}
impl for MyStruct < u32> {
fn foo() {
println!("u32")
}
}
I have tried doing
impl < T: !u32> for MyStruct < T> {
...
}
But it doesn’t seem to work. I’ve also tried various things with traits but none of them seem to work. Is this even possible?
EDIT: Fixed formatting
What you are looking for is called specialization.
It is currently unstable and incomplete, which means you can activate it by adding the macros
#![feature(specialization)]
and#![allow(incomplete_features)]
at the beginning of the file. But you have no guarantee that it will work the same way on the next version of rust.Yeah, that seems like it would work! Unfortunately I can’t use unstable features. I’ll keep it in mind for other projects though.
Something like this? https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=949cec265c832a9825948acdf41e13e4
I’m sorry, no wonder you are lost, so it made no sense when you wrote this comment, lemmy deleted everything between the “less than” character and “>”. I had to change them for “<” in order for them not to get deleted.
Lemmy also escaped the ampersands in their comment’s link 😉
Isn’t broken sanitization great!