jam1garner/cargo-skyline

cargo skyline build fails with latest std

Closed this issue · 1 comments

I upgraded to 3.0.0, and updated the std, and now when I try to compile a plugin I get this error

error[E0277]: the trait bound `Box<sys::switch::locks::mutex::Mutex>: check::CondvarCheck` is not satisfied in `sync::condvar::Condvar`
   --> C:\Users\m\.cargo\skyline\toolchain\skyline\lib\rustlib\src\rust\library\std\src\sync\barrier.rs:36:11
    |
36  |     cvar: Condvar,
    |           ^^^^^^^ within `sync::condvar::Condvar`, the trait `check::CondvarCheck` is not implemented for `Box<sys::switch::locks::mutex::Mutex>`
    |
    = help: the following other types implement trait `check::CondvarCheck`:
              LazyBox<T>
              sys::switch::locks::mutex::Mutex
note: required because it appears within the type `sync::condvar::Condvar`
   --> C:\Users\m\.cargo\skyline\toolchain\skyline\lib\rustlib\src\rust\library\std\src\sync\condvar.rs:109:12
    |
109 | pub struct Condvar {
    |            ^^^^^^^
    = note: only the last field of a struct may have a dynamically sized type
    = help: change the field's type to have a statically known size
help: borrowed types always have a statically known size
    |
36  |     cvar: &Condvar,
    |           +
help: the `Box` type always has a statically known size and allocates its contents in the heap
    |
36  |     cvar: Box<Condvar>,
    |           ++++       +


error[E0277]: the trait bound `Box<sys::switch::locks::mutex::Mutex>: check::CondvarCheck` is not satisfied in `sync::condvar::Condvar`
   --> C:\Users\m\.cargo\skyline\toolchain\skyline\lib\rustlib\src\rust\library\std\src\sync\condvar.rs:559:6
    |
559 | impl Default for Condvar {
    |      ^^^^^^^ within `sync::condvar::Condvar`, the trait `check::CondvarCheck` is not implemented for `Box<sys::switch::locks::mutex::Mutex>`
    |
    = help: the following other types implement trait `check::CondvarCheck`:
              LazyBox<T>
              sys::switch::locks::mutex::Mutex
note: required because it appears within the type `sync::condvar::Condvar`
   --> C:\Users\m\.cargo\skyline\toolchain\skyline\lib\rustlib\src\rust\library\std\src\sync\condvar.rs:109:12
    |
109 | pub struct Condvar {
    |            ^^^^^^^
note: required by a bound in `core::default::Default`
   --> C:\Users\m\.cargo\skyline\toolchain\skyline\lib\rustlib\src\rust\library\core\src\default.rs:102:20
    |
102 | pub trait Default: Sized {
    |                    ^^^^^ required by this bound in `core::default::Default`


error[E0277]: the trait bound `Box<sys::switch::locks::mutex::Mutex>: check::CondvarCheck` is not satisfied
  --> C:\Users\m\.cargo\skyline\toolchain\skyline\lib\rustlib\src\rust\library\std\src\sys_common\condvar.rs:12:12
   |
12 |     check: CondvarCheck,
   |            ^^^^^^^^^^^^ the trait `check::CondvarCheck` is not implemented for `Box<sys::switch::locks::mutex::Mutex>`
   |
   = help: the following other types implement trait `check::CondvarCheck`:
             LazyBox<T>
             sys::switch::locks::mutex::Mutex


error: aborting due to 3 previous errors


For more information about this error, try `rustc --explain E0277`.

error: could not compile `std` due to 4 previous errors
warning: build failed, waiting for other jobs to finish...

Nevermind. Installed the update the wrong way.