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
//use crate::widgets::Label; //use crate::{LvResult, NativeObject}; #[cfg(feature = "alloc")] mod alloc_imp { use crate::widgets::Label; //use crate::LvError; use cstr_core::CString; //use core::convert::TryFrom; impl<S: AsRef<str>> From<S> for Label { fn from(text: S) -> Self { // text.try_into().unwrap() let text_cstr = CString::new(text.as_ref()).unwrap(); let mut label = Label::new().unwrap(); label.set_text(text_cstr.as_c_str()).unwrap(); label } } // Issue link: https://github.com/rust-lang/rust/issues/50133 // // impl<S: AsRef<str>> TryFrom<S> for Label { // type Error = LvError; // fn try_from(text: S) -> Result<Self, Self::Error> { // let text_cstr = CString::new(text.as_ref())?; // let mut label = Label::new()?; // label.set_text(text_cstr.as_c_str())?; // Ok(label) // } // } }