pub trait BorrowSpecImpl<Borrowed: ?Sized>: Borrow<Borrowed> {
// Required methods
exec fn obeys_borrow_spec() -> bool;
exec fn borrow_spec(&self) -> &Borrowed;
}Required Methods§
Sourceexec fn obeys_borrow_spec() -> bool
exec fn obeys_borrow_spec() -> bool
Sourceexec fn borrow_spec(&self) -> &Borrowed
exec fn borrow_spec(&self) -> &Borrowed
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl BorrowSpecImpl<str> for String
Available on crate feature alloc and non-verus_verify_core only.
impl BorrowSpecImpl<str> for String
Available on crate feature
alloc and non-verus_verify_core only.Source§open spec fn obeys_borrow_spec() -> bool
open spec fn obeys_borrow_spec() -> bool
{ true }Source§uninterp spec fn borrow_spec(&self) -> &str
uninterp spec fn borrow_spec(&self) -> &str
Source§impl<T: ?Sized, A: Allocator> BorrowSpecImpl<T> for Box<T, A>
Available on crate feature alloc only.
impl<T: ?Sized, A: Allocator> BorrowSpecImpl<T> for Box<T, A>
Available on crate feature
alloc only.Source§open spec fn obeys_borrow_spec() -> bool
open spec fn obeys_borrow_spec() -> bool
{ true }Source§open spec fn borrow_spec(&self) -> &T
open spec fn borrow_spec(&self) -> &T
{ &**self }Source§impl<T: ?Sized> BorrowSpecImpl<T> for &T
impl<T: ?Sized> BorrowSpecImpl<T> for &T
Source§open spec fn obeys_borrow_spec() -> bool
open spec fn obeys_borrow_spec() -> bool
{ true }Source§open spec fn borrow_spec(&self) -> &T
open spec fn borrow_spec(&self) -> &T
{ *self }