pub struct RangeFrom {
pub start: Value,
}
Expand description
Type for a from range expression start..
.
§Examples
use std::ops::RangeFrom;
let range = 0..;
assert!(!range.contains(-10));
assert!(range.contains(5));
assert!(range.contains(10));
assert!(range.contains(20));
assert!(range is RangeFrom);
Ranges can contain any type:
let range = 'a'..;
assert_eq!(range.start, 'a');
range.start = 'b';
assert_eq!(range.start, 'b');
Certain ranges can be used as iterators:
let range = 'a'..;
assert_eq!(range.iter().take(5).collect::<Vec>(), ['a', 'b', 'c', 'd', 'e']);
§Rust examples
use rune::runtime::RangeFrom;
let start = rune::to_value(1)?;
let _ = RangeFrom::new(start);
Fields§
§start: Value
The start value of the range.
Implementations§
Source§impl RangeFrom
impl RangeFrom
Sourcepub fn into_iter(&self) -> VmResult<Value>
pub fn into_iter(&self) -> VmResult<Value>
Build an iterator over the range.
§Panics
This panics if the range is not a well-defined range.
§Examples
let vec = [];
for value in 'a'.. {
vec.push(value);
if value == 'e' {
break;
}
}
assert_eq!(vec, ['a', 'b', 'c', 'd', 'e']);
Cannot construct an iterator over floats:
let range = 1.0..;
for value in 1.0 .. {
}
Sourcepub fn partial_eq(&self, other: &Self) -> VmResult<bool>
pub fn partial_eq(&self, other: &Self) -> VmResult<bool>
Test the range for partial equality.
§Examples
let range = 'a'..;
assert!(range == ('a'..));
assert!(range != ('b'..));
let range = 1.0..;
assert!(range == (1.0..));
assert!(range != (f64::NAN..));
assert!((f64::NAN..) != (f64::NAN..));
Sourcepub fn eq(&self, other: &Self) -> VmResult<bool>
pub fn eq(&self, other: &Self) -> VmResult<bool>
Test the range for total equality.
§Examples
use std::ops::eq;
let range = 'a'..;
assert!(eq(range, 'a'..));
assert!(!eq(range, 'b'..));
Trait Implementations§
Source§impl Any for RangeFrom
impl Any for RangeFrom
Source§const ANY_TYPE_INFO: AnyTypeInfo = _
const ANY_TYPE_INFO: AnyTypeInfo = _
The compile-time type information know for the type.
Source§impl InstallWith for RangeFrom
impl InstallWith for RangeFrom
Source§fn install_with(module: &mut Module) -> Result<(), ContextError>
fn install_with(module: &mut Module) -> Result<(), ContextError>
Hook to install more things into the module.
Source§impl MaybeTypeOf for RangeFrom
impl MaybeTypeOf for RangeFrom
Source§fn maybe_type_of() -> Result<DocType>
fn maybe_type_of() -> Result<DocType>
Type information for the given type.
Source§impl TypeOf for RangeFrom
impl TypeOf for RangeFrom
Source§const PARAMETERS: Hash = _
const PARAMETERS: Hash = _
Type parameters for the type. Read more
Source§const STATIC_TYPE_INFO: AnyTypeInfo = <Self as crate::Any>::ANY_TYPE_INFO
const STATIC_TYPE_INFO: AnyTypeInfo = <Self as crate::Any>::ANY_TYPE_INFO
Access diagnostical type information for the current type. Read more
Source§impl UnsafeToMut for RangeFrom
impl UnsafeToMut for RangeFrom
Source§type Guard = RawValueGuard
type Guard = RawValueGuard
The raw guard returned. Read more
Source§unsafe fn unsafe_to_mut<'a>(
value: Value,
) -> Result<(&'a mut Self, Self::Guard), RuntimeError>
unsafe fn unsafe_to_mut<'a>( value: Value, ) -> Result<(&'a mut Self, Self::Guard), RuntimeError>
Safety Read more
Source§impl UnsafeToRef for RangeFrom
impl UnsafeToRef for RangeFrom
Source§type Guard = RawValueGuard
type Guard = RawValueGuard
The raw guard returned. Read more
Source§unsafe fn unsafe_to_ref<'a>(
value: Value,
) -> Result<(&'a Self, Self::Guard), RuntimeError>
unsafe fn unsafe_to_ref<'a>( value: Value, ) -> Result<(&'a Self, Self::Guard), RuntimeError>
Safety Read more
Source§impl UnsafeToValue for &RangeFrom
impl UnsafeToValue for &RangeFrom
Source§type Guard = ValueRefGuard
type Guard = ValueRefGuard
The type used to guard the unsafe value conversion.
Source§unsafe fn unsafe_to_value(self) -> Result<(Value, Self::Guard), RuntimeError>
unsafe fn unsafe_to_value(self) -> Result<(Value, Self::Guard), RuntimeError>
Convert into a value. Read more
Source§impl UnsafeToValue for &mut RangeFrom
impl UnsafeToValue for &mut RangeFrom
Source§type Guard = ValueMutGuard
type Guard = ValueMutGuard
The type used to guard the unsafe value conversion.
Source§unsafe fn unsafe_to_value(self) -> Result<(Value, Self::Guard), RuntimeError>
unsafe fn unsafe_to_value(self) -> Result<(Value, Self::Guard), RuntimeError>
Convert into a value. Read more
Auto Trait Implementations§
impl Freeze for RangeFrom
impl !RefUnwindSafe for RangeFrom
impl !Send for RangeFrom
impl !Sync for RangeFrom
impl Unpin for RangeFrom
impl !UnwindSafe for RangeFrom
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Source§impl<T> FromValue for Twhere
T: AnyMarker,
impl<T> FromValue for Twhere
T: AnyMarker,
Source§fn from_value(value: Value) -> Result<T, RuntimeError>
fn from_value(value: Value) -> Result<T, RuntimeError>
Try to convert to the given type, from the given value.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> TryToOwned for Twhere
T: TryClone,
impl<T> TryToOwned for Twhere
T: TryClone,
Source§impl<T> UnsafeToValue for Twhere
T: ToValue,
impl<T> UnsafeToValue for Twhere
T: ToValue,
Source§unsafe fn unsafe_to_value(
self,
) -> Result<(Value, <T as UnsafeToValue>::Guard), RuntimeError>
unsafe fn unsafe_to_value( self, ) -> Result<(Value, <T as UnsafeToValue>::Guard), RuntimeError>
Convert into a value. Read more