- 601 名前:デフォルトの名無しさん mailto:sage [2017/08/16(水) 20:44:06.60 ID:kNGkTZBw.net]
- だれも>>550に肝心なこと言ってやらないのな。
>>550 関数が&Path返すだけじゃE0597はでねぇのよ。たとえば>>534のは >fn path<'a>(name: &str, ext: &str) -> &'a Path { >Path::new(&format!("{}.{}", name, ext)) >} &format!("{}.{}", name, ext) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ この中でnameとextをdropするからE0597出るんだよ。 まあ、罠だけど。ただの面倒くさいっていう見本みたいだし。 借用を関数の中で結合して返すってのが潜在的に危険だから やり様は色々あるけど↓が一番簡単。 ttps://play.rust-lang.org/?gist=e4937a92f292952a620eaa7bffa51c21&version=stable >>563 無理、rustはこういう型シノニムを構造体でラップしたfat pointerとして定義するからtransmuteは必要になる。 こういうnewtypeがやりたいのはunsafe消すこと。 名前からtransmuteしてるようには見えないから名前が悪いのよ。 >>565 from/intoは使い方決まってる
|

|