Rust part34

1デフォルトの名無しさん
垢版 |
2025/11/27(木) 12:25:23.76ID:4JaxkBD4
公式
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 part33
https://mevius.5ch.net/test/read.cgi/tech/1755247770/

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
2025/11/27(木) 12:31:32.50ID:2EmBR7sq
>>1
O2
2025/11/28(金) 19:07:57.45ID:8IKERdAK
go
2025/11/28(金) 20:37:38.66ID:iU7IRGDo
Rustスレって急に書き込みが増えて急に書き込みがパタっとなくなるよね
不思議
2025/11/28(金) 21:46:28.15ID:RsuyY5k/
話題がない状態がデフォルト。
誰かが話題を提供したときにそれに乗っかって投稿し始めるからバースト的に書き込みが増えるという普通の話なので Rust スレに限らずだいたい掲示板というのはそういうもの。
2025/11/28(金) 22:38:13.42ID:lHHHw6+p
Cloudflareの大規模障害は言語としてのアイデンティティに関わるせいか、にわかに勢いづいてたんでは
7デフォルトの名無しさん
垢版 |
2025/11/28(金) 22:55:51.07ID:UW3PgF6D
安全性に関しては、結局前スレ888の
Rustが保証するのはメモリ安全であって、それ以上の機能を言語自体に期待してはいけないね

という話なんだろうね。
リーナスの「ランタイムエラーでパニックを発生させるのは根本的に問題があると思っている」というのはカーネルだけの話じゃなくてもっと根深い話なんだろうね。
2025/11/28(金) 23:03:34.36ID:5iCuzt+H
>>6
Rustが望ましいという結論が出たことが大きいね
必ずResultまたはOptionが返り値となるため適切な対応がとれる
一方で得られた教訓として異常時にpanicで終了させるべき通常のプログラムと異常時でも動作を続けるべきプログラムの2種類のどちらであるかを正しく認識して設計と実装をすべきと再認識させられた
2025/11/28(金) 23:21:49.55ID:zTtFbltF
>>7
Cloudflareの件で論点となったRustの安全性というのはメモリ安全のことではなくて、「未定義動作をしない」という、もう一段広い意味での安全性だよ
panicでシステムが停止したことによって死人が出たとしても、panic自体は定義された動作だからRustの定義上は「安全」なの
2025/11/28(金) 23:32:25.81ID:oAHABZMO
Linux対応でRustはpanicさせないAPIが整備されたから今後は明るい展望に変わった
2025/11/28(金) 23:36:59.19ID:LIzNpAhu
そういや、リーナスに言われて追加した、いろんなとこにメモリアロケータを引数で指定できる仕様はもう安定化したの?
2025/11/28(金) 23:58:42.55ID:Gsu5/GcB
入院はもう少しかかる
2025/11/29(土) 05:51:25.68ID:SOcARO8b
入院ってなんだ?
2025/11/29(土) 06:26:16.92ID:FJ34gj6n
心の病だろ
2025/11/29(土) 10:19:09.75ID:1AGRfuCc
本当に「もう少し」かあ?
2025/11/29(土) 11:14:14.65ID:cYk3tSL4
正規表現が標準ライブラリに入らないのはどういう理由なん?
Rust開発チームが管理しているものだし、公式に近いものに思えるけど
LazyCell とかは標準入りしたし、これも標準に入れて欲しい感じがある
17デフォルトの名無しさん
垢版 |
2025/11/29(土) 11:17:50.21ID:m7OsZTNV
1ヶ月ほど前にRust入れたときにVS2022が一緒にインストールされたんだが
VSだけ2026にしたらRustは影響受ける?
むしろRustでもVS2026使った方が良い?
VS2022消してからVS2026入れた方が良い?
2025/11/29(土) 11:32:23.68ID:Pddo/nnB
>Rustが望ましいという結論が出たことが大きいね
Rustのスキルは低いままなのに詐欺師のスキルには磨きがかかってるな
2025/11/29(土) 11:54:47.58ID:yWF17bd5
>>17
消してVSCode入れるといいよ
2025/11/29(土) 12:14:00.02ID:a750ewmK
>>19
いきなり正解、しかもこの質問色んなスレに一週間前から貼られてる謎の質問
2025/11/29(土) 12:23:47.25ID:T0m5YnVK
何の役にも立たないクソレスとそれを無意味に持ち上げるドクソレスw
2025/11/29(土) 12:41:28.20ID:cYk3tSL4
Windows環境だとMSVC使うのが基本だし、Visual Studio 入れるのが真っ当じゃないの?
エディタは VS Code でいいけど、Rustが依存するツールとして Visual Studio のコンパイラやリンカは要る

