this is the complete output of cargo clippy. I was trying to not throw a ton of text at folks, as some of the output from clippy can be a bit verbose.
As this code is still in active development, there are a lot of errrors that are unrelated.
I was posting the last response late at night and didn't fully fill out the last error message. It was supposed to be:
no method named downcast_mut found for mutable reference &mut Box<(dyn SchematicConnector + 'static)> in the current scope
Sorry about that.
Checking connection_diagram_manager v0.0.1 (/home/toxicsauce/projects/src/github.com/sww1235/connection-diagram-manager/crates/cdm_core)
warning: unused import: `log::trace`
--> crates/cdm_core/src/datatypes/schematic_symbol.rs:15:5
|
15 | use log::trace;
| ^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
error[E0277]: the trait bound `datatypes::schematic_connector::multi_right_angle::MultiRightAngle: egui::Widget` is not satisfied
--> crates/cdm_core/src/datatypes/project_types/cable.rs:74:19
|
74 | type Output = MultiRightAngle;
| ^^^^^^^^^^^^^^^ unsatisfied trait bound
|
help: the trait `for<'a> FnOnce(&'a mut egui::Ui)` is not implemented for `datatypes::schematic_connector::multi_right_angle::MultiRightAngle`
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:21:1
|
21 | pub struct MultiRightAngle {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
help: the following other types implement trait `datatypes::schematic_connector::SchematicConnector`
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:44:1
|
44 | impl SchematicConnector for MultiRightAngle {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `datatypes::schematic_connector::multi_right_angle::MultiRightAngle`
|
::: crates/cdm_core/src/datatypes/schematic_connector/right_angle.rs:43:1
|
43 | impl SchematicConnector for RightAngle {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `datatypes::schematic_connector::right_angle::RightAngle`
= note: required for `datatypes::schematic_connector::multi_right_angle::MultiRightAngle` to implement `egui::Widget`
note: required for `<datatypes::project_types::cable::Cable as datatypes::schematic_connector::AsConnector>::Output` to implement `datatypes::schematic_connector::SchematicConnector`
--> crates/cdm_core/src/datatypes/schematic_connector.rs:55:11
|
55 | pub trait SchematicConnector: Widget + Any {}
| ^^^^^^^^^^^^^^^^^^
note: required by a bound in `datatypes::schematic_connector::AsConnector::Output`
--> crates/cdm_core/src/datatypes/schematic_connector.rs:33:18
|
33 | type Output: SchematicConnector;
| ^^^^^^^^^^^^^^^^^^ required by this bound in `AsConnector::Output`
error[E0277]: the trait bound `datatypes::schematic_connector::right_angle::RightAngle: egui::Widget` is not satisfied
--> crates/cdm_core/src/datatypes/project_types/wire.rs:60:19
|
60 | type Output = RightAngle;
| ^^^^^^^^^^ unsatisfied trait bound
|
help: the trait `for<'a> FnOnce(&'a mut egui::Ui)` is not implemented for `datatypes::schematic_connector::right_angle::RightAngle`
--> crates/cdm_core/src/datatypes/schematic_connector/right_angle.rs:28:1
|
28 | pub struct RightAngle {
| ^^^^^^^^^^^^^^^^^^^^^
help: the following other types implement trait `datatypes::schematic_connector::SchematicConnector`
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:44:1
|
44 | impl SchematicConnector for MultiRightAngle {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `datatypes::schematic_connector::multi_right_angle::MultiRightAngle`
|
::: crates/cdm_core/src/datatypes/schematic_connector/right_angle.rs:43:1
|
43 | impl SchematicConnector for RightAngle {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `datatypes::schematic_connector::right_angle::RightAngle`
= note: required for `datatypes::schematic_connector::right_angle::RightAngle` to implement `egui::Widget`
note: required for `<datatypes::project_types::wire::Wire as datatypes::schematic_connector::AsConnector>::Output` to implement `datatypes::schematic_connector::SchematicConnector`
--> crates/cdm_core/src/datatypes/schematic_connector.rs:55:11
|
55 | pub trait SchematicConnector: Widget + Any {}
| ^^^^^^^^^^^^^^^^^^
note: required by a bound in `datatypes::schematic_connector::AsConnector::Output`
--> crates/cdm_core/src/datatypes/schematic_connector.rs:33:18
|
33 | type Output: SchematicConnector;
| ^^^^^^^^^^^^^^^^^^ required by this bound in `AsConnector::Output`
error[E0277]: the trait bound `datatypes::schematic_connector::multi_right_angle::MultiRightAngle: egui::Widget` is not satisfied
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:44:29
|
44 | impl SchematicConnector for MultiRightAngle {}
| ^^^^^^^^^^^^^^^ unsatisfied trait bound
|
help: the trait `for<'a> FnOnce(&'a mut egui::Ui)` is not implemented for `datatypes::schematic_connector::multi_right_angle::MultiRightAngle`
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:21:1
|
21 | pub struct MultiRightAngle {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
help: the trait `egui::Widget` is implemented for `&mut datatypes::schematic_connector::multi_right_angle::MultiRightAngle`
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:46:1
|
46 | impl Widget for &mut MultiRightAngle {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: required for `datatypes::schematic_connector::multi_right_angle::MultiRightAngle` to implement `egui::Widget`
note: required by a bound in `datatypes::schematic_connector::SchematicConnector`
--> crates/cdm_core/src/datatypes/schematic_connector.rs:55:31
|
55 | pub trait SchematicConnector: Widget + Any {}
| ^^^^^^ required by this bound in `SchematicConnector`
error[E0277]: the trait bound `datatypes::schematic_connector::right_angle::RightAngle: egui::Widget` is not satisfied
--> crates/cdm_core/src/datatypes/schematic_connector/right_angle.rs:43:29
|
43 | impl SchematicConnector for RightAngle {}
| ^^^^^^^^^^ unsatisfied trait bound
|
help: the trait `for<'a> FnOnce(&'a mut egui::Ui)` is not implemented for `datatypes::schematic_connector::right_angle::RightAngle`
--> crates/cdm_core/src/datatypes/schematic_connector/right_angle.rs:28:1
|
28 | pub struct RightAngle {
| ^^^^^^^^^^^^^^^^^^^^^
help: the trait `egui::Widget` is implemented for `&mut datatypes::schematic_connector::right_angle::RightAngle`
--> crates/cdm_core/src/datatypes/schematic_connector/right_angle.rs:45:1
|
45 | impl Widget for &mut RightAngle {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: required for `datatypes::schematic_connector::right_angle::RightAngle` to implement `egui::Widget`
note: required by a bound in `datatypes::schematic_connector::SchematicConnector`
--> crates/cdm_core/src/datatypes/schematic_connector.rs:55:31
|
55 | pub trait SchematicConnector: Widget + Any {}
| ^^^^^^ required by this bound in `SchematicConnector`
error[E0308]: arguments to this function are incorrect
--> crates/cdm_core/src/datatypes/project_types/cable.rs:105:12
|
105 | Ok(MultiRightAngle::new(
| ^^^^^^^^^^^^^^^^^^^^
|
note: expected `Vec<Box<dyn SchematicConnector>>`, found `Vec<RightAngle>`
--> crates/cdm_core/src/datatypes/project_types/cable.rs:107:13
|
107 | end1_connections,
| ^^^^^^^^^^^^^^^^
= note: expected struct `std::vec::Vec<std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>>`
found struct `std::vec::Vec<datatypes::schematic_connector::right_angle::RightAngle>`
note: expected `Vec<Box<dyn SchematicConnector>>`, found `Vec<RightAngle>`
--> crates/cdm_core/src/datatypes/project_types/cable.rs:109:13
|
109 | end2_connections,
| ^^^^^^^^^^^^^^^^
= note: expected struct `std::vec::Vec<std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>>`
found struct `std::vec::Vec<datatypes::schematic_connector::right_angle::RightAngle>`
note: associated function defined here
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:184:12
|
184 | pub fn new(
| ^^^
185 | end1_junction: ConnectionPoint,
186 | end1_connections: Vec<Box<dyn SchematicConnector>>,
| --------------------------------------------------
187 | end2_junction: ConnectionPoint,
188 | end2_connections: Vec<Box<dyn SchematicConnector>>,
| --------------------------------------------------
error[E0599]: no method named `downcast_mut` found for mutable reference `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` in the current scope
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:102:34
|
102 | match connection.downcast_mut::<RightAngle>() {
| ^^^^^^^^^^^^
|
help: there is a method `as_mut` with a similar name
|
102 - match connection.downcast_mut::<RightAngle>() {
102 + match connection.as_mut::<RightAngle>() {
|
error[E0282]: type annotations needed
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:107:25
|
107 | ra.move_end1_position(drag_delta);
| ^^ cannot infer type
error[E0599]: no method named `move_end1_position` found for mutable reference `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` in the current scope
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:133:28
|
133 | connection.move_end1_position(drag_delta);
| ^^^^^^^^^^^^^^^^^^ method not found in `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>`
error[E0599]: no method named `containing_rect` found for mutable reference `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` in the current scope
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:139:54
|
139 | let inner_response = ui.place(connection.containing_rect(), &mut *connection);
| ^^^^^^^^^^^^^^^ method not found in `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>`
error[E0277]: expected a `FnMut(&mut egui::Ui)` closure, found `(dyn datatypes::schematic_connector::SchematicConnector + 'static)`
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:139:73
|
139 | let inner_response = ui.place(connection.containing_rect(), &mut *connection);
| ----- ^^^^^^^^^^^^^^^^ expected an `FnMut(&mut egui::Ui)` closure, found `(dyn datatypes::schematic_connector::SchematicConnector + 'static)`
| |
| required by a bound introduced by this call
|
= help: the trait `for<'a> FnMut(&'a mut egui::Ui)` is not implemented for `(dyn datatypes::schematic_connector::SchematicConnector + 'static)`
= help: the following other types implement trait `egui::Widget`:
&egui::epaint::PaintStats
&mut datatypes::schematic_connector::ConnectionPoint
&mut datatypes::schematic_connector::multi_right_angle::MultiRightAngle
&mut datatypes::schematic_connector::right_angle::RightAngle
&mut datatypes::schematic_symbol::SchematicSymbol
&mut egui::CornerRadius
&mut egui::FontTweak
&mut egui::Frame
and 19 others
= note: required for `std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` to implement `for<'a> FnMut(&'a mut egui::Ui)`
= note: required for `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` to implement `for<'a> FnOnce(&'a mut egui::Ui)`
= note: required for `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` to implement `egui::Widget`
note: required by a bound in `egui::Ui::place`
--> /home/toxicsauce/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/egui-0.33.3/src/ui.rs:1813:58
|
1813 | pub fn place(&mut self, max_rect: Rect, widget: impl Widget) -> Response {
| ^^^^^^ required by this bound in `Ui::place`
error[E0277]: expected a `FnMut(&mut egui::Ui)` closure, found `(dyn datatypes::schematic_connector::SchematicConnector + 'static)`
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:139:78
|
139 | let inner_response = ui.place(connection.containing_rect(), &mut *connection);
| ----- ^^^^^^^^^^^ expected an `FnMut(&mut egui::Ui)` closure, found `(dyn datatypes::schematic_connector::SchematicConnector + 'static)`
| |
| required by a bound introduced by this call
|
= help: the trait `for<'a> FnMut(&'a mut egui::Ui)` is not implemented for `(dyn datatypes::schematic_connector::SchematicConnector + 'static)`
= help: the following other types implement trait `egui::Widget`:
&egui::epaint::PaintStats
&mut datatypes::schematic_connector::ConnectionPoint
&mut datatypes::schematic_connector::multi_right_angle::MultiRightAngle
&mut datatypes::schematic_connector::right_angle::RightAngle
&mut datatypes::schematic_symbol::SchematicSymbol
&mut egui::CornerRadius
&mut egui::FontTweak
&mut egui::Frame
and 19 others
= note: required for `std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` to implement `for<'a> FnMut(&'a mut egui::Ui)`
= note: required for `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` to implement `for<'a> FnOnce(&'a mut egui::Ui)`
= note: required for `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` to implement `egui::Widget`
note: required by a bound in `egui::Ui::place`
--> /home/toxicsauce/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/egui-0.33.3/src/ui.rs:1813:58
|
1813 | pub fn place(&mut self, max_rect: Rect, widget: impl Widget) -> Response {
| ^^^^^^ required by this bound in `Ui::place`
error[E0599]: no method named `move_midpoint` found for mutable reference `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` in the current scope
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:153:28
|
153 | connection.move_midpoint(inner_response.drag_delta());
| ^^^^^^^^^^^^^ method not found in `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>`
error[E0599]: no method named `containing_rect` found for mutable reference `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` in the current scope
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:158:54
|
158 | let inner_response = ui.place(connection.containing_rect(), &mut *connection);
| ^^^^^^^^^^^^^^^ method not found in `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>`
error[E0277]: expected a `FnMut(&mut egui::Ui)` closure, found `(dyn datatypes::schematic_connector::SchematicConnector + 'static)`
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:158:73
|
158 | let inner_response = ui.place(connection.containing_rect(), &mut *connection);
| ----- ^^^^^^^^^^^^^^^^ expected an `FnMut(&mut egui::Ui)` closure, found `(dyn datatypes::schematic_connector::SchematicConnector + 'static)`
| |
| required by a bound introduced by this call
|
= help: the trait `for<'a> FnMut(&'a mut egui::Ui)` is not implemented for `(dyn datatypes::schematic_connector::SchematicConnector + 'static)`
= help: the following other types implement trait `egui::Widget`:
&egui::epaint::PaintStats
&mut datatypes::schematic_connector::ConnectionPoint
&mut datatypes::schematic_connector::multi_right_angle::MultiRightAngle
&mut datatypes::schematic_connector::right_angle::RightAngle
&mut datatypes::schematic_symbol::SchematicSymbol
&mut egui::CornerRadius
&mut egui::FontTweak
&mut egui::Frame
and 19 others
= note: required for `std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` to implement `for<'a> FnMut(&'a mut egui::Ui)`
= note: required for `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` to implement `for<'a> FnOnce(&'a mut egui::Ui)`
= note: required for `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` to implement `egui::Widget`
note: required by a bound in `egui::Ui::place`
--> /home/toxicsauce/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/egui-0.33.3/src/ui.rs:1813:58
|
1813 | pub fn place(&mut self, max_rect: Rect, widget: impl Widget) -> Response {
| ^^^^^^ required by this bound in `Ui::place`
error[E0277]: expected a `FnMut(&mut egui::Ui)` closure, found `(dyn datatypes::schematic_connector::SchematicConnector + 'static)`
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:158:78
|
158 | let inner_response = ui.place(connection.containing_rect(), &mut *connection);
| ----- ^^^^^^^^^^^ expected an `FnMut(&mut egui::Ui)` closure, found `(dyn datatypes::schematic_connector::SchematicConnector + 'static)`
| |
| required by a bound introduced by this call
|
= help: the trait `for<'a> FnMut(&'a mut egui::Ui)` is not implemented for `(dyn datatypes::schematic_connector::SchematicConnector + 'static)`
= help: the following other types implement trait `egui::Widget`:
&egui::epaint::PaintStats
&mut datatypes::schematic_connector::ConnectionPoint
&mut datatypes::schematic_connector::multi_right_angle::MultiRightAngle
&mut datatypes::schematic_connector::right_angle::RightAngle
&mut datatypes::schematic_symbol::SchematicSymbol
&mut egui::CornerRadius
&mut egui::FontTweak
&mut egui::Frame
and 19 others
= note: required for `std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` to implement `for<'a> FnMut(&'a mut egui::Ui)`
= note: required for `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` to implement `for<'a> FnOnce(&'a mut egui::Ui)`
= note: required for `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` to implement `egui::Widget`
note: required by a bound in `egui::Ui::place`
--> /home/toxicsauce/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/egui-0.33.3/src/ui.rs:1813:58
|
1813 | pub fn place(&mut self, max_rect: Rect, widget: impl Widget) -> Response {
| ^^^^^^ required by this bound in `Ui::place`
error[E0599]: no method named `move_midpoint` found for mutable reference `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>` in the current scope
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:172:28
|
172 | connection.move_midpoint(inner_response.drag_delta());
| ^^^^^^^^^^^^^ method not found in `&mut std::boxed::Box<(dyn datatypes::schematic_connector::SchematicConnector + 'static)>`
error[E0631]: type mismatch in function arguments
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:279:18
|
279 | .map(RightAngle::containing_rect)
| --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected due to this
| |
| required by a bound introduced by this call
|
::: crates/cdm_core/src/datatypes/schematic_connector/right_angle.rs:181:5
|
181 | pub fn containing_rect(&self) -> Rect {
| ------------------------------------- found signature defined here
|
= note: expected function signature `fn(&std::boxed::Box<dyn datatypes::schematic_connector::SchematicConnector>) -> _`
found function signature `fn(&datatypes::schematic_connector::right_angle::RightAngle) -> _`
note: required by a bound in `std::iter::Iterator::map`
--> /rustc/e408947bfd200af42db322daf0fadfe7e26d3bd1/library/core/src/iter/traits/iterator.rs:777:4
help: consider wrapping the function in a closure
|
279 | .map(|arg0: &std::boxed::Box<dyn datatypes::schematic_connector::SchematicConnector>| RightAngle::containing_rect(/* &datatypes::schematic_connector::right_angle::RightAngle */))
| ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
error[E0599]: the method `collect` exists for struct `Map<Chain<Iter<'_, Box<dyn SchematicConnector>>, Iter<'_, Box<dyn SchematicConnector>>>, ...>`, but its trait bounds were not satisfied
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:280:14
|
278 | let connector_rects: Vec<Rect> = chain(&self.end1_connections, &self.end2_connections)
| __________________________________________-
279 | | .map(RightAngle::containing_rect)
280 | | .collect();
| | -^^^^^^^ method cannot be called due to unsatisfied trait bounds
| |_____________|
|
|
= note: the following trait bounds were not satisfied:
`<for<'a> fn(&'a datatypes::schematic_connector::right_angle::RightAngle) -> egui::Rect {datatypes::schematic_connector::right_angle::RightAngle::containing_rect} as std::ops::FnOnce<(&std::boxed::Box<dyn datatypes::schematic_connector::SchematicConnector>,)>>::Output = _`
which is required by `std::iter::Map<std::iter::Chain<std::slice::Iter<'_, std::boxed::Box<dyn datatypes::schematic_connector::SchematicConnector>>, std::slice::Iter<'_, std::boxed::Box<dyn datatypes::schematic_connector::SchematicConnector>>>, for<'a> fn(&'a datatypes::schematic_connector::right_angle::RightAngle) -> egui::Rect {datatypes::schematic_connector::right_angle::RightAngle::containing_rect}>: std::iter::Iterator`
`for<'a> fn(&'a datatypes::schematic_connector::right_angle::RightAngle) -> egui::Rect {datatypes::schematic_connector::right_angle::RightAngle::containing_rect}: std::ops::FnMut<(&std::boxed::Box<dyn datatypes::schematic_connector::SchematicConnector>,)>`
which is required by `std::iter::Map<std::iter::Chain<std::slice::Iter<'_, std::boxed::Box<dyn datatypes::schematic_connector::SchematicConnector>>, std::slice::Iter<'_, std::boxed::Box<dyn datatypes::schematic_connector::SchematicConnector>>>, for<'a> fn(&'a datatypes::schematic_connector::right_angle::RightAngle) -> egui::Rect {datatypes::schematic_connector::right_angle::RightAngle::containing_rect}>: std::iter::Iterator`
`std::iter::Map<std::iter::Chain<std::slice::Iter<'_, std::boxed::Box<dyn datatypes::schematic_connector::SchematicConnector>>, std::slice::Iter<'_, std::boxed::Box<dyn datatypes::schematic_connector::SchematicConnector>>>, for<'a> fn(&'a datatypes::schematic_connector::right_angle::RightAngle) -> egui::Rect {datatypes::schematic_connector::right_angle::RightAngle::containing_rect}>: std::iter::Iterator`
which is required by `&mut std::iter::Map<std::iter::Chain<std::slice::Iter<'_, std::boxed::Box<dyn datatypes::schematic_connector::SchematicConnector>>, std::slice::Iter<'_, std::boxed::Box<dyn datatypes::schematic_connector::SchematicConnector>>>, for<'a> fn(&'a datatypes::schematic_connector::right_angle::RightAngle) -> egui::Rect {datatypes::schematic_connector::right_angle::RightAngle::containing_rect}>: std::iter::Iterator`
= note: the full name for the type has been written to '/home/toxicsauce/projects/src/github.com/sww1235/connection-diagram-manager/target/debug/deps/cdm_core-efe29431665cd958.long-type-7632612688941049871.txt'
= note: consider using `--verbose` to print the full type name to the console
error[E0282]: type annotations needed
--> crates/cdm_core/src/datatypes/schematic_connector/multi_right_angle.rs:283:24
|
283 | .flat_map(|rect| [rect.left_top(), rect.right_bottom()].to_vec())
| ^^^^ ---- type must be known at this point
|
help: consider giving this closure parameter an explicit type
|
283 | .flat_map(|rect: /* Type */| [rect.left_top(), rect.right_bottom()].to_vec())
| ++++++++++++
warning: unreachable pattern
--> crates/cdm_core/src/datatypes/color.rs:97:26
|
97 | Self::GRAY | Self::GREY => "GRY".to_owned(),
| ---------- ^^^^^^^^^^ no value can reach this
| |
| matches all the relevant values
|
= note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
warning: unreachable pattern
--> crates/cdm_core/src/datatypes/color.rs:92:13
|
91 | Self::PINK => "PNK".to_owned(),
| ---------- matches all the relevant values
92 | Self::ROSE => "RSE".to_owned(),
| ^^^^^^^^^^ no value can reach this
warning: unreachable pattern
--> crates/cdm_core/src/datatypes/color.rs:98:13
|
97 | Self::GRAY | Self::GREY => "GRY".to_owned(),
| ----------------------- matches all the relevant values
98 | Self::SLATE => "SLT".to_owned(),
| ^^^^^^^^^^^ no value can reach this
warning: unreachable pattern
--> crates/cdm_core/src/datatypes/color.rs:99:13
|
96 | Self::WHITE => "WHT".to_owned(),
| ----------- matches all the relevant values
...
99 | Self::CLEAR => "CLR".to_owned(),
| ^^^^^^^^^^^ no value can reach this
warning: unreachable pattern
--> crates/cdm_core/src/datatypes/color.rs:101:13
|
100 | Self::CYAN => "CYN".to_owned(),
| ---------- matches all the relevant values
101 | Self::AQUA => "AQA".to_owned(),
| ^^^^^^^^^^ no value can reach this
warning: unused variable: `equipment_id`
--> crates/cdm_core/src/datatypes/project_types/equipment.rs:336:53
|
336 | ... equipment_id,
| ^^^^^^^^^^^^ help: try ignoring the field: `equipment_id: _`
|
= note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
warning: unused variable: `equipment_id`
--> crates/cdm_core/src/datatypes/project_types/equipment.rs:346:53
|
346 | ... equipment_id,
| ^^^^^^^^^^^^ help: try ignoring the field: `equipment_id: _`
warning: unused variable: `equipment_id`
--> crates/cdm_core/src/datatypes/project_types/equipment.rs:367:53
|
367 | ... equipment_id,
| ^^^^^^^^^^^^ help: try ignoring the field: `equipment_id: _`
warning: unused variable: `term_strip_id`
--> crates/cdm_core/src/datatypes/project_types/equipment.rs:372:57
|
372 | ... term_strip_id,
| ^^^^^^^^^^^^^ help: try ignoring the field: `term_strip_id: _`
warning: unused variable: `equipment_id`
--> crates/cdm_core/src/datatypes/project_types/equipment.rs:380:53
|
380 | ... equipment_id,
| ^^^^^^^^^^^^ help: try ignoring the field: `equipment_id: _`
warning: unused variable: `term_strip_id`
--> crates/cdm_core/src/datatypes/project_types/equipment.rs:385:57
|
385 | ... term_strip_id,
| ^^^^^^^^^^^^^ help: try ignoring the field: `term_strip_id: _`
Some errors have detailed explanations: E0277, E0282, E0308, E0599, E0631.
For more information about an error, try `rustc --explain E0277`.
warning: `connection_diagram_manager` (lib) generated 12 warnings
error: could not compile `connection_diagram_manager` (lib) due to 19 previous errors; 12 warnings emitted
Given that this output is so long, and was vanishing out of my terminal, I was trying to keep things brief.
A lot of the errors are related to other traits breaking due to the Box<> not derefing.