Rust errors / Everything else
Rust compiler error · checked with rustc 1.99.0
Rust error E0688: #### Note: this error code is no longer emitted by the compiler
What it means#### Note: this error code is no longer emitted by the compiler.
Retired: rustc no longer emits this error code. You may still see it in old answers, books and CI logs from older toolchains; the explanation below is kept for reference.
The compiler team's explanation
Note: this error code is no longer emitted by the compiler.
In-band lifetimes were mixed with explicit lifetime binders.
Erroneous code example:
#![feature(in_band_lifetimes)]
fn foo<'a>(x: &'a u32, y: &'b u32) {} // error!
struct Foo<'a> { x: &'a u32 }
impl Foo<'a> {
fn bar<'b>(x: &'a u32, y: &'b u32, z: &'c u32) {} // error!
}
impl<'b> Foo<'a> { // error!
fn baz() {}
}
In-band lifetimes cannot be mixed with explicit lifetime binders. For example:
fn foo<'a, 'b>(x: &'a u32, y: &'b u32) {} // ok!
struct Foo<'a> { x: &'a u32 }
impl<'a> Foo<'a> {
fn bar<'b,'c>(x: &'a u32, y: &'b u32, z: &'c u32) {} // ok!
}
impl<'a> Foo<'a> { // ok!
fn baz() {}
}From rustc --explain E0688 (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
- E0659`foo` is ambiguous
- E0670Rust 2015 does not permit the use of `async fn`
- E0695unlabeled `break` inside of a labeled block
- E0696`continue` pointing to a labeled block
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?