replace ~str with str.to_owned()