Skip to content

[Bug] ASIO broken with 0.17.1 #1100

@nico-franco-gomez

Description

@nico-franco-gomez

I was going to update to CPAL's latest version (as of today 0.17.1), but I noticed that the ASIO code stopped working in several ways when compiling my project. Some struct properties and functions were renamed, some objects do not exist anymore.

Issues from the compiler:

error[E0308]: mismatched types
   --> ***\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cpal-0.17.1\src\host\asio\stream.rs:654:20
    |
654 |             if let sys::AsioMessageSelectors::kAsioResetRequest = msg {
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   --- this expression has type `&CallbackInfo`
    |                    |
    |                    expected `CallbackInfo`, found `AsioMessageSelectors`

error[E0308]: mismatched types
   --> ***\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cpal-0.17.1\src\host\asio\stream.rs:652:9
    |
646 |       fn add_message_callback<E>(&self, error_callback: E) -> sys::MessageCallbackId
    |                                                               ---------------------- expected `MessageCallbackId` because of return type
...
652 | /         self.driver.add_callback(move |msg| {
653 | |             // Check specifically for ResetRequest
654 | |             if let sys::AsioMessageSelectors::kAsioResetRequest = msg {
655 | |                 if let Ok(mut cb) = error_callback_shared.lock() {
655 | |                 if let Ok(mut cb) = error_callback_shared.lock() {
...   |
659 | |         })
    | |__________^ expected `MessageCallbackId`, found `CallbackId`

error[E0308]: mismatched types
   --> ***\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cpal-0.17.1\src\host\asio\stream.rs:667:30
    |
667 |             .remove_callback(self.message_callback_id);
    |              --------------- ^^^^^^^^^^^^^^^^^^^^^^^^ expected `CallbackId`, found `MessageCallbackId`
    |              |
    |              arguments to this method are incorrect
    |
note: method defined here
   --> ***\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\asio-sys-0.2.5\src\bindings\mod.rs:741:12
    |
741 |     pub fn remove_callback(&self, rem_id: CallbackId) {
    |            ^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0308`.
error: could not compile `cpal` (lib) due to 3 previous errors

I guess my first reaction would be to ask how such a compile-time error can happen in the official release? Are maybe some maintainers for ASIO needed at the moment? I could try to help in there if it's a matter of human resources.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions