Closed szborows closed 3 years ago
x86_64 version 0.13.6 broke only recently with the release of another version of rustup nightly. I only noticed the problem myself on April 30 of this year, so it's pretty fresh. By rebuilding the project with older rust everything should work. Also take a look at the page that the compiler gives you. https://github.com/rust-lang/rust/issues/57563
Thanks for reporting! As @JakubGawron23 noted, this is caused by some breaking changes on the Rust nightly channel. I try my best to update the blog for this soon!
I erroneously reported it as problem in post-05
. It actually refers to post-04
. Version 0.14.1 helps, but then when you move to post-05
you'll face following error. As for now, as @JakubGawron23 wrote, the best solution is to use older nightly build of Rust.
error[E0308]: mismatched types
--> src/interrupts.rs:6:35
|
6 | idt.breakpoint.set_handler_fn(breakpoint_handler);
| ^^^^^^^^^^^^^^^^^^ expected struct `InterruptStackFrame`, found `&mut InterruptStackFrame`
|
= note: expected fn pointer `extern "x86-interrupt" fn(InterruptStackFrame)`
found fn item `extern "x86-interrupt" for<'r> fn(&'r mut InterruptStackFrame) {breakpoint_handler}`
This should be fixed with https://github.com/phil-opp/blog_os/pull/990. Please let me know if you still have problems!
hi,
when running
cargo test
inpost-05
(right after introducingx86_64
) compilation fails with following errors. I know @phil-opp you are involved in the other thread, so just wanna ask - shouldn't the blog post be updated?https://github.com/rust-osdev/x86_64/pull/250