Size: a a a

Rust — русскоговорящее сообществo

2020 March 19

Э

Эрик in Rust — русскоговорящее сообществo
Ну нарисуй свой простенький Rc, который не боксит.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Или пиши Rc::new(&item).
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
Эрик
Ну нарисуй свой простенький Rc, который не боксит.
Простенько не получится, потому что лайфтаймы.
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
Эрик
Или пиши Rc::new(&item).
Будет указатель в хипе лежать 🤔 Дабл индирект неприкольный.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Mikola Summer Duck
Будет указатель в хипе лежать 🤔 Дабл индирект неприкольный.
usize вместо большого объекта. Всё лучше.
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
Ну и кстати объект тоже в таком случае должен лежать на хипе. Потому что лайфтаймы.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Mikola Summer Duck
Ну и кстати объект тоже в таком случае должен лежать на хипе. Потому что лайфтаймы.
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
О, окей.
источник

A

Alex CherryTea in Rust — русскоговорящее сообществo
Драсте, обьясните нубяре что делать если я хочу вывести в stdout что либо у чего не заимплеменчено std::fmt::Display
источник

Э

Эрик in Rust — русскоговорящее сообществo
Alex CherryTea
Драсте, обьясните нубяре что делать если я хочу вывести в stdout что либо у чего не заимплеменчено std::fmt::Display
1. impl Display
2. #[derive(Debug)] / impl Debug + println!("{:?}", foo);
источник

A

Alex CherryTea in Rust — русскоговорящее сообществo
кажется мне предложили заимплементить Display или Debug
источник

Э

Эрик in Rust — русскоговорящее сообществo
Если все поля твоей структуры могут в Debug, то просто пишешь

#[derive(Debug)]
struct MyStruct;

fn main() {
   let s = MyStruct::new();
   println!("{:?}, s");
}

И всё работает.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Если не могут, то либо derive(Debug) для полей тоже, либо руками делаешь дебаг только для своей структуры.
источник

A

Alex CherryTea in Rust — русскоговорящее сообществo
не, я хочу вывести stdout программы запущеной растом в stdout собственно растовой программы
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
Alex CherryTea
не, я хочу вывести stdout программы запущеной растом в stdout собственно растовой программы
Тогда это больше posix/ос-специфик вопрос.
источник

A

Alex CherryTea in Rust — русскоговорящее сообществo
 let output = Command::new("sh")
   .arg("-c")
   .arg("systemctl status docker")
   .output()
   .expect("failed to execute process");

println!("{}", output.stdout)
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
Alex CherryTea
 let output = Command::new("sh")
   .arg("-c")
   .arg("systemctl status docker")
   .output()
   .expect("failed to execute process");

println!("{}", output.stdout)
Ты так принтишь хендл для стдаута, а не сам стдаут.
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
источник

A

Alex CherryTea in Rust — русскоговорящее сообществo
ааа, все я понял
источник