公式
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 part32
https://mevius.5ch.net/test/read.cgi/tech/1755057787/
Rust part31 https://mevius.5ch.net/test/read.cgi/tech/1751545806/
Rust part30 https://mevius.5ch.net/test/read.cgi/tech/1748392296/
ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
探検
Rust part33
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん
2025/08/15(金) 17:49:30.70ID:N8TIzbWg909デフォルトの名無しさん
2025/11/24(月) 22:28:17.91ID:qMEdPPRT910デフォルトの名無しさん
2025/11/24(月) 22:31:40.94ID:fg7M9od0 >>906
Rust API Guidelines でもパブリックな型にはDebugトレイトを実装することを推奨してるけど
https://rust-lang.github.io/api-guidelines/debuggability.html
Rust API Guidelines でもパブリックな型にはDebugトレイトを実装することを推奨してるけど
https://rust-lang.github.io/api-guidelines/debuggability.html
911デフォルトの名無しさん
2025/11/24(月) 22:32:27.20ID:vfRWkEzS >>908
その無理矢理な「Rustの抱えている問題」との書き込みからアンチらしき人にみえます
その無理矢理な「Rustの抱えている問題」との書き込みからアンチらしき人にみえます
912デフォルトの名無しさん
2025/11/24(月) 22:41:07.93ID:pZ21ptJQ 「所有権の複製」の人って
その発言の前はそもそもクソコードいっぱいこのスレに書いてた人よな?
あの人よくunwrap書いてたような記憶あるけど記憶違いかな
その発言の前はそもそもクソコードいっぱいこのスレに書いてた人よな?
あの人よくunwrap書いてたような記憶あるけど記憶違いかな
913デフォルトの名無しさん
2025/11/24(月) 23:02:06.99ID:A7gFxydS unwrap使わない人はassertも使わないのかな
条件が破れた時にpanicの発生源になるし
条件が破れた時にpanicの発生源になるし
914デフォルトの名無しさん
2025/11/25(火) 00:13:09.71ID:8A3kV+Bq 除算は常にchecked_div使ってそう
915デフォルトの名無しさん
2025/11/25(火) 00:17:03.45ID:x+ek8sa9 物事を点でしかとらえられない知的障害者が大勢いるのがよくわかってかなしい
早くAIに置換したい
早くAIに置換したい
916デフォルトの名無しさん
2025/11/25(火) 00:21:51.64ID:GjnKMvo7 0か100か思考の例
917デフォルトの名無しさん
2025/11/25(火) 01:08:59.76ID:0646GGZx >>909
Cloudflareのunwrapの使い方が誤った使い方でないと思ってるならそう思う根拠を述べて反論できないの?
Cloudflareのunwrapの使い方が誤った使い方でないと思ってるならそう思う根拠を述べて反論できないの?
918デフォルトの名無しさん
2025/11/25(火) 03:59:13.06ID:+GvTbsc2 >>917
あちこちでの議論くらい読め
Resultを返す関数の中で意図的にResultをunwrapしていることから
そこでエラーは起きないと確信していて起きたら停止すべき事態とみなしている
現実にもありえない重複行が発生してサイズオーバーという異常事態になっていた
あとは運用側の問題でありpanicによりどこで何が起きたか確実に判明して直ぐに対応できる話だがここでは対象外
あちこちでの議論くらい読め
Resultを返す関数の中で意図的にResultをunwrapしていることから
そこでエラーは起きないと確信していて起きたら停止すべき事態とみなしている
現実にもありえない重複行が発生してサイズオーバーという異常事態になっていた
あとは運用側の問題でありpanicによりどこで何が起きたか確実に判明して直ぐに対応できる話だがここでは対象外
919デフォルトの名無しさん
2025/11/25(火) 07:01:05.47ID:DqKQ99IA >>918
そのあたりはコーダーの都合であって、運用を危険にさらす理由にならない。
Cloudflareの場合で言うなら、
https://blog.cloudflare.com/ja-jp/18-november-2025-outage/
ボット管理モジュールのフィーチャー設定ファイルは長さに上限が無いにもかかわらず固定長のメモリに保存する仕様にしているのだから、固定長を超えるフィーチャー設定ファイルが来るのは当然ありえるケースとしてカバーする必要がある。それをコーダーの都合で雑にpanicさせて、なおかつ「panicのあとは運用側の問題」と放り投げるなら>881>884という話だわな。
そのあたりはコーダーの都合であって、運用を危険にさらす理由にならない。
Cloudflareの場合で言うなら、
https://blog.cloudflare.com/ja-jp/18-november-2025-outage/
ボット管理モジュールのフィーチャー設定ファイルは長さに上限が無いにもかかわらず固定長のメモリに保存する仕様にしているのだから、固定長を超えるフィーチャー設定ファイルが来るのは当然ありえるケースとしてカバーする必要がある。それをコーダーの都合で雑にpanicさせて、なおかつ「panicのあとは運用側の問題」と放り投げるなら>881>884という話だわな。
920デフォルトの名無しさん
2025/11/25(火) 07:48:13.19ID:FpWlKcVO 運用上マズい結果を招きかねないコードがそのまんまテストやレビューを通過していることから、これは組織体制の問題でもある
どのようなテスト結果をもってどのように承認されたのか、今回の事象に至る前提条件はその時に把握されていたのか、等が気になる
どのようなテスト結果をもってどのように承認されたのか、今回の事象に至る前提条件はその時に把握されていたのか、等が気になる
921デフォルトの名無しさん
2025/11/25(火) 07:52:14.10ID:+GvTbsc2 >>919
理解できない人なのかな?
そんな憶測の話はどうでもいい
きりがない
重要なことは何を意図して今回のコードを書いているかどうか
今回はResultを返す関数の中で意図的にResultをunwrapしていることから
そこでエラーは起きないと確信していて起きたら停止すべき事態とみなしている
そして異常事態が実際に起きてここで食い止めることができている
もちろんこれらの事象が起きて事後知識を得た後には別の判断をする可能性がある
その一つがボット判断の無効化など異常事態でも動かし続けることを優先するだろう
これらの事後知識を得た後の話をしても意味がない
理解できない人なのかな?
そんな憶測の話はどうでもいい
きりがない
重要なことは何を意図して今回のコードを書いているかどうか
今回はResultを返す関数の中で意図的にResultをunwrapしていることから
そこでエラーは起きないと確信していて起きたら停止すべき事態とみなしている
そして異常事態が実際に起きてここで食い止めることができている
もちろんこれらの事象が起きて事後知識を得た後には別の判断をする可能性がある
その一つがボット判断の無効化など異常事態でも動かし続けることを優先するだろう
これらの事後知識を得た後の話をしても意味がない
922デフォルトの名無しさん
2025/11/25(火) 08:15:03.85ID:avTUsTzQ >>921
コーダー視点からすればそうなのね。
それならなおさらのこと、マネジメント視点や運用視点からすればpanicは厳重に管理しなければならない対象ということになり、>881という結論になるわな。
さらに言えば>920の指摘の通りで、雑に実装された緊急停止コードがレビューでそのまま本番環境に投入されたのは組織体制の問題があるかもしれん。実際にはRustのバッドノウハウの普及遅れのせいだと思うけど。
コーダー視点からすればそうなのね。
それならなおさらのこと、マネジメント視点や運用視点からすればpanicは厳重に管理しなければならない対象ということになり、>881という結論になるわな。
さらに言えば>920の指摘の通りで、雑に実装された緊急停止コードがレビューでそのまま本番環境に投入されたのは組織体制の問題があるかもしれん。実際にはRustのバッドノウハウの普及遅れのせいだと思うけど。
923デフォルトの名無しさん
2025/11/25(火) 10:56:07.08ID:IwWO65N4924デフォルトの名無しさん
2025/11/25(火) 11:05:24.61ID:NxjncStx 複おじの憶測が当たってても誤ったunwrapの使い方であることに変わりはないよね
925デフォルトの名無しさん
2025/11/25(火) 11:49:12.51ID:twyqgfyl クラウドフレアって良く落ちるよね
926デフォルトの名無しさん
2025/11/25(火) 13:01:07.06ID:s4FH6eXw >>921
コードは(もっと言えば仕様も)意図を100%反映するものではない
コードにunwrap()があるからといってそこから背景の意図を一意に読み取れるとする前提は、ソフトウェア工学の現実にまったく即していない
コードは(もっと言えば仕様も)意図を100%反映するものではない
コードにunwrap()があるからといってそこから背景の意図を一意に読み取れるとする前提は、ソフトウェア工学の現実にまったく即していない
927デフォルトの名無しさん
2025/11/25(火) 13:11:04.76ID:9wqtt8Qj 設定ファイルはデフォルトのものは用意出来なかったのだろうか
デフォルトの設定を使ったら動作変わるだろうけどそれよりはpanicのほうがマシということかな
デフォルトの設定を使ったら動作変わるだろうけどそれよりはpanicのほうがマシということかな
928デフォルトの名無しさん
2025/11/25(火) 14:14:13.80ID:mrMsaISH panicさせれば確実に問題を把握できるからベストだけど
どこでpanicしたかわかっているのに対応に時間がかかった運用体制がダメだよな
どこでpanicしたかわかっているのに対応に時間がかかった運用体制がダメだよな
929デフォルトの名無しさん
2025/11/25(火) 14:28:01.35ID:22TkMTB3 リリースビルドでも行番号出るんだっけ?
930デフォルトの名無しさん
2025/11/25(火) 14:36:29.79ID:oKjFi/bF fmt::Debug実装されてないとき
Compile errorで落とすのをデフォに出来ないの
Compile errorで落とすのをデフォに出来ないの
931デフォルトの名無しさん
2025/11/25(火) 14:43:06.35ID:F0vSFTML >>877
pythonのモジュール設計はtcl/tkのパクリ
pythonのモジュール設計はtcl/tkのパクリ
932デフォルトの名無しさん
2025/11/25(火) 15:49:19.46ID:I2i5SPtI >>910
だね。
例えば、UartDriverのインスタンスを関数外にグローバル変数(static)として設け、各関数でシェアする場合、
OnceLock<Mutex>などで排他する必要がある。
これをnew()内でmutex setしようとするとそのset関数にはunwrapも.exceptも使えない。
そこで、sft::fmt::DEBUGインプリメント推奨となる。
だね。
例えば、UartDriverのインスタンスを関数外にグローバル変数(static)として設け、各関数でシェアする場合、
OnceLock<Mutex>などで排他する必要がある。
これをnew()内でmutex setしようとするとそのset関数にはunwrapも.exceptも使えない。
そこで、sft::fmt::DEBUGインプリメント推奨となる。
933デフォルトの名無しさん
2025/11/25(火) 16:57:37.23ID:I2i5SPtI934デフォルトの名無しさん
2025/11/25(火) 18:06:26.30ID:gKa7Wtm4 refcellとかの内部可変性はズルいような感じする
935デフォルトの名無しさん
2025/11/25(火) 18:07:51.70ID:Uzx8myAA unwrap禁止おじさんw
936デフォルトの名無しさん
2025/11/25(火) 18:29:54.26ID:I2i5SPtI まぁ クレートのラッパーにstd::fmt:DEBUG入れ込むのは、VScode AIコパイロットで一度パターンを覚えてくれれば、楽になるが、あちきのようなvim使いにはテンプレートでやるしかない。
意外と手間がかかるのでマンドクサイ。
意外と手間がかかるのでマンドクサイ。
937デフォルトの名無しさん
2025/11/25(火) 18:43:51.50ID:tWNvtr7E938デフォルトの名無しさん
2025/11/25(火) 18:50:48.51ID:tWNvtr7E939デフォルトの名無しさん
2025/11/25(火) 19:15:28.03ID:twyqgfyl まあRustだから安全ですよ
そんなに心配していません
そんなに心配していません
940デフォルトの名無しさん
2025/11/26(水) 01:42:28.68ID:fYRqTg9o panic panic panic みんなが慌ててる
Rustは凄いぞ 天才的だぞ 将来楽しみだ
Rustは凄いぞ 天才的だぞ 将来楽しみだ
941デフォルトの名無しさん
2025/11/26(水) 02:55:05.14ID:I5iq7Xze 認証せえ~!!
942デフォルトの名無しさん
2025/11/26(水) 07:57:42.58ID:lveofIN6 >>930
https://doc.rust-lang.org/rustc/lints/listing/allowed-by-default.html#missing-debug-implementations
デフォルトだとallowになってるからdenyにしておくといい
lintルールは暇なときに眺めてみると勉強になるかもしれない
https://doc.rust-lang.org/rustc/lints/listing/allowed-by-default.html#missing-debug-implementations
デフォルトだとallowになってるからdenyにしておくといい
lintルールは暇なときに眺めてみると勉強になるかもしれない
943デフォルトの名無しさん
2025/11/26(水) 08:33:59.66ID:mGmJoQ1I944デフォルトの名無しさん
2025/11/26(水) 09:47:04.35ID:Pac8bZoE >>937
上位でエラーハンドリングしなければいけないという事実をunwrapで隠蔽してるのでこれもある種の握りつぶし
上位でエラーハンドリングしなければいけないという事実をunwrapで隠蔽してるのでこれもある種の握りつぶし
945デフォルトの名無しさん
2025/11/26(水) 11:03:01.70ID:0yU1UOYB safe panicで安心安全
946デフォルトの名無しさん
2025/11/26(水) 11:25:19.54ID:g4n+mUAP947デフォルトの名無しさん
2025/11/26(水) 11:28:14.69ID:g4n+mUAP unwrapの何が悪いって言うと
コンパイル通って実行も出来てうまく処理したつもりになってるアマグラマーを量産してることだな
コンパイル通って実行も出来てうまく処理したつもりになってるアマグラマーを量産してることだな
948デフォルトの名無しさん
2025/11/26(水) 11:46:54.66ID:ZGYu6bhA >>946
まず「新しい型を定義する」ということをやらないといけないだろ。
元の型で取り出すのをいちいち明示するのもわずらわしいから Deref も実装したほうが良いかもしれない。
そのあたりも込みでの話。
Debug 自体をどう実装するか以前の部分で自動化したいってこと。
まず「新しい型を定義する」ということをやらないといけないだろ。
元の型で取り出すのをいちいち明示するのもわずらわしいから Deref も実装したほうが良いかもしれない。
そのあたりも込みでの話。
Debug 自体をどう実装するか以前の部分で自動化したいってこと。
949デフォルトの名無しさん
2025/11/26(水) 12:10:39.11ID:g4n+mUAP proc_macro2で割と簡単に出来た気がするが
950デフォルトの名無しさん
2025/11/26(水) 13:51:04.55ID:85nVzqH7 |&x| ってやるとxが参照じゃなくなるんだけどなんで?
951デフォルトの名無しさん
2025/11/26(水) 13:56:50.66ID:ZGYu6bhA952デフォルトの名無しさん
2025/11/26(水) 14:40:21.92ID:85nVzqH7 &はコンストラクターだったってことか
953デフォルトの名無しさん
2025/11/26(水) 15:29:16.94ID:2vze7JyK え?
954デフォルトの名無しさん
2025/11/26(水) 16:14:24.08ID:t5Xje6NM Rustはシンプルに出来ている
C++のバカな考え方に捕らわれてる人はなかなか理解できないか間違った複雑な捉え方をしてしまい正しく理解できないままの人もいる
C++のバカな考え方に捕らわれてる人はなかなか理解できないか間違った複雑な捉え方をしてしまい正しく理解できないままの人もいる
955デフォルトの名無しさん
2025/11/26(水) 16:30:37.62ID:FNkoUT7c 結局は、プログラムを完成できるかという事と維持のためのクリーンアーキが体現できるかという事で能力が決まる。
仕方なくRustでやってているが、C++がやり易いのは体感だ。 理解の問題ではない。Rustも理解している
仕方なくRustでやってているが、C++がやり易いのは体感だ。 理解の問題ではない。Rustも理解している
956デフォルトの名無しさん
2025/11/26(水) 18:23:06.20ID:KaXTpFXN >>954
せめてunwrapの使い方くらいは理解してから出直してくれ
せめてunwrapの使い方くらいは理解してから出直してくれ
957デフォルトの名無しさん
2025/11/26(水) 18:56:04.77ID:85nVzqH7 クロージャーの引数の型を省略するとFnMutに渡したときライフタイムが正しく推論できなくなるみたいだな
958デフォルトの名無しさん
2025/11/26(水) 18:59:06.33ID:Q+3LZ/9t 【海外記事紹介】Rustにはガッカリしている
> 11月24日、bykozyが「Blog - Rust is a disappointment」と題した記事を公開した。この記事では、Rustが期待されてきた「C++の後継候補」としての役割を十分に果たしていないのではないかという問題提起を行い、とくにコンパイル速度の遅さ、言語としての複雑さ、メモリ安全性と信頼性のトレードオフ、可変共有状態の扱いにおける限界について詳しく紹介している。
> 11月24日、bykozyが「Blog - Rust is a disappointment」と題した記事を公開した。この記事では、Rustが期待されてきた「C++の後継候補」としての役割を十分に果たしていないのではないかという問題提起を行い、とくにコンパイル速度の遅さ、言語としての複雑さ、メモリ安全性と信頼性のトレードオフ、可変共有状態の扱いにおける限界について詳しく紹介している。
959デフォルトの名無しさん
2025/11/26(水) 19:33:52.84ID:UmU61ZAP 複雑に屋上屋を重ねたC++との比較なのに、Rustに対して「言語としての複雑さ」とか、かなり偏向した人が書いてるな
960デフォルトの名無しさん
2025/11/26(水) 19:53:02.22ID:8p80J7jf C++は複雑かつUBだらけで最悪だと書いてるよ
そのうえでRustは万能ではないと述べてる
ただし代替策を示しているわけではない
現状Rustしかないことになる
そのうえでRustは万能ではないと述べてる
ただし代替策を示しているわけではない
現状Rustしかないことになる
961デフォルトの名無しさん
2025/11/26(水) 21:19:43.49ID:VHreFP8b googolleでchromeos作ってる人がもうc++書きたくないrustてゆってた
962デフォルトの名無しさん
2025/11/26(水) 21:43:11.86ID:qWluL7E5963デフォルトの名無しさん
2025/11/26(水) 22:06:33.26ID:lveofIN6 自分でももう分かってるでしょう
よく使われてないライブラリだとそんなもんってことです
よく使われてないライブラリだとそんなもんってことです
964デフォルトの名無しさん
2025/11/26(水) 22:28:50.07ID:xY5IV0zg965デフォルトの名無しさん
2025/11/27(木) 00:27:00.56ID:KUlfxB8m Rustしかないのが問題だよな
Web用のスクリプトといえばPerlしかなかった時代と一緒
Web用のスクリプトといえばPerlしかなかった時代と一緒
966デフォルトの名無しさん
2025/11/27(木) 00:54:12.31ID:GDctdmDp それについては >>892 にでも言及している
967デフォルトの名無しさん
2025/11/27(木) 04:19:51.35ID:DzIdqGdb Rustは良い言語だけどC++の後継にならないのは同意
RustはCの後継にはとても良い
RustはCの後継にはとても良い
968デフォルトの名無しさん
2025/11/27(木) 05:41:05.69ID:qRuhhqNb c++後継と言うならテンプレートとコンセプトは欲しいところ。静的ダックタイプの無いc++とか触りたくない。
969デフォルトの名無しさん
2025/11/27(木) 05:55:29.12ID:gqa+htEmレスを投稿する
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 中国「日本で中国人への犯罪が多発」 日本側の否定に「先週も5人逮捕」と反論 [夜のけいちゃん★]
- 円安で増加の風俗目的の中国人インバウンド 客に処罰規定なし、悲しき売春観光大国の現状 [蚤の市★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! ★6 [Ailuropoda melanoleuca★]
- 首相、台湾有事答弁で釈明に終始 政治とカネには「そんなことより」 [蚤の市★]
- 【サッカー】UEFA-CL第5節 アーセナル×バイエルン、PSG×トッテナム、リバプール×PSV、オリンピアコス×レアル [久太郎★]
- 【金沢地裁】「風俗嬢に着せようと」南砺の高校で女子バレー部のユニホームを窃盗した男が説明 検察側、拘禁刑4年を求刑 [nita★]
- 30代なのにまだ独身の男wwwwwwwwwwwwwwwwwwwww
- ぶっちゃけ排外主義のなにが悪いの? [279254606]
- 【高市悲報】中国「ふにゃふにゃ言いながら、時が自然に解決するのを期待する—そんなジャップ流は決して通用しない」 [115996789]
- 風俗嬢「客がミスド買ってきたけどセンスなさすぎるだろ」
- 百田尚樹「日本は税金が高すぎる。私はそれほど大金持ちではないが、毎年収入の55%を納税している。江戸時代の農民以下の扱いだ」 [309323212]
- 【高市 朝8時】 肥満の全裸 、 公園に発生 [485983549]
