公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
公式ドキュメント
https://www.rust-lang.org/learn
Web上の実行環境
https://play.rust-lang.org
※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/
※Rustを学ぶ際に犯しがちな12の過ち
https://dystroy.org/blog/how-not-to-learn-rust
※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/
※次スレは原則>>980が立てること
前スレ
Rust part19
https://mevius.5ch.net/test/read.cgi/tech/1673926892/
ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
探検
Rust part20
■ このスレッドは過去ログ倉庫に格納されています
2023/03/03(金) 00:45:28.73ID:vTVY069B
102デフォルトの名無しさん
2023/03/09(木) 11:41:54.63ID:vunFCsf3 まぁ実際のところ日本語版を読みたい初心者がこんなスレに来るわけないし
このスレのローカルルールとしては>>37でいいと思うけどな
もし日本語版を本気でどうにかしたい人がいるならその議論はzuilpなりGitHubのissueでやればいい
このスレのローカルルールとしては>>37でいいと思うけどな
もし日本語版を本気でどうにかしたい人がいるならその議論はzuilpなりGitHubのissueでやればいい
103デフォルトの名無しさん
2023/03/09(木) 11:59:25.10ID:IPNUA449104デフォルトの名無しさん
2023/03/09(木) 11:59:38.63ID:Js3muVMH10596,103
2023/03/09(木) 12:07:13.82ID:NxdTjqu4 もしもしはすぐID変わるからダメだな
これじゃIDコロコロするやつと変わんねぇよ
これじゃIDコロコロするやつと変わんねぇよ
106デフォルトの名無しさん
2023/03/09(木) 12:23:44.08ID:WMBmvI2V107デフォルトの名無しさん
2023/03/09(木) 12:53:07.30ID:vunFCsf3108デフォルトの名無しさん
2023/03/09(木) 13:38:49.60ID:tfi/zejU >>102
同意
同意
109デフォルトの名無しさん
2023/03/09(木) 13:56:08.35ID:qMTKidpI 5chの1スレで扱わなくなると殲滅されてしまうよう物なら
近いうちに自然淘汰されるだけだから
ここでは扱わないのが正解ということになる
近いうちに自然淘汰されるだけだから
ここでは扱わないのが正解ということになる
110デフォルトの名無しさん
2023/03/09(木) 14:02:00.14ID:KrFX8l8a 傍から見てるだけだけどさ
わざわざ日本語版を排除しようというのはアンチにしか生じない動機・感情よね
わざわざ日本語版を排除しようというのはアンチにしか生じない動機・感情よね
111デフォルトの名無しさん
2023/03/09(木) 14:10:10.57ID:WYfWQgCO 不正確なもんは排除しとくほうがマシ
それを許して欲しいと言う甘えは通用しない
所有権の複製とかいう用語が世間で通用しないのと同じ
それを許して欲しいと言う甘えは通用しない
所有権の複製とかいう用語が世間で通用しないのと同じ
112デフォルトの名無しさん
2023/03/09(木) 14:12:34.91ID:za1QZKNx 更新が英語版のmainに追い付いたらテンプレに戻すという条件付き除外措置なら誰も文句無いですか?
113デフォルトの名無しさん
2023/03/09(木) 14:13:47.86ID:KrFX8l8a 日本語版で不正確なところはどこなの?
所有権??
所有権??
114デフォルトの名無しさん
2023/03/09(木) 14:16:43.77ID:lc0skjdv 総務省の公文書のことか
115デフォルトの名無しさん
2023/03/09(木) 14:47:46.87ID:WYfWQgCO Rustアンチっていう表現がそもそも疑問なんよね
単にここじゃあ複オジが馬鹿にされてたり
rust-jpに疑問が持たれてたりするだけであって
それがなぜだか
ある人にとっては「Rustアンチ」ってことにすり替わっちゃう
単にここじゃあ複オジが馬鹿にされてたり
rust-jpに疑問が持たれてたりするだけであって
それがなぜだか
ある人にとっては「Rustアンチ」ってことにすり替わっちゃう
116デフォルトの名無しさん
2023/03/09(木) 14:50:24.91ID:TbSLyHqM117デフォルトの名無しさん
2023/03/09(木) 14:51:04.12ID:yQuaEoeh cargoを使用していると、過去のクレートのキャッシュ?なのかなんなのかわからないものがどんどん溜まっていってしまいます
これって使い続けるとどこまでも増えていってしまうのですか?何か容量を抑える策はあるのでしょうか?
SSDがしょぼいので気になってしまいます
これって使い続けるとどこまでも増えていってしまうのですか?何か容量を抑える策はあるのでしょうか?
SSDがしょぼいので気になってしまいます
118デフォルトの名無しさん
2023/03/09(木) 14:52:40.57ID:5eT48dzr >>117
cargo clean
cargo clean
119デフォルトの名無しさん
2023/03/09(木) 15:28:35.84ID:SZrfwfYj 会話や議論のベースとするには信頼が置けないというのが最大の理由でしょ
だからこのスレでは信頼のおける公式The Bookを使うローカルルールにするというだけのこと
日本語版の問題箇所を一つ一つ具体的にあげて改善していくためのスレじゃないんだからそれをやりたい人は>>102が言うようにzuilpなりGitHubでやるのが適切
だからこのスレでは信頼のおける公式The Bookを使うローカルルールにするというだけのこと
日本語版の問題箇所を一つ一つ具体的にあげて改善していくためのスレじゃないんだからそれをやりたい人は>>102が言うようにzuilpなりGitHubでやるのが適切
120デフォルトの名無しさん
2023/03/09(木) 15:45:47.39ID:hrQLf9QV アンチというレッテル貼りしてるだけの人の動機は何なんだろう?
121デフォルトの名無しさん
2023/03/09(木) 15:53:09.08ID:RjLT18Ud122デフォルトの名無しさん
2023/03/09(木) 16:11:36.62ID:od/fqKtF バカが2人に増えたね
信者複製おじさんと謎のrust-jp陰謀論おじさん
地獄
信者複製おじさんと謎のrust-jp陰謀論おじさん
地獄
123デフォルトの名無しさん
2023/03/09(木) 18:38:23.80ID:wqVFkatU Bookの日本語版を一通り読んでみたけど特に間違ったことはなさげ
訳語は一部意見割れるかもしれないけど不可はない感じ
ネット上の日本語のRust入門としてベストじゃないかな
訳語は一部意見割れるかもしれないけど不可はない感じ
ネット上の日本語のRust入門としてベストじゃないかな
124デフォルトの名無しさん
2023/03/09(木) 18:53:24.39ID:1oUy2fzR え、内容が古いことは無視ですか?
125デフォルトの名無しさん
2023/03/09(木) 19:03:49.80ID:wqVFkatU なにか古くて間違ってるようなことなかったと思うよ
126デフォルトの名無しさん
2023/03/09(木) 20:59:36.65ID:5eT48dzr127デフォルトの名無しさん
2023/03/09(木) 22:00:09.63ID:TpJxaXq0128デフォルトの名無しさん
2023/03/09(木) 22:25:18.34ID:5eT48dzr >>127
Box 使用箇所は本家では直ってるところだからここだけ言ってもしょうがないよ
> 間違ってるから優先して直してって言えば対応してくれる
issue,pr は何個かあるけどどれも放置だから無駄だよ
Box 使用箇所は本家では直ってるところだからここだけ言ってもしょうがないよ
> 間違ってるから優先して直してって言えば対応してくれる
issue,pr は何個かあるけどどれも放置だから無駄だよ
129デフォルトの名無しさん
2023/03/09(木) 22:28:14.00ID:Qg5Vw7uS130デフォルトの名無しさん
2023/03/09(木) 23:01:25.11ID:bker4XmI じゃスルーしてたlet-else話でもするか
>>19のリンクに書いてあるlet-elseのリファクタリングってあり?
Afterでもダメってほどじゃないが俺はBeforeのほうがいいように思える
//Before
pub async fn close(&mut self) -> Result<()> {
if let Some(mut file) = self.file.take() {
debug!("File {} closed", self.filename());
file.flush().await?;
}
Ok(())
}
//After
pub async fn close(&mut self) -> Result<()> {
let Some(mut file) = self.file.take() else {
return Ok(());
};
debug!("File {} closed", self.filename());
file.flush().await
}
>>19のリンクに書いてあるlet-elseのリファクタリングってあり?
Afterでもダメってほどじゃないが俺はBeforeのほうがいいように思える
//Before
pub async fn close(&mut self) -> Result<()> {
if let Some(mut file) = self.file.take() {
debug!("File {} closed", self.filename());
file.flush().await?;
}
Ok(())
}
//After
pub async fn close(&mut self) -> Result<()> {
let Some(mut file) = self.file.take() else {
return Ok(());
};
debug!("File {} closed", self.filename());
file.flush().await
}
131デフォルトの名無しさん
2023/03/09(木) 23:19:16.56ID:17jElPHd132デフォルトの名無しさん
2023/03/10(金) 07:39:28.49ID:eGAweG+/133デフォルトの名無しさん
2023/03/10(金) 12:26:56.89ID:5qa3scwI134デフォルトの名無しさん
2023/03/10(金) 13:39:34.28ID:YUaQrZ1H >>130
その2つならif letバージョンの方が読みやすいね
その2つならif letバージョンの方が読みやすいね
135デフォルトの名無しさん
2023/03/10(金) 17:33:37.91ID:THb1tZPF >>130
前者だな
Okでも違う値を返すようになったりネストが深くなったりした段階でリファクタリングを考慮すれば十分
その例ではtake、flush、dropの一連のつながりを切るほどのメリットが全くない
あと後者はfile.flush.await.into()にする必要があるかもしれない
前者だな
Okでも違う値を返すようになったりネストが深くなったりした段階でリファクタリングを考慮すれば十分
その例ではtake、flush、dropの一連のつながりを切るほどのメリットが全くない
あと後者はfile.flush.await.into()にする必要があるかもしれない
136デフォルトの名無しさん
2023/03/10(金) 17:46:09.19ID:Lf3CpR6K137はちみつ餃子 ◆8X2XSCHEME
2023/03/10(金) 17:46:47.36ID:wtzqTKjF >>130
私も前者だと思う。
見通しが特に悪くなるほど複雑な場合でないならやろうとしていることがそのままコードに表れているほうが良くて、
前者のほうが何をやろうとしているのかスッと読める感じがする。
私も前者だと思う。
見通しが特に悪くなるほど複雑な場合でないならやろうとしていることがそのままコードに表れているほうが良くて、
前者のほうが何をやろうとしているのかスッと読める感じがする。
138デフォルトの名無しさん
2023/03/10(金) 18:03:17.42ID:Qo+lY2qI139デフォルトの名無しさん
2023/03/10(金) 19:08:36.07ID:HKUOk1Tv >>138
場面に応じてどちらが向いているのか変わるから場面がわかる特定の例で比較することに意味があるのでは?
場面に応じてどちらが向いているのか変わるから場面がわかる特定の例で比較することに意味があるのでは?
140デフォルトの名無しさん
2023/03/10(金) 19:13:36.55ID:Qo+lY2qI >>139
返り値がResult<()>でelse時にErrではなくOk(())という極めて特殊な偏った例になんの意味があるんだ?
返り値がResult<()>でelse時にErrではなくOk(())という極めて特殊な偏った例になんの意味があるんだ?
141デフォルトの名無しさん
2023/03/10(金) 19:17:05.20ID:ha1WEkSQ 意味の有る無しを断じるあたり幼稚やな
周り見てご覧
キミ以外はそんなとこに拘っとらんやろ?
周り見てご覧
キミ以外はそんなとこに拘っとらんやろ?
142デフォルトの名無しさん
2023/03/10(金) 19:36:05.08ID:YsUJsRqF143デフォルトの名無しさん
2023/03/10(金) 19:40:18.95ID:F+OjF9fC 好きな方使ってろバカども
前スレそれで使い潰してまだ反省してねえのか
前スレそれで使い潰してまだ反省してねえのか
144デフォルトの名無しさん
2023/03/10(金) 20:24:59.10ID:7c0jaWrI145デフォルトの名無しさん
2023/03/10(金) 21:43:27.35ID:+jgRtbOv 現在のIT業界に「代替メモリレイアウト」という概念はありますか?
146130
2023/03/10(金) 22:22:59.62ID:IYh2ezPU147デフォルトの名無しさん
2023/03/10(金) 22:39:57.98ID:IYh2ezPU148デフォルトの名無しさん
2023/03/10(金) 23:34:37.12ID:/vLExm3P 好きにしたらええ
それより前スレ埋めない?
それより前スレ埋めない?
149デフォルトの名無しさん
2023/03/10(金) 23:46:20.34ID:Ug/D0/8N >>145
「代替メモリレイアウト」という概念は聞いたことがないが悪魔の証明は無理なのでそういう概念がある可能性を完全に否定することはできない
非公式の日本語翻訳で使われてる用語みたいだけどこのスレで質問する際は公式のドキュメント(英語)を参照するようにしてね
「代替メモリレイアウト」という概念は聞いたことがないが悪魔の証明は無理なのでそういう概念がある可能性を完全に否定することはできない
非公式の日本語翻訳で使われてる用語みたいだけどこのスレで質問する際は公式のドキュメント(英語)を参照するようにしてね
150デフォルトの名無しさん
2023/03/10(金) 23:54:51.68ID:0dyEfhS9 if letを使うかlet elseを使うかはケースバイケースでどちらもありうるのだから揉めるようなことではないと思うんだよな
let elseは要らないから削除せよ!と言ってた人はここを荒らすためだけに言ってただけだと思うし
let elseは要らないから削除せよ!と言ってた人はここを荒らすためだけに言ってただけだと思うし
151デフォルトの名無しさん
2023/03/11(土) 00:35:13.78ID:fYMzQaF5 >>150
ケースバイケースだからこそ具体的な特定のケースを例にどちらがいいかを話してるんだろ
ケースバイケースだからこそ具体的な特定のケースを例にどちらがいいかを話してるんだろ
152デフォルトの名無しさん
2023/03/11(土) 00:54:45.06ID:48Pa/Qcy Rust標準ライブラリのソースを見るとよくわかるよ
let else構文はもちろん使われまくっている
可読性が良くなるからね
let else構文はもちろん使われまくっている
可読性が良くなるからね
153デフォルトの名無しさん
2023/03/11(土) 06:31:08.87ID:nd+w7sZp インストールでつまずいたのでチラ裏させてくれ
サンプルプログラムをコンパイルしたら`link.exe` not foundでコンパイルできなかった。
原因は、Build Tools for Visual Studio 2022をインストールしてしまったこと、アンインストールして
Build Tools for Visual Studio 2019をインストールしてコンパイルできた。
サンプルプログラムをコンパイルしたら`link.exe` not foundでコンパイルできなかった。
原因は、Build Tools for Visual Studio 2022をインストールしてしまったこと、アンインストールして
Build Tools for Visual Studio 2019をインストールしてコンパイルできた。
154デフォルトの名無しさん
2023/03/11(土) 11:07:27.22ID:ShQc/Olf 相も変わらず1人だけズレてるな
155デフォルトの名無しさん
2023/03/11(土) 11:07:29.53ID:phgAMXMr156デフォルトの名無しさん
2023/03/11(土) 12:18:40.44ID:JdznY9pT let-elseはパターンに合致しないと処理を継続できない場合に早期離脱(return、break、etc.)するための構文でしょ
それ以外でも使えるだろうけど逆に可読性が落ちそう
従来の言語で
if (nullable_obj == null) { continue; } // この行を書き忘れるとえらいことになる
nullable_obj.do_something();
...
みたいに書ける処理を今までのRustだと
if let Some(obj) = nullable_obj {
obj.do_something();
...
} else { // ループの末尾ならここは不要
continue;
}
か無理やりunwrapして
if nullable_obj.is_none() { continue; } // この行を書き忘れるとえらいことになる
let obj = nullable_obj.unwrap();
obj.do_something();
...
みたいに書くしかなかったけど、let-elseを使うと従来の言語に近い形で書けるようになる
let Some(obj) = nullable_obj else { continue; }; // この行を書き忘れることはできない
obj.do_something();
...
returnだと?演算子で十分な場合もあるだろうから敢えてcontinueにした
それ以外でも使えるだろうけど逆に可読性が落ちそう
従来の言語で
if (nullable_obj == null) { continue; } // この行を書き忘れるとえらいことになる
nullable_obj.do_something();
...
みたいに書ける処理を今までのRustだと
if let Some(obj) = nullable_obj {
obj.do_something();
...
} else { // ループの末尾ならここは不要
continue;
}
か無理やりunwrapして
if nullable_obj.is_none() { continue; } // この行を書き忘れるとえらいことになる
let obj = nullable_obj.unwrap();
obj.do_something();
...
みたいに書くしかなかったけど、let-elseを使うと従来の言語に近い形で書けるようになる
let Some(obj) = nullable_obj else { continue; }; // この行を書き忘れることはできない
obj.do_something();
...
returnだと?演算子で十分な場合もあるだろうから敢えてcontinueにした
157デフォルトの名無しさん
2023/03/11(土) 12:36:22.58ID:GtLfWJGz let elseはcontinueでもbreakでもreturnでもpanicでも!なら何でも使えるし使われている
returnの時にErr返しなら?を使ってもよいが
.ok_or_else(|| Error)?; とするか
elseでreturnするか
どちらが見やすいかは意見が別れそうだ
returnの時にErr返しなら?を使ってもよいが
.ok_or_else(|| Error)?; とするか
elseでreturnするか
どちらが見やすいかは意見が別れそうだ
158デフォルトの名無しさん
2023/03/11(土) 12:39:50.82ID:WrUJ3YdB Rustに限った話ではないがリファクタリングの良し悪しを判断するためには該当箇所を含む関数の全容(特に関数シグニチャ)とその関数を呼び出すコード例が最低限必要
関数シグニチャも呼び出すコードもない例では話にならない
呼び出し側が絶対変更できない前提なら前者だけでもいい場合があるが往々にして部分最適になりがち
>>130の例でも呼び出す側を考慮するとまた違った選択肢が見えてくる
関数シグニチャも呼び出すコードもない例では話にならない
呼び出し側が絶対変更できない前提なら前者だけでもいい場合があるが往々にして部分最適になりがち
>>130の例でも呼び出す側を考慮するとまた違った選択肢が見えてくる
159デフォルトの名無しさん
2023/03/11(土) 12:48:32.01ID:Us0DtIzW コーディング規約で早期リターンが推奨される開発現場であれば
その規約に準拠した表現が書きやすくなったのは良いこと
つうかそのつもりで読んでたから後者のほうが読みやすかったわ
その規約に準拠した表現が書きやすくなったのは良いこと
つうかそのつもりで読んでたから後者のほうが読みやすかったわ
160デフォルトの名無しさん
2023/03/11(土) 13:41:29.57ID:+LV0PjS3161デフォルトの名無しさん
2023/03/11(土) 14:09:20.55ID:zozTFx1B 隔離スレでやれ
162デフォルトの名無しさん
2023/03/11(土) 20:53:29.08ID:YsMYadXT https://qiita.com/namn1125/items/ccedf9cc06b8cef71557#let-else文のユースケース
この人が書いてるように?演算子のイディオムを踏襲してればlet-elseの出番は多くはない
逆に本来使うべきでないところでも乱用されやすいから注意が必要
この人が書いてるように?演算子のイディオムを踏襲してればlet-elseの出番は多くはない
逆に本来使うべきでないところでも乱用されやすいから注意が必要
163デフォルトの名無しさん
2023/03/11(土) 23:05:55.56ID:ChsfUoNW >>159
多くのところで言語に関わらずでifネストを深くせずに早期離脱をすることが好まれる
Rustではif let時にそれができなかったためlet else導入まではこうなってしまっていた
let foo = if let Some(foo) {
foo
} else {
(早期離脱前の処理があればここ)
早期離脱
}
これはfooが三重に冗長で不格好
そのためlet else以前は早期離脱をあきらめる本末転倒なことも起きていた
具体的にlet elseが適している早期離脱は「範囲」が広い
・break
・continue
・エラー以外のreturn
・早期離脱前の処理があるエラーreturn
>>162
?が使える「範囲」はlet else より狭く早期離脱前の処理がないエラーreturnのみ
もちろん「量」は多いけどね
多くのところで言語に関わらずでifネストを深くせずに早期離脱をすることが好まれる
Rustではif let時にそれができなかったためlet else導入まではこうなってしまっていた
let foo = if let Some(foo) {
foo
} else {
(早期離脱前の処理があればここ)
早期離脱
}
これはfooが三重に冗長で不格好
そのためlet else以前は早期離脱をあきらめる本末転倒なことも起きていた
具体的にlet elseが適している早期離脱は「範囲」が広い
・break
・continue
・エラー以外のreturn
・早期離脱前の処理があるエラーreturn
>>162
?が使える「範囲」はlet else より狭く早期離脱前の処理がないエラーreturnのみ
もちろん「量」は多いけどね
164デフォルトの名無しさん
2023/03/12(日) 11:57:58.73ID:HouQiurI カルパッチョ
165デフォルトの名無しさん
2023/03/12(日) 12:41:14.42ID:UHnNkdpy 初見
VS code使い始めたんだが、カーソル移動系のショートカットキーの編集ってできないのか?
さくらEditorみたいにカーソル移動・ドラッグ編集を全部キーボードでやりたいんだが
VS code使い始めたんだが、カーソル移動系のショートカットキーの編集ってできないのか?
さくらEditorみたいにカーソル移動・ドラッグ編集を全部キーボードでやりたいんだが
166デフォルトの名無しさん
2023/03/12(日) 12:42:40.81ID:C0R72d/J なぜここできく
167デフォルトの名無しさん
2023/03/12(日) 14:07:53.88ID:BVlbavKU File > Preferences > Keyboard Shortcutsで設定画面開いて
cursorでフィルターかければcursorLeftみたいなコマンド出てくるから大体は変更できると思う
知らんけど
cursorでフィルターかければcursorLeftみたいなコマンド出てくるから大体は変更できると思う
知らんけど
168デフォルトの名無しさん
2023/03/12(日) 14:14:14.53ID:C6Uwumzj vimでもemacsでもrust-analyzer動くよ
169デフォルトの名無しさん
2023/03/12(日) 15:10:27.15ID:UHnNkdpy >>166
プログラム板で一番勢いあるのここだから
プログラム板で一番勢いあるのここだから
170デフォルトの名無しさん
2023/03/12(日) 16:06:30.84ID:nONlRGBh 大学生が書いたQiita記事のほうがこのスレの住民より要点おさえてるじゃんw
おまえらも見習えよ
おまえらも見習えよ
171デフォルトの名無しさん
2023/03/13(月) 11:54:44.62ID:38Ewlrdq Qiitaは秀才だらけだし
5chム板は文字通り住民がrustだし
5chム板は文字通り住民がrustだし
172デフォルトの名無しさん
2023/03/16(木) 07:24:49.76ID:M0AuqK/y173デフォルトの名無しさん
2023/03/16(木) 10:05:31.80ID:3ZknUEKY174デフォルトの名無しさん
2023/03/16(木) 10:12:16.89ID:xtobTOZe 具体的に何が問題なの?
175デフォルトの名無しさん
2023/03/16(木) 18:23:03.08ID:O0F78LdH176デフォルトの名無しさん
2023/03/16(木) 18:54:09.77ID:sXsK9Uns オジおじ言ってたら自演
スレ荒らしが目的
スレ荒らしが目的
177デフォルトの名無しさん
2023/03/17(金) 18:16:56.57ID:XLm6gsUd こういうコードを書くとエラーになります。
Bar を実装しているのは &T であって T ではないからだというのはわかるのですが、
どういう形で書けばいいのかわかりません。
T そのものではなく &T が Bar を実装しているという制約はどう表現すればよいのでしょうか?
trait Bar {
fn func(&self) {}
}
fn baz<T>(x: &T)
where
T: Bar, // どう書けばいいの?
{
let a = x.func();
}
struct Foo {}
impl Bar for &Foo {}
fn main() {
baz(&Foo {});
}
Bar を実装しているのは &T であって T ではないからだというのはわかるのですが、
どういう形で書けばいいのかわかりません。
T そのものではなく &T が Bar を実装しているという制約はどう表現すればよいのでしょうか?
trait Bar {
fn func(&self) {}
}
fn baz<T>(x: &T)
where
T: Bar, // どう書けばいいの?
{
let a = x.func();
}
struct Foo {}
impl Bar for &Foo {}
fn main() {
baz(&Foo {});
}
178デフォルトの名無しさん
2023/03/17(金) 19:14:05.96ID:NC4w42Nt179デフォルトの名無しさん
2023/03/17(金) 19:33:27.88ID:7IpB+MOB180デフォルトの名無しさん
2023/03/17(金) 19:35:54.06ID:NC4w42Nt どうしてもimpl Bar for &Foo {}で行きたいなら
こうするしかない
trait Bar: Sized {
fn func(self) {}
}
fn baz<T>(x: T) where T: Bar,
こうするしかない
trait Bar: Sized {
fn func(self) {}
}
fn baz<T>(x: T) where T: Bar,
181デフォルトの名無しさん
2023/03/17(金) 19:56:30.88ID:TZnQdWAf いやできるが……
fn baz<'a, T>(x: &'a T) where &'a T: Bar
fn baz<'a, T>(x: &'a T) where &'a T: Bar
182デフォルトの名無しさん
2023/03/17(金) 19:59:29.44ID:XLm6gsUd なるほど、寿命を省略できないのですね。
ありがとうございます。
ありがとうございます。
183デフォルトの名無しさん
2023/03/17(金) 20:06:51.73ID:kImSYq8C184デフォルトの名無しさん
2023/03/17(金) 20:28:03.09ID:VjFaSUfW 寿命!
185デフォルトの名無しさん
2023/03/17(金) 21:08:25.10ID:XLm6gsUd186デフォルトの名無しさん
2023/03/18(土) 11:19:09.17ID:KAD/gYE9187デフォルトの名無しさん
2023/03/18(土) 11:40:54.04ID:yS+7OZFn188デフォルトの名無しさん
2023/03/18(土) 11:42:47.58ID:l9YNpI31 lifetime 周りは書いてあるだろ
189デフォルトの名無しさん
2023/03/18(土) 11:53:17.34ID:VtoeVuok190デフォルトの名無しさん
2023/03/18(土) 11:57:09.36ID:kHUlERx3 >>185
ライフタイムは全てにあるが省略できることが多い
省略できないときはコンパイラがエラーとし教えてくれるのでライフタイムを付ければいい
>>186
日本語版もある
https://doc.rust-jp.rs/book-ja/
ライフタイムは全てにあるが省略できることが多い
省略できないときはコンパイラがエラーとし教えてくれるのでライフタイムを付ければいい
>>186
日本語版もある
https://doc.rust-jp.rs/book-ja/
191デフォルトの名無しさん
2023/03/18(土) 14:05:24.60ID:PyzwqGcC192デフォルトの名無しさん
2023/03/18(土) 16:08:20.29ID:QSo2KHpO 「非公式な日本語訳」を「日本語版」と呼称するのはそれがあたかも公式かのように錯覚させる意図が見えるので優良誤認の疑いがある
193デフォルトの名無しさん
2023/03/18(土) 16:13:56.89ID:6WtXixvi194デフォルトの名無しさん
2023/03/18(土) 17:11:12.32ID:NQWJ1KgL 日本語訳の話題は生産的じゃないのでやめよう
このスレのローカルルールは>>37の通り
このスレのローカルルールは>>37の通り
195177
2023/03/18(土) 18:27:39.58ID:XgD5JQEe 読んだのは日本語訳のほうの The book ですが、個々の機能はたぶん分かってると思います。
ライフタイムを省略した場合には一定のルールで補われることも知ってました。
ただ、型が満たすべき性質を書くのが where 句なので (エラーメッセージを見てすら!) ライフタイムが必要ということがぴんと来なかったというのと、
引数と同じ記法でライフタイムをここに書けるのだということがわからなかったんです。
ライフタイムを省略した場合には一定のルールで補われることも知ってました。
ただ、型が満たすべき性質を書くのが where 句なので (エラーメッセージを見てすら!) ライフタイムが必要ということがぴんと来なかったというのと、
引数と同じ記法でライフタイムをここに書けるのだということがわからなかったんです。
196デフォルトの名無しさん
2023/03/18(土) 18:38:31.92ID:l9YNpI31 > 引数と同じ記法でライフタイムをここに書けるのだということがわからなかったんです。
英語版でも日本語版でもどっちでもいいけど 10.3 にちゃんと書いてあるよ
英語版でも日本語版でもどっちでもいいけど 10.3 にちゃんと書いてあるよ
197デフォルトの名無しさん
2023/03/18(土) 19:09:39.09ID:YhY+O2tk whereの:の左辺に参照とか書けるのをまず知らなかったんでしょ
the Bookにそんな例無いし
the Bookにそんな例無いし
198デフォルトの名無しさん
2023/03/18(土) 19:27:58.81ID:sUMBdqo8 日本語版を読まなければこんなことにはならなかった
日本語版を許すな
日本語版を許すな
199デフォルトの名無しさん
2023/03/19(日) 04:14:30.76ID:JYAaHQUF >>183
ラストコンパイラって響きカッコいいな
ラストコンパイラって響きカッコいいな
200デフォルトの名無しさん
2023/03/19(日) 13:06:57.80ID:j6t6IVCD201デフォルトの名無しさん
2023/03/19(日) 13:09:44.94ID:E3Ip09fl そりゃ「個々の機能はたぶん分かってると思います」とか言われたら分かってねーじゃんって言いたくなるだろ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★11 [樽悶★]
- 「日本はパンダがいなくなる状況に直面するだろう」 中国メディア、専門家の見方伝える [♪♪♪★]
- 外国人の犯罪率は日本人の1.72倍 警察庁が短期滞在者除いた数字を参院内閣委で答弁★2 [七波羅探題★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ★2 [♪♪♪★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- ワチが一番キライなスポーツ1つ当ててみ
- ウインナーを最初に考えた奴ってサイコパスだよな
- 16のヒッキー女に構って
- ネトウヨ「レアアースは日本でも採れるから輸入しなくてもOK!」 なお精製コストがバカ高く有害物質が大量に出ることは全く知らない模様 [314039747]
- 【すべてが】𝗮𝗺͜𝗮͉𝘇𝗼𝗻ブラックフライデーSALE総合【いいだろ!】 [194819832]
- 国籍答えろ!嫌儲民!! [279254606]
