Relative Content

Tag Archive for rusttraits

Conflicting blanket implementations of traits in Rust

#![feature(negative_bounds)] trait A {} trait B {} trait Common {} impl<T> Common for T where T: A + !B {} impl<T> Common for T where T: B + !A {} fn main() {} Playground This piece of code fails to compile with error message: “conflicting implementations of trait Common“ I intend for A and B […]

Trait bounds in Fn traits

I may be missing something simple, but I am having a hard time convincing the Rust compiler that this writer let mut writer = BufWriter::new(file); can be used in the F: Fn(Write) -> Result<()> trait bound. For example, the below works:

E0308: In a trait definition, why does Rust forget what traits a concrete type implements, unless they are explicitly declared?

I have a trait with specific bounds, for which I want to provide a default implementation of bar(), as shown in the minimal example below. However, I’m getting an unexpected error E0308. It seems that Rust either forgets that the primitive type i32 implements Mul<i32> and ignores the explicit type of the local variable a, or ignores the Output = i32 part of trait Foo: Sized + Add<i32, Output = i32>...

Implementing Chain of Traits in Rust (1.77.2)

I am trying to have the Data struct implement the Main (and the other two super traits). However, I cannot get it to work. It works fine if Super2 had no generic type. I tried impl with generic without generic. Any help will be appreciated. Thank you.