Я новичок в Rust.Я хочу написать метод (реализацию trait?), Который принимает любой из String или среза строки, обрабатывает его как неизменяемый и возвращает новую неизменяемую строку.Скажем, foo
- это метод, который удваивает любой ввод, который вы ему даете:
let x = "abc".foo(); // => "abcabc"
let y = x.foo(); // => "abcabcabcabc"
let z = "def".to_string().foo(); // => "defdef"
В этом случае меня не волнует безопасность или производительность, я просто хочу, чтобы мой код компилировался для одноразового теста.Если куча растет бесконечно, пусть будет так.Если для этого требуются две реализации свойств, это нормально.