VS 2026 にしても問題ないけど、Rustから C/C++のコードを呼ぶ可能性があるなら VS 2022 は残した方が良い
(cmakeクレートがまだVS2022までしか対応してないので)
2025/11/29(土) 12:50:13.56ID:bZRv4lrN
>>17
インストール云々は>>22の書いてる通り

Rustの開発でVSを使うかどうかはどの程度のIDE支援を期待しているか次第
VSはVS CodeほどRust関連のextensionが充実してないので
2025/11/29(土) 12:51:50.05ID:bZRv4lrN
>>22
MSVCターゲット向けに必須なのはリンカとWindows SDKの一部だけでコンパイラは必須じゃなくない?
2025/11/29(土) 13:11:10.98ID:yr60lsGC
WindowsでもMSVCツールチェインより、イメージ的には鈍重そうなMinGWのほうが
実は作られるバイナリの動作速度早いんだっけ?
26デフォルトの名無しさん
垢版 |
2025/11/29(土) 13:35:43.84ID:xVYnmHWx
visual studioてまだ使ってる人おるんかな
c++てmsべったりなのがやっぱキモい
2025/11/29(土) 13:45:33.72ID:3id1C+OK
Rustも似たようなもんだろ
今やMSが一番Rustに金突っ込んでるんじゃないか?
2025/11/29(土) 14:01:56.76ID:S0nqOoRi
C++大好きなビッグテックといえばちょっと前まではMSだったけど、
今ではMSがRustに浮気してGoogleが筆頭になっちゃったね
2025/11/29(土) 14:40:05.38ID:SOcARO8b
allocator_api #32838
のissue見たら、アホみたいに長くて笑った
何をそんなにもめてるのか理解できない
30デフォルトの名無しさん
垢版 |
2025/11/29(土) 15:42:22.34ID:hbxZmChk
初心者:C/C++完全に理解した
中級者:C++チョットワカル
上級者:C++嫌い/Cの方が良い
長老:Rust嫌い
2025/11/29(土) 17:21:50.23ID:FtFLAJH1
MSがRust++を出したら本気出す
2025/11/29(土) 17:30:06.89ID:SOcARO8b
大手でRustを使い始めてないのはAppleぐらいじゃないか?
2025/11/29(土) 17:31:15.18ID:mIVdsrxN
そこはRust#だろ
2025/11/29(土) 17:52:51.69ID:aMf8U9NJ
>>32
AppleもRust使ってるよ
2025/11/29(土) 18:05:29.91ID:SOcARO8b
そこはSwiftだろ
Swiftファンに対する裏切り行為だよ
2025/11/29(土) 18:38:46.56ID:a5a+Znie
706 デフォルトの名無しさん sage 2025/11/17(月) 09:11:50.77 ID:rk5/i4ud
Rustの求人はここが毎月レポート出してるけど会社名とか見ると結構面白い
https://filtra.io/rust/jobs-report/oct-25
今月は防衛産業のAndurilが求人数トップだね

707 デフォルトの名無しさん 2025/11/17(月) 12:12:35.65 ID:AtT4RnQG
そのRust求人出してる企業一覧すごいな
知ってる企業がずらりと並んでいて感動した
Amazon
Microsoft
Cloudflare
xAI
Apple
Dropbox
Nvidia
Google
SpaceX
GitHub
Mozilla
Woven By Toyota
Discord
Disney
Fastly
Mercedes
Bloomberg
Toyota Connected
Figma
Astral
KSAT
LINE
Akamai
Meta
2025/11/29(土) 18:43:49.42ID:SOcARO8b
Adaの後継はRustでウッドボールか
2025/12/01(月) 10:32:10.44ID:g1Gr1S7x
1画面プログラムとか書いてそう
39デフォルトの名無しさん
垢版 |
2025/12/02(火) 18:29:04.48ID:cTmHVcrQ
ビルド遅いのなんとかならんのかな
差分だけでええやろって思ところを毎回フルコンパイルしてるように見えるんだけど
2025/12/02(火) 18:43:32.01ID:O0y+ZlUf
分割方法と変更箇所の関係だろうな
41デフォルトの名無しさん
垢版 |
2025/12/02(火) 19:41:15.00ID:1FGONYAG
sccache入れれば多少は
2025/12/02(火) 20:44:48.17ID:cRRKqG9w
>>41
sccache制限きつくね?
・インクリメンタルコンパイルされたクレートはキャッシュできない
・システムリンカーを呼び出すクレートはキャッシュできない
43デフォルトの名無しさん
垢版 |
2025/12/03(水) 03:34:36.66ID:oIB/w2I6
コンパイルの効率は悪いよ
2025/12/03(水) 03:35:44.18ID:oIB/w2I6
そりゃsccacheの制限じゃなくてRustの制限だからさ
2025/12/03(水) 06:04:17.00ID:WiHtSPxG
言語に関係ない性質
2025/12/03(水) 06:10:38.86ID:IXiFazox
ビルド眺めてたら、最後のリンクするところがクソ遅いな
2025/12/03(水) 11:42:16.90ID:G3Cx7y7o
Rustのcratesって
.a/.soや.lib/.dllをダウンロードする仕組みじゃなくて
毎回ソースが必要なん?
2025/12/03(水) 12:06:05.34ID:kmYeuBOH
基本的には毎回ソース
2025/12/03(水) 13:05:32.27ID:OnxLfrF+
コンパイル済みバイナリをダウンロードできるようにする提案は出ているんだけど実現するかどうかはわからんね。
2025/12/03(水) 14:51:41.63ID:9srsrlEn
公式じゃないけどバイナリダウンロードできるようにしてるところがあったような
2025/12/03(水) 14:59:03.81ID:IXiFazox
cargo-binstall の話?
2025/12/03(水) 18:13:52.75ID:3Hibg4jw
>>51
インデックス登録に申し込みが必要なやつだったからcargo-binstallではないと思うけど
今探しても見つからないからそういうバイナリプロジェクトをインストールするやつと勘違いしたのかもしれん
2025/12/03(水) 18:46:38.64ID:2MnTI9t3
build.rsで生成済みのバイナリ(.rlib)をコピーする形式ならできそうだけど一般公開向けじゃないな
2025/12/03(水) 19:04:15.83ID:8JMYDz0K
>>53
バイナリだけならunsafeでは
55デフォルトの名無しさん
垢版 |
2025/12/03(水) 20:13:27.80ID:+yx3EwOE
アーキテクチャ分バイナリ用意しないとならなくなるから
結構難しそう
2025/12/03(水) 20:22:13.29ID:q2X/X5Gp
そもそもABIがstableじゃないからコンパイラのバージョン毎に配布しないといけないのでは
2025/12/03(水) 22:32:18.40ID:Eh+HvnbR
だっさ
2025/12/03(水) 22:35:08.95ID:CgpHbwYB
いろんな環境でネイティブコンパイルする言語だし労力に見合うリターンが無いよなあ
Windowsのことだけ考えてりゃ後はどうでもいいって時代ならともかく
2025/12/06(土) 00:54:32.45ID:N0FmDDVX
Cloudflareがまたやらかしたな
Rust界の恥晒し
2025/12/06(土) 01:33:54.85ID:YZiuqUxi
【CDN】米クラウドフレアが控訴、海賊版サイトめぐり「5億円の賠償命令」判決に不服
https://asahi.5ch.net/test/read.cgi/newsplus/1764907388/
2025/12/06(土) 02:00:47.66ID:cYcM2N2O
>>59
今回の障害が起きたのはFL1(旧アーキ)のみ

>In our FL1 version of our proxy under certain circumstances, this latter change caused an error state that resulted in 500 HTTP error codes to be served from our network.
>Customers that have their web assets served by our older FL1 proxy AND had the Cloudflare Managed Ruleset deployed were impacted.

Reactのサーバーコンポーネントで見つかったRCE脆弱性対応のため、プロキシのバッファサイズを拡大したことによるバグ顕在化が原因とのこと

>As part of our ongoing work to protect customers using React against a critical vulnerability, CVE-2025-55182, we started rolling out an increase to our buffer size to 1MB, the default limit allowed by Next.js applications. We wanted to make sure as many customers as possible were protected.

>As soon as the change propagated to our network, code execution in our FL1 proxy reached a bug in our rules module which led to the following LUA exception:
>[lua] Failed to run module rulesets callback late_routing: /usr/local/nginx-fl/lua/modules/init.lua:314: attempt to index field 'execute' (a nil value)

Rustで書かれたFL2(新アーキ)で当該エラーは起こっていない

>This is a straightforward error in the code, which had existed undetected for many years. This type of code error is prevented by languages with strong type systems. In our replacement for this code in our new FL2 proxy, which is written in Rust, the error did not occur.

