При использовании Closure в WASM, созданном с помощью Rust, выдает ошибку, указывающую, что указатель не является функцией

При использовании закрытия для привязки к событию с помощью web-sys я получаю сообщение об ошибке, что указатель не является функцией

Импорт:

use wasm_bindgen::prelude::*;
use wasm_bindgen::JsCast;
use web_sys::{
    console,HtmlCanvasElement,CanvasRenderingContext2d,
    HtmlImageElement,HtmlDivElement,MouseEvent
};

Код ошибки:

    let mut bool = false;
    let closure = Closure::wrap(Box::new(move |event: MouseEvent| {
        bool = true;
        console::log_1(&"mouse moved".into());
    }) as Box<dyn FnMut(_)>);
    canvas.set_onmouseenter(Some(closure.as_ref().unchecked_ref()));
    closure.forget();

Ошибка в firefox:

TypeError: wasm._dyn_core__ops__function__FnMut___A____Output___R_as_painter_wasm_controller__closure__WasmClosure___describe__invoke__h7d5c063429d40c38 is not a function

Что я делаю не так?

0 ответов

Другие вопросы по тегам