--> src/main.rs:60:1
|
45 | struct Dot {
| ---------- previous definition of the type `Dot` here
...
60 | struct Dot {
| ^^^^^^^^^^ `Dot` redefined here
|
= note: `Dot` must be defined only once in the type namespace of this module
error[E0119]: conflicting implementations of trait `std::marker::Copy` for type `Dot`:
--> src/main.rs:59:24
|
44 | #[derive(Debug, Clone, Copy)]
| ---- first implementation here
...
59 | #[derive(Debug, Clone, Copy)]
| ^^^^ conflicting implementation for `Dot`
error[E0119]: conflicting implementations of trait `std::clone::Clone` for type `Dot`:
--> src/main.rs:59:17
|
44 | #[derive(Debug, Clone, Copy)]
| ----- first implementation here
...
59 | #[derive(Debug, Clone, Copy)]
| ^^^^^ conflicting implementation for `Dot`
error[E0119]: conflicting implementations of trait `std::fmt::Debug` for type `Dot`:
--> src/main.rs:59:10
|
44 | #[derive(Debug, Clone, Copy)]
| ----- first implementation here
...
59 | #[derive(Debug, Clone, Copy)]
| ^^^^^ conflicting implementation for `Dot`
It looks like you have the Dot struct defined twice in your source file. Compare to the final version found here and make sure you haven't accidentally included that code snippet twice!
But in the blog post code snippet, it is defined twice -
/// A circle to paint#[derive(Debug,Clone,Copy)]structDot{color:Color,origin:Point,radius:f32,}/// Things that can be drawn to the screentraitNannou{fndisplay(&self,draw:&app::Draw);fnupdate(&mutself);}/// A circle to paint#[derive(Debug,Clone,Copy)]structDot{color:Color,origin:Point,radius:f32,max_radius:f32,growth_rate:f32,}
I think you need to update your blog post.
Also the gh repository seems totally different from the code given here - there are more dependencies on the gh repo.
Ah, thank you! My mistake indeed, I've removed the extra Dot declaration from the post. It compiles as written on my machine. The lower of those two declarations, with all five members, is correct.
The GitHub repo represents the code snippet at the end of this post, and does extend the Defensive Refactor snippet in a few ways. The final dependency list should look like this:
Running the code gives an error -
Hi Shaurya,
It looks like you have the
Dot
struct defined twice in your source file. Compare to the final version found here and make sure you haven't accidentally included that code snippet twice!But in the blog post code snippet, it is defined twice -
I think you need to update your blog post.
Also the gh repository seems totally different from the code given here - there are more dependencies on the gh repo.
Ah, thank you! My mistake indeed, I've removed the extra
Dot
declaration from the post. It compiles as written on my machine. The lower of those two declarations, with all five members, is correct.The GitHub repo represents the code snippet at the end of this post, and does extend the Defensive Refactor snippet in a few ways. The final dependency list should look like this:
Everything other than
nannou
is added one by one throughout the post.