В
&String
, а не String
?)В общем для любого случая есть способ, но тут немного проблема XY, не понятно что именно вам надо
Size: a a a
В
&String
, а не String
?)p
r
Some([txt.modifier.to_legacy_formatting().as_str(), &txt.text].concat()),
r
&String
тут не конвертится в &str
автоматически, так что приходится рукамиВ
Option
бы обошёлся: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=d6cc5e2bd44e4b3cdc7ba9eec99a61feР
Some([txt.modifier.to_legacy_formatting().as_str(), &txt.text].concat()),
N
r
push_str
. { let mut ret = txt.modifier.to_legacy_formatting(); ret.push_str(&txt.txt); ret }
Р
r
.concat()
в любом случае выделяет память. .push_str()
реаллоцирует, если не хватает места в строке. Впрочем, тут наверно всегда реаллокация будетВ
push_str
. { let mut ret = txt.modifier.to_legacy_formatting(); ret.push_str(&txt.txt); ret }
+
:txt.modifier.to_legacy_formatting() + &txt.text
.push_str
зовётr
+
для строкВ
add
отпределён только для String
. Т.е., это всегда .push_str
В
𝔍
Р
В
Р