Skip to content

Unable to compile on rust >= 1.79 #85

@RaulMoldes

Description

@RaulMoldes

On version 0.28, I am unable to compile embedded-svc with rust => 1.79 . The problem is that there are name collisions between function parameters and global static symbols exported by esp-idf-sys:

``
error[E0530]: function parameters cannot shadow statics
--> /home/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/esp-idf-hal-0.45.2/src/adc.rs:70:13
|
3 | use esp_idf_sys::*;
| -------------- the static resolution is imported here
...
70 | fn from(resolution: Resolution) -> Self {
| ^^^^^^^^^^ cannot be named the same as a static

error[E0530]: function parameters cannot shadow statics
--> /home/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/esp-idf-hal-0.45.2/src/can.rs:93:17
|
65 | use esp_idf_sys::*;
| -------------- the static resolution is imported here
...
93 | fn from(resolution: Timing) -> Self {
| ^^^^^^^^^^ cannot be named the same as a static

For more information about this error, try rustc --explain E0530.
error: could not compile esp-idf-hal (lib) due to 2 previous errors
``
I have made some research and it seems that Rust 1.79 stabilized a lint and later releases turned “parameter shadows static” into a hard error, crates that previously compiled now fail.
Do you guys have an idea about how to fix it?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions