LoginSignup
4
4

More than 5 years have passed since last update.

String fn as_strがunstableだった

Last updated at Posted at 2015-12-19

この記事は Rust1.5での動作確認をしています。


RustでStringを &str に変換する際に、

String fn as_str をよく使いますが、RFCの改定を行う必要があるため、unstable になっています。

Rust1.0の頃は as_slice というメソッドどして使用することが可能で、最近のRustのバージョンでも as_str は使用できました。

結構便利なメソッドだったのですが、stable版Rustでは使用できないので、&strが必須なcrateを扱う場合は、辛い場面が多々あります。

調べてみると、stackoverflow:How to convert String into &'static str に答えが書いてありました。

let s: String = "abcdefg".to_owned();
let s_slice: &str = &s[..];  // take a full slice of the string
let s_slice: &str = &*s;  // s  : String 
                          // *s : str (via Deref<Target=str>)
                          // &*s: &str

出典: stackoverflow:How to convert String into &'static str

as_strがstableになるまで、こちらを使うと良いかもしれません。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4