dyn-context
This crate provides simple mechanism for lifetimes erasing.
In Rust, lifetimes are intrusive, and sometimes it can lead to an inadequately complex code. Moreover, in some cases it can lead to an impossible code, means code so complex, so it can not make to compile, even it is logically meaningful. (Such situations could occur because Rust does not support existential types with infinite parameters list.)
The crate provides a way to "compress" several lifetimed references into a one reference
to a 'static
type. This mechanism guarantees type-safety.
This mechanics allows building complex systems with callbacks:
use CallBack;
use free_lifetimes;
free_lifetimes!