crosspostato da: https://lemmy.world/post/1916287

Hi everybody, I’m new to Rust.

So, I have a struct Panel which contains a data widget which implements the trait Widget I have to implement a function for Panel that uses another function that requires a type that implements Widget.

I tried Box<T>, Rc<T>, Box<dyn Widget, &T, but nothing, always compiler errors.

How can I fix this?

  • lolcatnip@reddthat.com
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    The first problem I saw is that Widget::render takes self by value, meaning that the widget will be destroyed after being rendered once. The need to satisfy that method’s type could be the cause of the other errors you’re running into.