Isn't the `LimineEntryPoint` type missing `extern "C"`?
Closed this issue · 0 comments
nils-mathieu commented
Currently, the LimineEntryPoint
type wraps an fn() -> !
. Is there a reason why calling this function with the Rust calling convention works as expected? Shouldn't it be extern "C" fn() -> !
?
Also, I've got a question:
The LimineEntryPointRequest
structure stores a LiminePtr<LimineEntryPoint>
internally. Is there a reason for that? I mean, LiminePtr<LimineEntryPoint>
basically translates to *mut fn() -> !
, and it pretty weird knowing that the "real" type is fn() -> !
. In fact, the LiminePtr::<LimineEntryPoint>::new
method creates a LiminePtr
by casting the input fn() -> !
into a *mut fn() -> !
. Why not simply using Option<LimineEntryPoint>
in LimineEntryPointRequest
?