You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Version of ssd1306 in use (if applicable): 0.9.0 (7ed51935bdc6e9e976d3d9a747e768589eaea0cf26f483213bfededc947c8624)
MCU/other hardware in use: Speed Studio Expansion Board with XIAMO SP2040
Display resolution and interface: I2C, 128x64
Description of the problem/feature request/other
I have a running local project with ssd1306 crate in version 0.9.0. It all worked fine, until today I wanted a second project with basically the same setup.
In the second project the ssd1306 crate just wouldn't compile:
~/Developer/Nova-Vergleich/Embedded/sp2040-playground git:[pagr]
cargo build
Compiling pio-parser v0.2.2
Compiling ssd1306 v0.9.0
error[E0277]: `Result<(), DisplayError>` is not a future
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:87:56
|
87 | ... false).send(iface).await
| -^^^^^
| ||
| |`Result<(), DisplayError>` is not a future
| help: remove the `.await`
|
= help: the trait `Future` is not implemented for `Result<(), DisplayError>`, which is required by `Result<(), DisplayError>: IntoFuture`
= note: Result<(), DisplayError> must be a future or must implement `IntoFuture` to be awaited
= note: required for `Result<(), DisplayError>` to implement `IntoFuture`
error[E0277]: `Result<(), DisplayError>` is not a future
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:105:57
|
105 | ... false).send(iface).await
| -^^^^^
| ||
| |`Result<(), DisplayError>` is not a future
| help: remove the `.await`
|
= help: the trait `Future` is not implemented for `Result<(), DisplayError>`, which is required by `Result<(), DisplayError>: IntoFuture`
= note: Result<(), DisplayError> must be a future or must implement `IntoFuture` to be awaited
= note: required for `Result<(), DisplayError>` to implement `IntoFuture`
error[E0277]: `Result<(), DisplayError>` is not a future
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:123:57
|
123 | ... false).send(iface).await
| -^^^^^
| ||
| |`Result<(), DisplayError>` is not a future
| help: remove the `.await`
|
= help: the trait `Future` is not implemented for `Result<(), DisplayError>`, which is required by `Result<(), DisplayError>: IntoFuture`
= note: Result<(), DisplayError> must be a future or must implement `IntoFuture` to be awaited
= note: required for `Result<(), DisplayError>` to implement `IntoFuture`
error[E0277]: `Result<(), DisplayError>` is not a future
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:143:56
|
143 | ... false).send(iface).await?;
| -^^^^^
| ||
| |`Result<(), DisplayError>` is not a future
| help: remove the `.await`
|
= help: the trait `Future` is not implemented for `Result<(), DisplayError>`, which is required by `Result<(), DisplayError>: IntoFuture`
= note: Result<(), DisplayError> must be a future or must implement `IntoFuture` to be awaited
= note: required for `Result<(), DisplayError>` to implement `IntoFuture`
error[E0277]: `Result<(), DisplayError>` is not a future
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:144:55
|
144 | ..., true).send(iface).await
| -^^^^^
| ||
| |`Result<(), DisplayError>` is not a future
| help: remove the `.await`
|
= help: the trait `Future` is not implemented for `Result<(), DisplayError>`, which is required by `Result<(), DisplayError>: IntoFuture`
= note: Result<(), DisplayError> must be a future or must implement `IntoFuture` to be awaited
= note: required for `Result<(), DisplayError>` to implement `IntoFuture`
error[E0277]: `Result<(), DisplayError>` is not a future
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:164:56
|
164 | ... false).send(iface).await
| -^^^^^
| ||
| |`Result<(), DisplayError>` is not a future
| help: remove the `.await`
|
= help: the trait `Future` is not implemented for `Result<(), DisplayError>`, which is required by `Result<(), DisplayError>: IntoFuture`
= note: Result<(), DisplayError> must be a future or must implement `IntoFuture` to be awaited
= note: required for `Result<(), DisplayError>` to implement `IntoFuture`
error[E0277]: `Result<(), DisplayError>` is not a future
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:184:56
|
184 | ... false).send(iface).await
| -^^^^^
| ||
| |`Result<(), DisplayError>` is not a future
| help: remove the `.await`
|
= help: the trait `Future` is not implemented for `Result<(), DisplayError>`, which is required by `Result<(), DisplayError>: IntoFuture`
= note: Result<(), DisplayError> must be a future or must implement `IntoFuture` to be awaited
= note: required for `Result<(), DisplayError>` to implement `IntoFuture`
error[E0119]: conflicting implementations of trait `size::DisplaySize` for type `size::DisplaySize128x64`
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:77:1
|
77 | impl DisplaySize for DisplaySize128x64 {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
| first implementation here
| conflicting implementation for `size::DisplaySize128x64`
error[E0119]: conflicting implementations of trait `size::DisplaySize` for type `size::DisplaySize128x32`
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:95:1
|
95 | impl DisplaySize for DisplaySize128x32 {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
| first implementation here
| conflicting implementation for `size::DisplaySize128x32`
error[E0119]: conflicting implementations of trait `size::DisplaySize` for type `size::DisplaySize96x16`
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:113:1
|
113 | impl DisplaySize for DisplaySize96x16 {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
| first implementation here
| conflicting implementation for `size::DisplaySize96x16`
error[E0119]: conflicting implementations of trait `size::DisplaySize` for type `size::DisplaySize72x40`
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:131:1
|
131 | impl DisplaySize for DisplaySize72x40 {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
| first implementation here
| conflicting implementation for `size::DisplaySize72x40`
error[E0119]: conflicting implementations of trait `size::DisplaySize` for type `size::DisplaySize64x48`
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:152:1
|
152 | impl DisplaySize for DisplaySize64x48 {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
| first implementation here
| conflicting implementation for `size::DisplaySize64x48`
error[E0119]: conflicting implementations of trait `size::DisplaySize` for type `DisplaySize64x32`
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:172:1
|
172 | impl DisplaySize for DisplaySize64x32 {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
| first implementation here
| conflicting implementation for `DisplaySize64x32`
error[E0277]: the trait bound `size::DisplaySize128x64: DisplaySizeAsync` is not satisfied
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/mode/terminal.rs:36:30
|
36 | impl TerminalDisplaySize for DisplaySize128x64 {
| ^^^^^^^^^^^^^^^^^ the trait `DisplaySizeAsync` is not implemented for `size::DisplaySize128x64`
|
help: this trait has no implementations, consider adding one
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:33:1
|
33 | pub trait DisplaySize {
| ^^^^^^^^^^^^^^^^^^^^^
note: required by a bound in `TerminalDisplaySizeAsync`
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/mode/terminal.rs:23:32
|
23 | pub trait TerminalDisplaySize: DisplaySize {
| ^^^^^^^^^^^ required by this bound in `TerminalDisplaySizeAsync`
error[E0277]: the trait bound `size::DisplaySize128x32: DisplaySizeAsync` is not satisfied
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/mode/terminal.rs:48:30
|
48 | impl TerminalDisplaySize for DisplaySize128x32 {
| ^^^^^^^^^^^^^^^^^ the trait `DisplaySizeAsync` is not implemented for `size::DisplaySize128x32`
|
help: this trait has no implementations, consider adding one
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:33:1
|
33 | pub trait DisplaySize {
| ^^^^^^^^^^^^^^^^^^^^^
note: required by a bound in `TerminalDisplaySizeAsync`
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/mode/terminal.rs:23:32
|
23 | pub trait TerminalDisplaySize: DisplaySize {
| ^^^^^^^^^^^ required by this bound in `TerminalDisplaySizeAsync`
error[E0277]: the trait bound `size::DisplaySize96x16: DisplaySizeAsync` is not satisfied
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/mode/terminal.rs:60:30
|
60 | impl TerminalDisplaySize for DisplaySize96x16 {
| ^^^^^^^^^^^^^^^^ the trait `DisplaySizeAsync` is not implemented for `size::DisplaySize96x16`
|
help: this trait has no implementations, consider adding one
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:33:1
|
33 | pub trait DisplaySize {
| ^^^^^^^^^^^^^^^^^^^^^
note: required by a bound in `TerminalDisplaySizeAsync`
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/mode/terminal.rs:23:32
|
23 | pub trait TerminalDisplaySize: DisplaySize {
| ^^^^^^^^^^^ required by this bound in `TerminalDisplaySizeAsync`
error[E0277]: the trait bound `size::DisplaySize72x40: DisplaySizeAsync` is not satisfied
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/mode/terminal.rs:72:30
|
72 | impl TerminalDisplaySize for DisplaySize72x40 {
| ^^^^^^^^^^^^^^^^ the trait `DisplaySizeAsync` is not implemented for `size::DisplaySize72x40`
|
help: this trait has no implementations, consider adding one
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:33:1
|
33 | pub trait DisplaySize {
| ^^^^^^^^^^^^^^^^^^^^^
note: required by a bound in `TerminalDisplaySizeAsync`
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/mode/terminal.rs:23:32
|
23 | pub trait TerminalDisplaySize: DisplaySize {
| ^^^^^^^^^^^ required by this bound in `TerminalDisplaySizeAsync`
error[E0277]: the trait bound `size::DisplaySize64x48: DisplaySizeAsync` is not satisfied
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/mode/terminal.rs:84:30
|
84 | impl TerminalDisplaySize for DisplaySize64x48 {
| ^^^^^^^^^^^^^^^^ the trait `DisplaySizeAsync` is not implemented for `size::DisplaySize64x48`
|
help: this trait has no implementations, consider adding one
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/size.rs:33:1
|
33 | pub trait DisplaySize {
| ^^^^^^^^^^^^^^^^^^^^^
note: required by a bound in `TerminalDisplaySizeAsync`
--> /CENSORED/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ssd1306-0.9.0/src/mode/terminal.rs:23:32
|
23 | pub trait TerminalDisplaySize: DisplaySize {
| ^^^^^^^^^^^ required by this bound in `TerminalDisplaySizeAsync`
Some errors have detailed explanations: E0119, E0277.
For more information about an error, try `rustc --explain E0119`.
error: could not compile `ssd1306` (lib) due to 18 previous errors
warning: build failed, waiting for other jobs to finish...
My tests indicate, that the culprit is the update of maybe-async-cfg from 0.2.4 (in the first project) to 0.2.5 (in the second project), as the following diff on the cargo.lock makes the difference between compiling and failing:
ssd1306
in use (if applicable): 0.9.0 (7ed51935bdc6e9e976d3d9a747e768589eaea0cf26f483213bfededc947c8624)Description of the problem/feature request/other
I have a running local project with ssd1306 crate in version 0.9.0. It all worked fine, until today I wanted a second project with basically the same setup.
In the second project the ssd1306 crate just wouldn't compile:
My tests indicate, that the culprit is the update of maybe-async-cfg from 0.2.4 (in the first project) to 0.2.5 (in the second project), as the following diff on the cargo.lock makes the difference between compiling and failing:
The text was updated successfully, but these errors were encountered: