Время жизни передаёт компилятор при вызове функции, остальное - понятно, что непонятно - ещё не прочитал. (Константы в целом ещё не юзал, не то чтобы в дженериках)
Всегда выбирается наименьшее время жизни ссылки, если конечно не пометить её как 'static, но если уже ошибка возникла, нужно её исправлять, а не костылить 'static.
Прояснил ситуацию, теперь понятно что такое представление в байтах - это число в позиционной системе с основанием 256 и определённым байтовым порядком.
На диаграммах изображена структура формата указатель, длина и вес (это хранится в куче), а уже указатель ссылается на память в стеке в случае строкового литерала или любого числа, и на кучу если это String - это понятно.
то как структура в памяти выглядит
Но в таком случае должна была бы вернуться стуктура побайтово, то есть указатель, длина и вес, а возвращаются данные на которые указатель указывает, поэтому я запутался.
И снова же, это утверждение получается ложным:
И вот именно представление этого указателя и 2 usize в памяти данный метод и вернёт, то есть слайс из 24 u8 (при условии 64bit платформы).
Т.к. метод вернул не представление указателя, а данных на которые он ссылается и становится ещё менее понятно