явно что-то не так 🤔
const NAME_BUFFER: &mut str = ["\0"; 256];
static он и в расте статик
Окей, но типы всё равно не сходятся :/
static mut NAME_BUFFER: [u8; 256] = [b'0'; 256];
Осознал, спасибо
static mut NAME_BUFFER: [char; 255] = ['0'; 255]; можно еще так, но думаю все-таки способ выше - намного лучше будет намного + не стоит забывать, что любое обращение к static mut - всегда unsafe https://doc.rust-lang.org/stable/std/keyword.static.html#mutable-statics
А можно его потом использовать как &'static str?
А он точно не создаёт новую строку? Судя по отсутствию параметров времени жизни кажется что аргумент и результат получаются независимыми
сишникам всё можно 🙂 https://doc.rust-lang.org/std/str/fn.from_utf8_unchecked.html
str никогда не владеет данными
Стикер
Лайфтаймы всегда есть в функциях с рефами, иногда они просто неявные https://doc.rust-lang.org/beta/reference/lifetime-elision.html
Обсуждают сегодня