https://blog.cloudflare.com/5-december-2025-outage/
2025/12/06(土) 09:10:08.41ID:WJ0DA+eG
驚いた!Rustすごい!
2025/12/06(土) 12:45:36.37ID:aue+ojQ+
池沼が
2025/12/06(土) 13:07:10.85ID:DTR3/WcD
Cloudflareのコンフィグ管理周りの未熟さも気になるが
それ以上にReact Server Componentは仕組み的に危ない

アプリレイヤーでのリクエストbodyのdeserializationにバグがあると
いきなりfull RCEに直結する仕組みとか怖すぎる

もうちょっと警鐘鳴らしたほうがいいんじゃないだろうか
2025/12/06(土) 13:52:58.00ID:OrfRaHNT
問題は障害がRustに関連したものかどうかではなくて、
Rust採用を大々的にアピールした有力テックの実体がこの程度だったというのを露呈したことだろうな
Rust驚いた勢のプライドを激しく毀損している
66デフォルトの名無しさん
垢版 |
2025/12/06(土) 14:18:25.19ID:ARinuXXT
警鐘鳴らそうとして実証コード描いたらタイーホされる時代
2025/12/06(土) 16:19:08.82ID:LjhUSqqq
自作のソフトウェアのコードRustで書いてんだけどやっぱビルド周りが遅いな
cargo testも実行まで時間かかるし
もっと速くならんかな
68デフォルトの名無しさん
垢版 |
2025/12/06(土) 17:30:19.35ID:EhyTMf4b
なんでcと速度は変わらんのにビルドこんな遅いん?
69デフォルトの名無しさん
垢版 |
2025/12/06(土) 17:43:56.21ID:z6f5ohL1
Rustはメモリリーク含めたリスクポイントをコンパイル時点で教えてくれるだけ。
panicで止めるかどうかは、異常系分類による。
停止させると逆に危険な場合もあるので、自前のexceptアナライザーは必須。
とにかく、関心事の放散が防止できれば、メモリアロケーションもリリースもミスは少なくなる。
SOLID原則に従えば、エレベーターも止まらない。 Rustの出発点が変な気もする。
アーキテクチャー不在がエレベーターを止める。
2025/12/06(土) 23:34:40.22ID:DacREqLg
異常系という言葉を気軽に使う人間は絶対に信用してはいけない
重大障害のもと
2025/12/07(日) 01:56:01.10ID:h2UU4mQ3
どういう理屈で?
当該用途にはなんて言葉を使えばいいの?
2025/12/07(日) 02:51:57.24ID:BRimgs0p
半永久的に動き続けることが求められるサーバーでは異常系終了を用いない
それだけの話だろう
73デフォルトの名無しさん
垢版 |
2025/12/07(日) 03:31:02.57ID:Wacr4v8K
イージーモード追加してくれんかな
trycatchとかgoみたいなエラー処理やりたい
2025/12/07(日) 04:14:18.61ID:YtRaGYdh
Goには例外try/throw/catchもなければResultのような代数的データ型もない
Goは多値でエラーを返してif文でそれがnilかどうかを判別するしかなくイージーモードとはかけ離れている
2025/12/07(日) 04:23:57.95ID:mtIDmBMJ
>>72
システム開発における正常/異常系はテストケースの話じゃないの?
異常終了させないためには、なおのこと異常系は肝要なのでは
2025/12/07(日) 05:47:16.97ID:JhJJ9T6O
unwrap()の是非について焼き寿司氏のblog
https://burntsushi.net/unwrap/

仮にリンターでunwrap()の有無をチェックしても
slice[i] や RefCell、場合によっては算術演算のラップアラウンドでもパニックするよ
という指摘にはなるほどと思った
77デフォルトの名無しさん
垢版 |
2025/12/07(日) 08:25:06.65ID:sR0SS/1I
>>76
Linusの指摘そのままじゃない?
「ランタイムエラーでパニックを発生させるのは根本的に問題があると思っている」

OSみたいなクリティカルな用途だから要求も高いというのはあるけど、Rustはc用途を目指しているんだから、他人のコードであってもpanicを制御できるようにならなきゃ話にならんかと。
2025/12/07(日) 09:49:00.07ID:RKvo/7WP
>>77
std::panic::catch_unwind でキャッチする仕組みはある。
ただ C++ の例外と同じでランタイムサポートの支援で実現するものだから、それより下のレイヤ (OS など) を作ってるときには使いにくいんだよ。
結局のところ OS のレイヤでは C でやってるのと同じやり方でなんとかするしかない。
2025/12/07(日) 11:31:53.26ID:DIZ3oEXF
unwrap()の是非について
https://www.youtube.com/watch?v=TalW9HN9_hI
流行って来た
2025/12/07(日) 13:14:55.38ID:4YzXVeaK
>>77
slice[i]やRefCellや算術演算で発生するpanicと
OOMをResultでハンドリングする機能がなく避けようがなかったpanicとは種類が違う

前者はプログラムコードのバグ
後者はプログラムコードにバグがなくても環境次第で発生してた

Linusが正確に何と言ったかは知らんけど
環境次第で実行時に発生するエラーを
panicとしてしか扱えなかったことを問題視したんじゃないか?
2025/12/07(日) 13:17:17.08ID:4YzXVeaK
>>79
複おじに毛が生えたレベルの説明だが
その毛があるかないかの違いが重要なのかもな
2025/12/08(月) 06:14:53.89ID:78+iHLWM
iced 0.14.0がリリースされて、ついに日本語入力に対応したらしいよ

> Input method support. #2777
2025/12/08(月) 10:36:18.01ID:JY6W1FTm
驚き!
2025/12/08(月) 17:44:28.10ID:WGXF6l1Y
なにicedって
2025/12/08(月) 19:41:58.70ID:IqmmsKhE
UIライブラリや
86デフォルトの名無しさん
垢版 |
2025/12/09(火) 13:17:43.50ID:deXLWuOQ
rustでUIやる意味何?計算量の多いゲームエンジンならわかるけどただのアプリならコンパイルの遅いrustでなんか作りたくねえ
87デフォルトの名無しさん
垢版 |
2025/12/09(火) 13:24:51.74ID:Lsl4QAiK
make world と打ち込んで1週間待ってた頃に比べれば全然余裕
88デフォルトの名無しさん
垢版 |
2025/12/09(火) 13:28:09.51ID:H/C7AGZK
Borlandがturbo rustを出すまで我慢だね
89デフォルトの名無しさん
垢版 |
2025/12/09(火) 13:31:43.36ID:H/C7AGZK
turbo visionのcrateはあるんだw
90デフォルトの名無しさん
垢版 |
2025/12/09(火) 13:34:26.68ID:b/v/GR+5
でもgpuiつかったやつめちゃ速くない?
あとrust analyzerのメモリ爆食いどうにかしてクレメンス
2025/12/09(火) 18:55:52.01ID:r9m3tzex
実際C++BuilderのGUI生産性と、Rustの言語としての速さと頑強さが組み合わされば無敵じゃね?
2025/12/09(火) 20:27:29.76ID:nH0p4cXR
まあエンバカデロはもう革新的な製品作りそうにないし
ヘジルスバーグはRustにあまり興味なさそうだけどね
2025/12/10(水) 05:02:49.84ID:hPMgr9J3
Gemini君に聞いたら、RustはC++のNRVOに相当する最適化をC++よりも広い適用範囲で強力に行います
Destination Passing Style (DPS)
って事らしいけど本当かな?
2025/12/10(水) 09:50:22.74ID:MSOh6BWq
C++ はオブジェクトへのアクセスが自由過ぎてエイリアス解析が大変 (最適化がしんどい) というのは昔から言われてた。
逆に言えば参照 (オブジェクトの依存関係) を完璧に追える Rust ではもっと上手くやれてもおかしくはないと思う。
2025/12/10(水) 10:28:50.81ID:4/EtyeCo
面倒くさい奴だけど付き合うと意外と良い奴
2025/12/10(水) 11:00:48.64ID:WdeXXEzW
>>93
Rustの方針はシンプルかつ効率
関数がレジスタ返しできない大きなサイズのデータを返す時
呼び出し側の関数のスタックフレームに領域を確保
呼び出された関数は最初からその領域にデータを書き込む
もちろんこれらは裏で自動的に行われる
2025/12/10(水) 11:29:15.14ID:+wlu09xM
日本語不自由なやつしかおらんのかいな
2025/12/10(水) 11:31:30.40ID:hPMgr9J3
"Destination Passing Style" で検索するとHaskellの話しか出てこないからハルシネーションか?
99デフォルトの名無しさん
垢版 |
2025/12/10(水) 11:32:51.92ID:v/mPNkvx
RustはUIでも覇権取れる?
2025/12/10(水) 11:48:09.95ID:7/+OAEHE
はい
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況