overdrivenpotato / rust-psp

Rust on PSP. Panic and allocation support. Access PSP system libraries.
Other
588 stars 31 forks source link

Cannot build #149

Closed xslendix closed 1 year ago

xslendix commented 1 year ago

I want to make a project on v0.3.3, but build fails:

Compiling psp v0.3.3
error[E0605]: non-primitive cast: `*mut &mut dyn BoxMeUp` as `&mut dyn BoxMeUp`
   --> /home/slendi/.cargo/registry/src/index.crates.io-6f17d22bba15001f/psp-0.3.3/src/panic.rs:151:42
    |
151 |         panic_unwind::__rust_start_panic(obj as _)
    |                                          ^^^^^^^^ invalid cast
    |
help: consider borrowing the value
    |
151 |         panic_unwind::__rust_start_panic(&mut *obj as _)
    |                                          ++++++

error[E0277]: the trait bound `&mut dyn BoxMeUp: BoxMeUp` is not satisfied
   --> /home/slendi/.cargo/registry/src/index.crates.io-6f17d22bba15001f/psp-0.3.3/src/panic.rs:151:42
    |
151 |         panic_unwind::__rust_start_panic(obj as _)
    |                                          ^^^ the trait `BoxMeUp` is not implemented for `&mut dyn BoxMeUp`
    |
    = help: the trait `BoxMeUp` is implemented for `PanicPayload<'a>`
    = note: required for the cast from `&mut dyn BoxMeUp` to the object type `dyn BoxMeUp`

Some errors have detailed explanations: E0277, E0605.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `psp` (lib) due to 2 previous errors

Same error also happens on v0.3.2.

xslendix commented 1 year ago

Closing when #148 gets merged.