1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
use std::fmt;
use std::any::type_name;
// use crate::Object;
use crate::_Object;
/// print(object);
pub fn print<T: fmt::Display>(arg: T) {
println!("{}", arg);
}
/// print(object);
// pub fn printd<T: Display>(arg: T) {
// println!("{:?}", arg);
// }
/// len(object);
pub fn len<T: _Object>(_object: &T) -> usize {
_object.__len__()
}
/// repr(object);
pub fn repr<T: _Object>(_object: &T) -> String {
_object.__repr__()
}
pub fn type_of<T>(_: &T) -> &str {
type_name::<T>()
}