Move cancellable to the type system and implement multi-parenting #1

已關閉
dgriffen 想從 dgriffen/rust.eventbus:dev/dgriffen/type-cancel 合併 3 個提交至 master
第一次貢獻者

The dyn_events test was changed to produce the output requested in your sample here: https://bpaste.net/show/73d5e4bc55b4

The dyn_events test was changed to produce the output requested in your sample here: <https://bpaste.net/show/73d5e4bc55b4>
作者
第一次貢獻者

This is the output produced when run with cargo test -- --nocapture

Got event for inspection and manipulation: MyEventImpl { i: 3 }
Got event for inspection, manipulation, and cancellation: MyExtraEventImpl { i: 4 }
Got event for inspection and manipulation: MyExtraEventImpl { i: 4 }
This is the output produced when run with `cargo test -- --nocapture` ```text Got event for inspection and manipulation: MyEventImpl { i: 3 } Got event for inspection, manipulation, and cancellation: MyExtraEventImpl { i: 4 } Got event for inspection and manipulation: MyExtraEventImpl { i: 4 } ```
所有者

The output requested in my sample should be done as a separate test. And it should use asserts somehow.

This also doesn't respect the hook priorities correctly.

The output requested in my sample should be done as a separate test. And it should use asserts somehow. This also doesn't respect the hook priorities correctly.
作者
第一次貢獻者

Hook priorities is quite a large problem with the way this system is implemented. Rust really doesn't have a good built-in system for dynamic typing and downcasting which will have to be done in order to respect hook priorities since we'll be mixing up handlers a lot.

Hook priorities is quite a large problem with the way this system is implemented. Rust really doesn't have a good built-in system for dynamic typing and downcasting which will have to be done in order to respect hook priorities since we'll be mixing up handlers a lot.
所有者

Some way to generate identifiers (for use in a large enum or somesuch) would work just as well, I think, altho I'm not quite sure how to do that.

Some way to generate identifiers (for use in a large enum or somesuch) would work just as well, I think, altho I'm not quite sure how to do that.
作者
第一次貢獻者

Ah yes, having the macro generate an enum large enough for each type would probably work great. I'm not sure if Rust supports turning a ty into an ident though.

Ah yes, having the macro generate an enum large enough for each type would probably work great. I'm not sure if Rust supports turning a `ty` into an `ident` though.
SoniEx2 關閉了這個合併請求 2018-12-03 16:45:02 +01:00

合併請求已關閉

登入 才能加入這對話。
沒有審核者
未選擇標籤
沒有里程碑
未選擇專案
沒有負責人
2 位參與者
通知
截止日期
截止日期無效或超出範圍,請使用「yyyy-mm-dd」的格式。

未設定截止日期。

先決條件

未設定先決條件。

參考: SoniEx2/rust.eventbus#1
沒有提供敘述。