#prog #rust #suckassstory
trait Trait {Issue
fn abs(self) -> Self;
}
impl Trait for i64 {
fn abs(self) -> Self {
2 * self
}
}
fn main() {
let x = 42;
println!("{}", x.abs()); // 84
println!("{}", x.abs()); // 42
}
GitHub
Surprising non-idempotent behavior on `{integer}` inference + method resolution · Issue #121453 · rust-lang/rust
Excerpt from Zulip (originally https://rust-lang.zulipchat.com/#narrow/stream/144729-t-types/topic/Question.20from.20t-spec/near/422487076): trait Trait { fn abs(self) -> Self; } impl Trait for ...
🤯27😱2👍1😢1🥴1😐1