Android
- 2 ответа
- 0 вопросов
0
Вклад в тег
mod float_trait {
pub trait Float {}
impl Float for f32 {}
impl Float for f64 {}
}
use crate::float_trait::Float;
mod float_struct {
use crate::float_trait::Float;
#[derive(Debug)]
pub struct FloatStruct<T: Float>
{
_a: i8,
_b: String,
pub c: T,
}
macro_rules! impl_float_struct {
($($type:ty),*) => {
$(
impl FloatStruct<$type> {
pub fn new() -> Self {
Self {
_a: 2,
_b: String::from("hi"),
c: 0.3,
}
}
}
)*
}
}
impl_float_struct![f32, f64];
}
fn main() {
let fs = float_struct::FloatStruct::<f32>::new();
println!("{:#?}", fs.c)
}
mod float_trait {
pub trait Float {}
impl Float for f32 {}
impl Float for f64 {}
}
mod float_struct {
use crate::float_trait::Float;
#[derive(Debug)]
pub struct FloatStruct<T: std::str::FromStr + Float>
{
_a: i8,
_b: String,
pub c: T,
}
impl<T: std::str::FromStr + Float> FloatStruct<T> {
pub fn new() -> Self {
Self {
_a: 2,
_b: String::from("hi"),
c: {
let Ok(r) = "0.3".parse::<T>()
else {unreachable!()};
r
}
}
}
}
}
fn main() {
let fs = float_struct::FloatStruct::<f32>::new();
println!("{:#?}", fs.c)
}
телефон стал жутко лагать
Но всё выглядит так, как будто это был вирус, так ли это?