I just had a confusion when trying to run examples from the "main" branch with latest released uefi-rs crate 0.16.0.
It turns out that you cannot yet call open_protocol and just dereference the returned ScopedProtocol to the actual Protocol, because #434 didn't make it into 0.16.0.
What is even more confusing though is this attribute in the current "main" branch:
|
#[deprecated(since = "0.16.0", note = "use Deref and DerefMut instead")] |
|
pub interface: &'a UnsafeCell<P>, |
Claiming that ScopedProtocol::interface was deprecated in 0.16.0 is wrong when it was actually only deprecated in "main".
I don't know what your next release will be, but the attribute should first be updated to the version number of that release.