Stream: general

Topic: component resources with mutable borrows?


view this post on Zulip Andrew Chin (Jun 08 2024 at 05:07):

Hi all,

I'm reading through this section of the component-model guide, and I'm looking at the example blob resource:

resource blob {
    constructor(init: list<u8>);
    write: func(bytes: list<u8>);
    read: func(n: u32) -> list<u8>;
    merge: static func(lhs: blob, rhs: blob) -> blob;
}

If I try to implement this in rust, the generated GuestBlob trait has read and write functions that look like:

fn write(&self, bytes: _rt::Vec<u8>);
fn read(&self, n: u32) -> _rt::Vec<u8>;

What if I want that to be a &mut self ? Is that possible?

view this post on Zulip Lann Martin (Jun 08 2024 at 13:48):

Not directly; you can use interior mutability like RefCell instead


Last updated: Oct 23 2024 at 20:03 UTC