You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
┌─╼[~/Projects/sos-kernel] [master*]
└────╼ make kernel
Compiling vga v0.1.0 (file:///Users/shea/Projects/sos-kernel/vga)
error[E0277]: the trait bound `core::ptr::NonNull<[[Char; 80]; 25]>: core::marker::Send` is not satisfied in `Terminal`
--> vga/src/lib.rs:91:1
|
91 | / pub static CONSOLE: Mutex<Terminal>
92 | | = Mutex::new(unsafe { Terminal::new(
93 | | Palette::new(Color::LightGrey, Color::Black )
94 | | , 0xB8000
95 | | )});
| |________^ `core::ptr::NonNull<[[Char; 80]; 25]>` cannot be sent between threads safely
|
= help: within `Terminal`, the trait `core::marker::Send` is not implemented for `core::ptr::NonNull<[[Char; 80]; 25]>`
= note: required because it appears within the type `Terminal`
= note: required because of the requirements on the impl of `core::marker::Sync` for `spin::Mutex<Terminal>`
= note: shared static variables must have a type that implements `Sync`
error: aborting due to previous error
error: Could not compile `vga`.
To learn more, run the command again with --verbose.
make: *** [target/x86_64-sos-kernel-gnu/debug/sos_kernel] Error 101
The text was updated successfully, but these errors were encountered:
yeah, this is because Unique makes Send + Sync guarantees that NotNull doesn't, I forgot about this when I opened the issue to rename them. I need to add markers there.
The text was updated successfully, but these errors were encountered: