Приведу пример: https://github.com/whamcloud/integrated-manager-for-lustre Огромная кодовая база на Rust, но с serde код практически всегда это просто ряд деклараций в нужных местах. То есть код для использования serde не требует каких-то жутких дженериков и проч.
Приведу пример: https://github.com/whamcloud/integrated-manager-for-lustre Огромная кодовая база на Rust, но с serde код практически всегда это просто ряд деклараций в нужных местах. То есть код для использования serde не требует каких-то жутких дженериков и проч.
Выглядит прикольно. Такой препроцессор хотелось бы ив С++ иметь.
если пофиг на nan делают тип обертку над f32/f64 для которой определен полный порядок, есть готовые крейты. единственное что мне не нравится это невозможность написать let x: Real32 = 123.456, надо писать Real32::new(123.456). В хаскеле например сделано вроде это нормально, а в расте почему то нет
По идее раст мог бы спрашивать let x : Real32 = 123.456; у Real32::From::<f64>
А еще вопрос, есть ли там mutable квалификатор на поле? Вот допустим мне надо функцию в классе, которая по идеологии должна быть readOnly, не менять состояние класса, но при этом она все таки меняет, потому что кэширует результат выполнения, чтоб при повторном вызове сразу его возвращать. Можно ли написать ее при этом чтоб self был не mut?