¿Por qué una llamada a LoadCursorA produce un error de compilación?
¿Por qué genera errores de construcción de implementación de rasgo una llamada LoadCursorA cuando una llamada LoadCursorW no lo hace al usar la librería Rust para Windows?
#[allow(dead_code)]
use windows::Win32::UI::WindowsAndMessaging::LoadCursorA;
use windows::Win32::UI::WindowsAndMessaging::IDC_ARROW;
fn main() {
unsafe {
let _h_cursor = LoadCursorA(None, IDC_ARROW);
//let _h_cursor = LoadCursorA(None, &IDC_ARROW);
};
}
error[E0277]: no se cumple la restricción del rasgo PWSTR: IntoParam<', PSTR>
davy.ai
src/main.rs:7:25
|
7 | let h_cursor = LoadCursorA(None, IDC_ARROW);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ la trait
IntoParam<'_, PSTR>
no está implementada paraPWSTR
|
= ayuda: se encontraron las siguientes implementaciones:
<*mut c_void como IntoParam<‘, PSTR>>
<mut c_void como IntoParam<‘_, PCWSTR>>
<mut c_void como IntoParam<‘_, PSTR>>
<mut c_void como IntoParam<‘_, PCWSTR>>
<mut c_void como IntoParam<‘_, PSTR>>
<mut c_void como IntoParam<‘_, PCWSTR>>
<mut c_void como IntoParam<‘_, PSTR>>
<mut c_void como IntoParam<‘_, PCWSTR>>
<mut c_void como IntoParam<‘_, PSTR>>
<mut c_void como IntoParam<‘_, PCWSTR>>
<mut c_void como IntoParam<‘_, PSTR>>
<mut c_void como IntoParam<‘_, PCWSTR>>
<mut c_void como IntoParam<‘_, PSTR>>
<mut c_void como IntoParam<‘_, PCWSTR>>
<mut c_void como IntoParam<‘_, PSTR>>
<mut c_void como IntoParam<‘_, PCWSTR>>
<mut c_void como IntoParam<‘_, PSTR>>
<mut c_void como IntoParam<‘_, PCWSTR>>
<mut c_void como IntoParam<‘_, PSTR>>
<mut c_void como IntoParam<‘_, PCWSTR>>
<mut c_void como IntoParam<‘_, PSTR>>
<mut c_void como IntoParam<‘_, PCWSTR>>
<mut c_void como IntoParam<‘_, PSTR>>
<mut c_void como IntoParam<‘_, PCWSTR>>
<mut c_void como IntoParam<‘_, PSTR>>
<mut c_void como IntoParam<‘_, PCWSTR>>
<mut c_void como IntoParam<‘_, PSTR>>
<mut c_void como IntoParam<‘_, PCWSTR>>
<mut c_void como IntoParam<‘_, PSTR>>
<mut c_void como IntoParam<‘_, PCWSTR>>
<mut c_void como IntoParam<‘_, PSTR>>
<mut c_void como IntoParam<‘_, PCWSTR>>
<mut c_void como IntoParam<‘_,
PSTR>