Skip to content

Cannot build due to error in devise_core 2.1 #2974

@erwinwolff

Description

@erwinwolff

Rocket Version

0.5.1

Operating System

Windows x64 platform

Rust Toolchain Version

rustc 1.93.0-nightly (292be5c7c 2025-10-29)

What happened?

Could not compile rocket deps:
Compiling devise_core v0.2.1
Compiling ref-cast v1.0.25
Compiling toml_datetime v0.6.11
Compiling serde_spanned v0.6.9
Compiling rocket_codegen v0.4.11
Compiling stable-pattern v0.1.0
Compiling either v1.15.0
Compiling toml_write v0.1.2
error[E0557]: feature has been removed
--> C:\Users\xxx.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\devise_core-0.2.1\src\lib.rs:2:12
|
2 | #![feature(concat_idents)]
| ^^^^^^^^^^^^^ feature has been removed
|
= note: removed in 1.90.0; see rust-lang/rust#142704 for more information
= note: use the ${concat(..)} metavariable expression instead

error: cannot find macro concat_idents in this scope
--> C:\Users\xx.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\devise_core-0.2.1\src\generator.rs:29:39
|
29 | $(self.$vec.push(Box::new(concat_idents!(default_, $get_f)));)*
| ^^^^^^^^^^^^^
...
193 | / mappers! {
194 | | (map_struct, try_map_struct, struct_mapper): Struct, struct_mappers,
195 | | (map_enum, try_map_enum, enum_mapper): Enum, enum_mappers,
196 | | (map_variant, try_map_variant, variant_mapper): Variant, variant_mappers,
197 | | (map_fields, try_map_fields, fields_mapper): Fields, fields_mappers,
198 | | (map_field, try_map_field, field_mapper): Field, field_mappers
199 | | }
| |_____- in this macro invocation
|
= note: this error originates in the macro mappers (in Nightly builds, run with -Z macro-backtrace for more info)

Compiling state v0.6.0
Compiling base64 v0.13.1
Compiling winnow v0.7.13
Compiling futures v0.3.31
Compiling rocket_http v0.4.11
Compiling hyper v0.14.32
Compiling rust-embed-impl v5.9.0
Compiling uncased v0.9.10
For more information about this error, try rustc --explain E0557.
Compiling pear v0.2.9
error: could not compile devise_core (lib) due to 2 previous errors
warning: build failed, waiting for other jobs to finish...
error[E0520]: to_string specializes an item from a parent impl, but that item is not marked default
--> C:\Users\xx.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\rocket_http-0.4.11\src\raw_str.rs:406:5
|
406 | fn to_string(&self) -> String {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: parent implementation is in crate alloc

For more information about this error, try rustc --explain E0520.
error: could not compile rocket_http (lib) due to 1 previous error

Test Case

Any rocket codebase

Log Output

Compiling devise_core v0.2.1
   Compiling ref-cast v1.0.25
   Compiling toml_datetime v0.6.11
   Compiling serde_spanned v0.6.9
   Compiling rocket_codegen v0.4.11
   Compiling stable-pattern v0.1.0
   Compiling either v1.15.0
   Compiling toml_write v0.1.2
error[E0557]: feature has been removed
 --> C:\Users\xxx\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\devise_core-0.2.1\src\lib.rs:2:12
  |
2 | #![feature(concat_idents)]
  |            ^^^^^^^^^^^^^ feature has been removed
  |
  = note: removed in 1.90.0; see <https://github.com/rust-lang/rust/pull/142704> for more information
  = note: use the `${concat(..)}` metavariable expression instead

error: cannot find macro `concat_idents` in this scope
   --> C:\Users\xx\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\devise_core-0.2.1\src\generator.rs:29:39
    |
 29 |               $(self.$vec.push(Box::new(concat_idents!(default_, $get_f)));)*
    |                                         ^^^^^^^^^^^^^
...
193 | /     mappers! {
194 | |         (map_struct, try_map_struct, struct_mapper): Struct, struct_mappers,
195 | |         (map_enum, try_map_enum, enum_mapper): Enum, enum_mappers,
196 | |         (map_variant, try_map_variant, variant_mapper): Variant, variant_mappers,
197 | |         (map_fields, try_map_fields, fields_mapper): Fields, fields_mappers,
198 | |         (map_field, try_map_field, field_mapper): Field, field_mappers
199 | |     }
    | |_____- in this macro invocation
    |
    = note: this error originates in the macro `mappers` (in Nightly builds, run with -Z macro-backtrace for more info)

   Compiling state v0.6.0
   Compiling base64 v0.13.1
   Compiling winnow v0.7.13
   Compiling futures v0.3.31
   Compiling rocket_http v0.4.11
   Compiling hyper v0.14.32
   Compiling rust-embed-impl v5.9.0
   Compiling uncased v0.9.10
For more information about this error, try `rustc --explain E0557`.
   Compiling pear v0.2.9
error: could not compile `devise_core` (lib) due to 2 previous errors
warning: build failed, waiting for other jobs to finish...
error[E0520]: `to_string` specializes an item from a parent `impl`, but that item is not marked `default`
   --> C:\Users\xx\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\rocket_http-0.4.11\src\raw_str.rs:406:5
    |
406 |     fn to_string(&self) -> String {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: parent implementation is in crate `alloc`

For more information about this error, try `rustc --explain E0520`.
error: could not compile `rocket_http` (lib) due to 1 previous error

Additional Context

No response

System Checks

  • My bug report relates to functionality.
  • I have tested against the latest Rocket release or a recent git commit.
  • I have tested against the latest stable rustc toolchain.
  • I was unable to find this issue previously reported.

Metadata

Metadata

Assignees

No one assigned

    Labels

    triageA bug report being investigated

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions