Rust errors / Everything else
Rust compiler error · checked with rustc 1.99.0
Rust error E0797: base expression required after `..`
What it meansStruct update syntax was used without a base expression.
What rustc prints
error[E0797]: base expression required after `..` --> main.rs:9:28 | 9 | let f2 = Foo { fizz: 10, .. }; // error | ^ | help: add a base expression here | 9 | let f2 = Foo { fizz: 10, ../* expr */ }; // error | ++++++++++
Real output of rustc 1.99.0 compiling the official example below (2021 edition). Your names and line numbers will differ; the first line is the part to match.
The compiler team's explanation
Struct update syntax was used without a base expression.
Erroneous code example:
struct Foo {
fizz: u8,
buzz: u8
}
let f1 = Foo { fizz: 10, buzz: 1};
let f2 = Foo { fizz: 10, .. }; // error
Using struct update syntax requires a 'base expression'. This will be used to fill remaining fields.
struct Foo {
fizz: u8,
buzz: u8
}
let f1 = Foo { fizz: 10, buzz: 1};
let f2 = Foo { fizz: 10, ..f1 };From rustc --explain E0797 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
- E0061this function takes N arguments but M were supplied
- E0412cannot find type in this scope
- E0515cannot return reference to local variable
- E0728await is only allowed inside async functions and blocks
- E0787naked functions must contain a single `naked_asm!` invocation
- E0793reference to field of packed struct is unaligned
- E0798arguments for `"cmse-nonsecure-call"` function too large to pass via registers
Up next
Often hit nextE0061: this function takes N arguments but M were suppliedA related error from the same family.Read it next →Did this answer your question?