pub trait RangeBoundsSpecImpl<T: ?Sized>: RangeBounds<T> {
// Required methods
exec fn spec_start_bound(&self) -> Bound<&T>;
exec fn spec_end_bound(&self) -> Bound<&T>;
}Required Methods§
Sourceexec fn spec_start_bound(&self) -> Bound<&T>
exec fn spec_start_bound(&self) -> Bound<&T>
Sourceexec fn spec_end_bound(&self) -> Bound<&T>
exec fn spec_end_bound(&self) -> Bound<&T>
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<'a, T: ?Sized + 'a> RangeBoundsSpecImpl<T> for (Bound<&'a T>, Bound<&'a T>)
impl<'a, T: ?Sized + 'a> RangeBoundsSpecImpl<T> for (Bound<&'a T>, Bound<&'a T>)
Source§open spec fn spec_start_bound(&self) -> Bound<&T>
open spec fn spec_start_bound(&self) -> Bound<&T>
{ self.0 }Source§open spec fn spec_end_bound(&self) -> Bound<&T>
open spec fn spec_end_bound(&self) -> Bound<&T>
{ self.1 }Source§impl<T: ?Sized> RangeBoundsSpecImpl<T> for RangeFull
impl<T: ?Sized> RangeBoundsSpecImpl<T> for RangeFull
Source§open spec fn spec_start_bound(&self) -> Bound<&T>
open spec fn spec_start_bound(&self) -> Bound<&T>
{ Bound::Unbounded }Source§open spec fn spec_end_bound(&self) -> Bound<&T>
open spec fn spec_end_bound(&self) -> Bound<&T>
{ Bound::Unbounded }Source§impl<T> RangeBoundsSpecImpl<T> for (Bound<T>, Bound<T>)
impl<T> RangeBoundsSpecImpl<T> for (Bound<T>, Bound<T>)
Source§open spec fn spec_start_bound(&self) -> Bound<&T>
open spec fn spec_start_bound(&self) -> Bound<&T>
{ bound_as_ref(&self.0) }Source§open spec fn spec_end_bound(&self) -> Bound<&T>
open spec fn spec_end_bound(&self) -> Bound<&T>
{ bound_as_ref(&self.1) }Source§impl<T> RangeBoundsSpecImpl<T> for Range<&T>
impl<T> RangeBoundsSpecImpl<T> for Range<&T>
Source§open spec fn spec_start_bound(&self) -> Bound<&T>
open spec fn spec_start_bound(&self) -> Bound<&T>
{ Bound::Included(self.start) }Source§open spec fn spec_end_bound(&self) -> Bound<&T>
open spec fn spec_end_bound(&self) -> Bound<&T>
{ Bound::Excluded(self.end) }Source§impl<T> RangeBoundsSpecImpl<T> for Range<T>
impl<T> RangeBoundsSpecImpl<T> for Range<T>
Source§open spec fn spec_start_bound(&self) -> Bound<&T>
open spec fn spec_start_bound(&self) -> Bound<&T>
{ Bound::Included(&self.start) }Source§open spec fn spec_end_bound(&self) -> Bound<&T>
open spec fn spec_end_bound(&self) -> Bound<&T>
{ Bound::Excluded(&self.end) }Source§impl<T> RangeBoundsSpecImpl<T> for RangeFrom<&T>
impl<T> RangeBoundsSpecImpl<T> for RangeFrom<&T>
Source§open spec fn spec_start_bound(&self) -> Bound<&T>
open spec fn spec_start_bound(&self) -> Bound<&T>
{ Bound::Included(self.start) }Source§open spec fn spec_end_bound(&self) -> Bound<&T>
open spec fn spec_end_bound(&self) -> Bound<&T>
{ Bound::Unbounded }Source§impl<T> RangeBoundsSpecImpl<T> for RangeFrom<T>
impl<T> RangeBoundsSpecImpl<T> for RangeFrom<T>
Source§open spec fn spec_start_bound(&self) -> Bound<&T>
open spec fn spec_start_bound(&self) -> Bound<&T>
{ Bound::Included(&self.start) }Source§open spec fn spec_end_bound(&self) -> Bound<&T>
open spec fn spec_end_bound(&self) -> Bound<&T>
{ Bound::Unbounded }Source§impl<T> RangeBoundsSpecImpl<T> for RangeInclusive<&T>
impl<T> RangeBoundsSpecImpl<T> for RangeInclusive<&T>
Source§open spec fn spec_start_bound(&self) -> Bound<&T>
open spec fn spec_start_bound(&self) -> Bound<&T>
{ Bound::Included(self@.start) }Source§open spec fn spec_end_bound(&self) -> Bound<&T>
open spec fn spec_end_bound(&self) -> Bound<&T>
{ Bound::Included(self@.end) }Source§impl<T> RangeBoundsSpecImpl<T> for RangeInclusive<T>
impl<T> RangeBoundsSpecImpl<T> for RangeInclusive<T>
Source§open spec fn spec_start_bound(&self) -> Bound<&T>
open spec fn spec_start_bound(&self) -> Bound<&T>
{ Bound::Included(&self@.start) }Source§open spec fn spec_end_bound(&self) -> Bound<&T>
open spec fn spec_end_bound(&self) -> Bound<&T>
{ spec_range_inclusive_end_bound(self) }Source§impl<T> RangeBoundsSpecImpl<T> for RangeTo<&T>
impl<T> RangeBoundsSpecImpl<T> for RangeTo<&T>
Source§open spec fn spec_start_bound(&self) -> Bound<&T>
open spec fn spec_start_bound(&self) -> Bound<&T>
{ Bound::Unbounded }Source§open spec fn spec_end_bound(&self) -> Bound<&T>
open spec fn spec_end_bound(&self) -> Bound<&T>
{ Bound::Excluded(self.end) }Source§impl<T> RangeBoundsSpecImpl<T> for RangeTo<T>
impl<T> RangeBoundsSpecImpl<T> for RangeTo<T>
Source§open spec fn spec_start_bound(&self) -> Bound<&T>
open spec fn spec_start_bound(&self) -> Bound<&T>
{ Bound::Unbounded }Source§open spec fn spec_end_bound(&self) -> Bound<&T>
open spec fn spec_end_bound(&self) -> Bound<&T>
{ Bound::Excluded(&self.end) }Source§impl<T> RangeBoundsSpecImpl<T> for RangeToInclusive<&T>
impl<T> RangeBoundsSpecImpl<T> for RangeToInclusive<&T>
Source§open spec fn spec_start_bound(&self) -> Bound<&T>
open spec fn spec_start_bound(&self) -> Bound<&T>
{ Bound::Unbounded }Source§open spec fn spec_end_bound(&self) -> Bound<&T>
open spec fn spec_end_bound(&self) -> Bound<&T>
{ Bound::Included(self.end) }Source§impl<T> RangeBoundsSpecImpl<T> for RangeToInclusive<T>
impl<T> RangeBoundsSpecImpl<T> for RangeToInclusive<T>
Source§open spec fn spec_start_bound(&self) -> Bound<&T>
open spec fn spec_start_bound(&self) -> Bound<&T>
{ Bound::Unbounded }Source§open spec fn spec_end_bound(&self) -> Bound<&T>
open spec fn spec_end_bound(&self) -> Bound<&T>
{ Bound::Included(&self.end) }