hchunhui / librime-lua

Extending RIME with Lua scripts
BSD 3-Clause "New" or "Revised" License
293 stars 43 forks source link

memory:disconnect 問題 #354

Open shewer opened 3 weeks ago

shewer commented 3 weeks ago

@hcunhui 請教一下

我想改 disconnect 如下

void disconnect(an<T> t) {
    if (auto m = As<Memory>(t)){
       m->~Memory();
    }
 }

這樣可行嗎?
只有這樣才可在 Component.Translator 中使用字典的 translator 也可以清除 dict

hchunhui commented 3 weeks ago

直接调 destructor 可能有问题。因为 share pointer 计数归零的时候会再自动被调一次,可能会造成 crash