Skip to content

build failure on rustc 1.89.0-nightly: method codegen_crate has 4 parameters but the declaration in trait rustc_codegen_ssa::traits::CodegenBackend::codegen_crate #67

Open
@Absolucy

Description

@Absolucy
❯ rustc -V
rustc 1.89.0-nightly (45acf54ee 2025-06-16)
rustc_codegen_clr on  main [!] is 📦 v0.1.0 via 🦀 v1.89.0-nightly
❯ cargo check
   Compiling proc-macro2 v1.0.95
   Compiling unicode-ident v1.0.18
   Compiling semver v1.0.26
   Compiling autocfg v1.4.0
   Compiling serde v1.0.219
    Checking scopeguard v1.2.0
    Checking byteorder v1.5.0
    Checking stable_deref_trait v1.2.0
    Checking cobs v0.2.3
    Checking rustc-demangle v0.1.25
    Checking ar v0.9.0
   Compiling windows_x86_64_msvc v0.53.0
   Compiling libc v0.2.174
    Checking bytecount v0.6.9
    Checking hash32 v0.2.1
    Checking fxhash v0.2.1
    Checking windows-targets v0.53.2
   Compiling lock_api v0.4.13
    Checking libloading v0.8.8
   Compiling rustc_version v0.4.1
   Compiling heapless v0.7.17
   Compiling quote v1.0.40
    Checking spin v0.9.8
   Compiling syn v2.0.103
   Compiling serde_derive v1.0.219
    Checking postcard v1.1.1
    Checking cilly v0.1.1 (C:\Users\Lucy\Code\Rust\rustc_codegen_clr\cilly)
    Checking rustc_codegen_clr_ctx v0.1.0 (C:\Users\Lucy\Code\Rust\rustc_codegen_clr\rustc_codegen_clr_ctx)
    Checking rustc_codegen_clr_type v0.1.0 (C:\Users\Lucy\Code\Rust\rustc_codegen_clr\rustc_codegen_clr_type)
    Checking rustc_codegen_clr_call v0.1.0 (C:\Users\Lucy\Code\Rust\rustc_codegen_clr\rustc_codegen_clr_call)
    Checking rustc_codegen_clr_place v0.1.0 (C:\Users\Lucy\Code\Rust\rustc_codegen_clr\rustc_codegen_clr_place)
    Checking rustc_codgen_clr_operand v0.1.0 (C:\Users\Lucy\Code\Rust\rustc_codegen_clr\rustc_codgen_clr_operand)
    Checking rustc_codegen_clr v0.1.0 (C:\Users\Lucy\Code\Rust\rustc_codegen_clr)
error[E0050]: method `codegen_crate` has 4 parameters but the declaration in trait `rustc_codegen_ssa::traits::CodegenBackend::codegen_crate` has 2
   --> src\lib.rs:181:9
    |
181 | /         &self,
182 | |         tcx: TyCtxt<'_>,
183 | |         metadata: EncodedMetadata,
184 | |         need_metadata_module: bool,
    | |__________________________________^ expected 2 parameters, found 4
    |
    = note: `codegen_crate` from trait: `fn(&Self, TyCtxt<'tcx>) -> std::boxed::Box<(dyn std::any::Any + 'static)>`

error[E0050]: method `link` has 4 parameters but the declaration in trait `rustc_codegen_ssa::traits::CodegenBackend::link` has 5
   --> src\lib.rs:336:13
    |
336 |     fn link(&self, sess: &Session, codegen_results: CodegenResults, outputs: &OutputFilenames) {
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 5 parameters, found 4
    |
    = note: `link` from trait: `fn(&Self, &Session, CodegenResults, EncodedMetadata, &OutputFilenames)`

error[E0560]: struct `CodegenResults` has no field named `metadata_module`
   --> src\lib.rs:327:17
    |
327 |                 metadata_module: None,
    |                 ^^^^^^^^^^^^^^^ `CodegenResults` does not have this field
    |
    = note: all struct fields are already assigned

error[E0560]: struct `CodegenResults` has no field named `metadata`
   --> src\lib.rs:328:17
    |
328 |                 metadata,
    |                 ^^^^^^^^ `CodegenResults` does not have this field
    |
    = note: all struct fields are already assigned

error[E0061]: this function takes 5 arguments but 4 arguments were supplied
   --> src\lib.rs:338:9
    |
338 |         link_binary(sess, &RlibArchiveBuilder, codegen_results, outputs);
    |         ^^^^^^^^^^^                                             ------- argument #4 of type `EncodedMetadata` is missing
    |
note: function defined here
   --> /rustc-dev/45acf54eea118ed27927282b5e0bfdcd80b7987c\compiler\rustc_codegen_ssa\src\back\link.rs:91:8
help: provide the argument
    |
338 |         link_binary(sess, &RlibArchiveBuilder, codegen_results, /* EncodedMetadata */, outputs);
    |                                                                 ++++++++++++++++++++++

Some errors have detailed explanations: E0050, E0061, E0560.
For more information about an error, try `rustc --explain E0050`.
error: could not compile `rustc_codegen_clr` (lib) due to 5 previous errors

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions