// Использование
print_text("hello"); // Строковый литерал
let my_string = String::from("world");
print_text(my_string); // String без ссылки
let owned_string = String::from("text");
print_text(&owned_string); // Сылка на String
Как работает:
AsRef это трайт (trait), который говорит, что функция принимает любой тип, который можно превратить в &str. Компилятор сам делает это преобразование с помощью .as_ref() когда нужно.