Trait timely::logging::ProgressEventTimestamp
source · pub trait ProgressEventTimestamp: Debug + Any {
// Required methods
fn as_any(&self) -> &dyn Any;
fn type_name(&self) -> &'static str;
}
Expand description
Encapsulates Any and Debug for dynamically typed timestamps in logs
Required Methods§
sourcefn as_any(&self) -> &dyn Any
fn as_any(&self) -> &dyn Any
Upcasts this ProgressEventTimestamp
to Any
.
NOTE: This is required until https://github.com/rust-lang/rfcs/issues/2765 is fixed
§Example
let ts = vec![(0usize, 0usize, (23u64, 10u64), -4i64), (0usize, 0usize, (23u64, 11u64), 1i64)];
let ts: &dyn timely::logging::ProgressEventTimestampVec = &ts;
for (n, p, t, d) in ts.iter() {
print!("{:?}, ", (n, p, t.as_any().downcast_ref::<(u64, u64)>(), d));
}
println!();
sourcefn type_name(&self) -> &'static str
fn type_name(&self) -> &'static str
Returns the name of the concrete type of this object.
§Note
This is intended for diagnostic use. The exact contents and format of the
string returned are not specified, other than being a best-effort
description of the type. For example, amongst the strings
that type_name::<Option<String>>()
might return are "Option<String>"
and
"std::option::Option<std::string::String>"
.