The thread below illustrates a use case where a third party Device structure can have borrowed data with its own lifetimes. And this makes it impossible to implement the Device trait for such a structure. Also it need not be a reference to the packet itself as mentioned in the thread below, basically a third party device structure cannot have any kind of references :(
I cant see why the Device trait is mentioned as "for all lifetimes", can anything be done to support this pls ?
Just to add that if it sounds ok to have the device not be over all lifetimes, I can take a crack at making the required changes and send it across