探検


Rust part37

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2026/07/17(金) 19:12:31.24ID:yl11920u
公式
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 part36
https://mevius.5ch.io/test/read.cgi/tech/1779974768/

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.io/test/read.cgi/tech/1514107621/
2026/07/19(日) 07:39:36.76ID:J0w23NZl
>>319
お前の書いてるRustはそうなんだろ?
そんなに怒って何が言いたいんだい?w
2026/07/19(日) 07:41:21.68ID:Pbg4OqFR
>>319
こんなすれにまじになっちゃってどうするの
2026/07/19(日) 07:41:26.89ID:GVCMKu1f
Rustアンチの人は反例を示せないままデタラメに否定してたからね
以下のRustにおける常識を

>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
2026/07/19(日) 07:42:42.31ID:IR1/PVyP
>>324
お前の中ではそれで正しいんだろ?
だったらもうそれでいいじゃん
2026/07/19(日) 07:43:09.98ID:8KySyXbb
ID:GVCMKu1fがただしかったってことで、いいとおもいます!
2026/07/19(日) 07:43:13.02ID:GVCMKu1f
>>321
>>322
時々IDを変え忘れて同じIDのまま二度レスしてるね
2026/07/19(日) 07:44:26.57ID:Xc6J5cNr
>>327
単に同一人物なだけだろ
矛盾したことも言ってないし
2026/07/19(日) 07:45:11.59ID:10Ib5hsB
>>327
そうだねー、いじめられてかわいそかわいそ
2026/07/19(日) 07:47:05.41ID:yPYKroD9
>>323
たけしの挑戦状で草
2026/07/19(日) 07:47:17.32ID:GVCMKu1f
全ての書き込みが
ID変えての単発IDか
あるいは
ID変え忘れての二度レスで興味深い
2026/07/19(日) 07:48:10.78ID:K1yXWzaM
>>331
根拠のない罵倒に連続投稿
また一昨日の荒らしか
2026/07/19(日) 07:49:40.10ID:yGu++aw2
50連投は草
2026/07/19(日) 07:50:16.07ID:M8lmk12L
>>333
連投はしてないだろ
複おじイライラで草
2026/07/19(日) 07:50:53.84ID:GfhyrCtm
>>331
お前の中ではそうなんだろ
それでいいんじゃねえの
2026/07/19(日) 07:51:39.32ID:GTBlq3YJ
>>332
一昨日も昨日も荒らしてたのはお前だろ複おじ
2026/07/19(日) 07:52:33.46ID:JZtLLXX2
君ら複おじ好きすぎるだろ
2026/07/19(日) 07:54:16.21ID:V0ek7EzL
結局ID:hgCgzwLkが有能だっただけで他の奴は大差ないの笑う
2026/07/19(日) 07:56:24.24ID:/Dz3Bvfl
もう複おじの話はいいよ
2026/07/19(日) 07:59:04.69ID:GVCMKu1f
>>338
thread::spawnの場合でも受け取った参照については必ず返せる

>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
2026/07/19(日) 08:01:06.65ID:GVCMKu1f
つまりspawnは反例にならない
342デフォルトの名無しさん
垢版 |
2026/07/19(日) 08:28:03.53ID:ycEFamLP
別の言語に興味を持たずに今日もRustスレを荒らすのはなぜなの
C言語なら俺に聞けスレとかでもいいのに
2026/07/19(日) 08:30:38.68ID:JZtLLXX2
めちゃくちゃな主張をしてもバレにくいとでも思ってんだろ
2026/07/19(日) 08:38:32.80ID:GVCMKu1f
Rustアンチは反例を出せなかったから結局バレた
2026/07/19(日) 10:01:28.27ID:vdzNEn7I
Rustアンチが複おじに負けてて草
2026/07/19(日) 10:32:27.41ID:l5OZ/Qwd
そもそも複おじって、IDコロコロ変えてしょうもない自演で戦ってスレを無駄に伸ばしてるとされる人のことを言ってたんだし
それでいうと一人で50レス&この流れはまさに・・・
2026/07/19(日) 10:42:53.76ID:PwXam1IO
そうなの?
所有権の複製とかいう謎概念を言い始めたから複おじって呼ばれてるんだと思ってたけど
348デフォルトの名無しさん
垢版 |
2026/07/19(日) 11:01:45.06ID:RtDKlvqZ
Rustは最高言語😸
349デフォルトの名無しさん
垢版 |
2026/07/19(日) 11:12:53.98ID:fpgmEylb
おじいちゃんお昼寝タイム❓🌚
2026/07/19(日) 11:50:22.70ID:HBIq5jKD
仮におじ本人だとしたら、往事に比べてもだいぶ壊れてるよな
さすがに彼といえどもRustを書けること自体には何の価値もなくなったことを理解し、
Rust戦士としてのアイデンティティが崩壊しちゃったんだろうか
2026/07/19(日) 12:00:54.91ID:ykm2t8xC
Rustは最高だけどrust-analyzerは必須だなぁ
コンパイルエラーがてんこ盛りだから
352デフォルトの名無しさん
垢版 |
2026/07/19(日) 12:19:36.22ID:vDHqozbJ
>>351
最近はラストアナライザーは切ってるな
勝手に裏でコンパイルして評価されるのが鬱陶しくて
俺が書き終わってから評価してくれと!

で、書き終わってからclippy すりゃいいことに気づいた
353デフォルトの名無しさん
垢版 |
2026/07/19(日) 12:34:00.26ID:i5K4NMON
###結論
「書くときは書くことに集中し、チェックするときはチェックに集中する」というこのスタイルは、実は非常に効率的なフローだと思います。やはり、道具に使われるのではなく、自分のリズムで道具を使うのが一番ですよね。
354デフォルトの名無しさん
垢版 |
2026/07/19(日) 12:43:32.66ID:cyLx0GKO
RLS
rust-analyzer

くだらないLSPで終わっちゃったね、また
355デフォルトの名無しさん
垢版 |
2026/07/19(日) 13:11:17.66ID:jaOC3QMl
最近のラスアナはエラーコード書き換えても前のエラー参照してずっと表示してくる
2026/07/19(日) 13:19:14.38ID:iDkpn0RY
>>355
それがラストの穴だから
2026/07/19(日) 14:27:41.67ID:JZtLLXX2
>>345
どう考えてもアンチなわけないから同一人物なの笑う
やっぱりお前が複おじやんけw
2026/07/19(日) 14:29:17.49ID:JZtLLXX2
>>344-350
複おじ一人でイライラだなw
2026/07/19(日) 14:31:03.17ID:fPLQxaiR
>>352
コンパイルはされてないぞ
2026/07/19(日) 14:36:22.22ID:I7xcD3n3
まあ、Rustアンチの複おじは thread::spawn() という反例に何も反論できなかったんだから何でもいいよw
thread::spawn() を出すなんてRustアンチだ!は流石に笑っちゃうけどなw
2026/07/19(日) 14:41:16.37ID:XEDFF+lN
複おじ理論「thread::spawn() を使う奴はRustアンチ!」
2026/07/19(日) 14:48:45.23ID:BPBrTdsT
rust-analyzerは必須
でも今時LSPなしで書ける言語も少ないよな
2026/07/19(日) 14:57:22.06ID:NrnuMet5
それはそう
2026/07/19(日) 15:37:30.55ID:Tdbz2ykv
おデブanalyzer
2026/07/19(日) 16:34:03.63ID:PwXam1IO
C++ を書くときにエディタのリアルタイム支援を有効にはしているけど昔は無しでやっててそんなに不満には思ってなかったからな。
Rust も慣れれば割と言語サーバ無しでもなんとかなるんじゃないの。
366デフォルトの名無しさん
垢版 |
2026/07/19(日) 16:37:14.05ID:4IUrVmbW
>>359
コンパイルは間違いだったな
rustcにコード差分をチェックさせてる!だったわ
コンパイラーに仕事させてるけどコンパイルはしてないね
2026/07/19(日) 16:41:38.99ID:FEE5w7By
>>365
まあRustの場合はどうせコンパイラが丁寧に検証して教えてくれるから、コンパイルしてみれば済む話ではあるな
C++の方がコンパイラは場所を教えにくいからLSPの価値がありそう
2026/07/19(日) 16:50:14.50ID:c/SQma4a
でもrustcは厳しいからエディタ段階で気付いておかないとコンパイルが通らない地獄にはなりそう
369デフォルトの名無しさん
垢版 |
2026/07/19(日) 16:53:55.64ID:kq45OUMy
Emacs使いだけどlsp-modeをeglotに替えたら実用的になった しばらくこれで行こう
2026/07/19(日) 17:45:50.87ID:1+L0WTZx
Rustアンチが複おじに負けてて草
2026/07/19(日) 18:19:18.24ID:IsykKjXQ
複おじの存在ってunsafeだよな
2026/07/19(日) 19:18:58.49ID:ykm2t8xC
Rustのおかげで開発のストレスがだいぶ減ったな
あるのはcloneしなきゃいけないときのストレスだけ
2026/07/19(日) 19:26:06.30ID:ebabxpEA
気兼ねなくcloneできるようになったら初心者卒業
2026/07/19(日) 19:26:33.94ID:JZtLLXX2
>>370
複おじ理論「thread::spawn() を使う奴はRustアンチ!」
2026/07/19(日) 19:27:33.13ID:eN9zKrjg
.clone() は必要かどうかはよく考えるべきだが必要ならガンガン使うべき
376デフォルトの名無しさん
垢版 |
2026/07/19(日) 19:34:30.03ID:jaOC3QMl
例えばどういう状況?
2026/07/19(日) 19:35:21.35ID:QnNtyJGa
>>376
複製が必要な状況
378デフォルトの名無しさん
垢版 |
2026/07/19(日) 19:41:32.14ID:jaOC3QMl
複製が必要な状況とは?
2026/07/19(日) 19:46:01.58ID:TWU6a9dA
>>378
色々あるけど元の値を保持しつつ値を書き変えたい場合なんかそうなるよね
2026/07/19(日) 19:54:49.43ID:gP7Ct9SI
複製が必要な設計になったら複製は必要だよな
流石に多岐に渡りすぎてて列挙することはできんくらいどこでもやってる
2026/07/19(日) 20:00:16.99ID:02kdCh2u
>>375
これ
コンパイラに勧められるがままに追加してたらめちゃくちゃになる
2026/07/19(日) 20:01:05.05ID:02kdCh2u
>>380
プログラムの本質はどこかからどこかへのコピーだとも言われてるからな
2026/07/19(日) 20:23:16.75ID:IqRjnUGO
spawn_uncheckedなら複おじ理論でも「どんな寿命の参照でも、それを関数の引数で受け取ったら」という条件に合致する

でもspawn_uncheckedは「その参照や一部の参照を、関数から必ず返せる」には合致しない
必ず返せるわけではないから

結局「コンパイルが通れば」という追加条件や「Safetyルールを守ったコードを書いていれば」という追加条件が必須
つまり全く自由ではない
2026/07/19(日) 20:43:13.08ID:GVCMKu1f
thread::spawnの場合でももちろん成り立っている

【前提】どんな寿命の参照でも、それを関数の引数で受け取ったら、
【恒真】その参照や一部の参照を、関数から必ず返せる

>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
385デフォルトの名無しさん
垢版 |
2026/07/19(日) 20:43:37.50ID:udZTQXdf
ここまで自演までしてRustを盛り上げようとしなきゃいけない理由って?
2026/07/19(日) 20:49:47.77ID:FUMmfMWk
民家への飛び込み営業って、営業になりたがるような陽キャでもすぐ精神病むような過酷な仕事だけど
宗教の信者はそれを無報酬で喜んでやるわけじゃん?
2026/07/19(日) 21:00:34.15ID:ead1Jdp1
>>385-386
イミフ
2026/07/19(日) 21:01:15.47ID:poG3JtmY
アンチはアンチスレ行こうね

Rustアンチスレ
https://mevius.5ch.io/test/read.cgi/tech/1509028624/
2026/07/19(日) 21:02:06.86ID:NvpRR0fJ
>>386
飛び込んできてるのはお前らアンチじゃ
2026/07/19(日) 21:02:43.73ID:NvpRR0fJ
>>384
もうそんなこと言ってなかったバレてる主張の曲解はやめた方がいいよ
2026/07/19(日) 21:03:31.26ID:3dUSjAXg
>>384
最初から「コンパイルが通ればコンパイルが通る」ってトートロジーだったなら
> spawnの引数が何なのか知らない無知な人は勉強して出直してきてね (>>211)
ここで一旦参照を受け取るって部分の条件変えて逃げようとしたのは説明できないよね
嘘吐きミッケ!
2026/07/19(日) 21:04:09.13ID:5S+kz4RV
>>383
これ
2026/07/19(日) 21:05:33.34ID:vpQOXcwB
複おじ理論
1. 任意のライフタイムの参照を関数の引数で受け取って必ず返せる!
2. 実は「コンパイルを通ったら」って条件がありました〜!
3. thread::spawn() を使う奴はRustアンチ!
2026/07/19(日) 21:09:41.48ID:vzV+upno
>>384
「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」(>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)

実は関数の引数で受け取るコードがコンパイル通ったらってことでした!

これが複おじクオリティ
2026/07/19(日) 21:10:05.58ID:GVCMKu1f
Rustでこれは常に成り立つ
反例はない

【前提】どんな寿命の参照でも、それを関数の引数で受け取ったら、
【恒真】その参照や一部の参照を、関数から必ず返せる

>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
2026/07/19(日) 21:10:35.04ID:GuAPWwpe
「コンパイル通ったらコンパイル通るんですよ」w
2026/07/19(日) 21:11:07.49ID:TOwZLZwq
複オジ進次郎説
2026/07/19(日) 21:12:37.37ID:99/0zBmI
>>395
> どんな寿命の参照でも、それを関数の引数で受け取ったら、
thread::spawn() が 'static 以外の参照を受け取れないのがなぜか「コンパイルが通らないから」以外に言ってみろよw
最初は「ライフタイムの制約なんかない」って言ってたのも忘れてねえからな荒らし野郎
2026/07/19(日) 21:13:36.24ID:PQepZPK1
複おじ理論
1. 任意のライフタイムの参照を関数の引数で受け取って必ず返せる!
2. 実は「コンパイルを通ったら」って条件がありました〜!
3. thread::spawn() を使う奴はRustアンチ!
2026/07/19(日) 21:15:08.45ID:MOY7Z+S9
>>398
言えば言うほど過去の悪行が掘り返されるの草
2026/07/19(日) 21:18:38.37ID:Bfcytze+
>>395
「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)

実は関数の引数で受け取るコードがコンパイル通ったらってことでした!
ほら、rustcでコンパイルが通ったら成り立ってるでしょ

これの納得いく説明を早くしてくれよw
2026/07/19(日) 21:23:08.15ID:GVCMKu1f
>>398
それは明らかに違う
Safetyに明記されてるようにunsafe関数を呼び出しても安全な諸条件の一つであってそこでの特有の問題
2026/07/19(日) 21:23:34.26ID:jXclQgm1
>>395
別スレで粘着始めた頃に
> ライフタイム制約を受けない
> 任意のライフタイムの参照をその関数に与えて使うことができる
って言ってたのもバレてますよ
2026/07/19(日) 21:24:32.46ID:ZeJG5C6f
>>402
「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「Safetyに明記されてるようにunsafe関数を呼び出しても安全な諸条件の一つであってそこでの特有の問題」(>>402)

また例外作ってて草
2026/07/19(日) 21:25:34.09ID:4Up8DX7h
こいつ無限に例外作るやんw
「コンパイル通ったらコンパイル通るんですよ」でも足りないのかww
2026/07/19(日) 21:26:43.70ID:GVCMKu1f
>>404
例外はない
それはunsafeの問題
2026/07/19(日) 21:29:07.55ID:crEjxtUS
>>406
thread::spawn() はunsafeじゃねえよw
2026/07/19(日) 21:30:15.93ID:BsVgSgWn
>>406
まだ「親スレッドが子スレッドよりも先に死ぬかもしれないからそうでないことを保証する必要がある」ってことがわかんないのか
ライフタイムについてThe Book読んで勉強して来いよw
2026/07/19(日) 21:31:50.96ID:GVCMKu1f
Rustで安全が保証されてる諸事項も
unsafeを無条件に使えば当然保証されなくなる
それを「例外あるじゃん!」「付加条件が加わってるじゃん!」と叩く人はいないぞ
2026/07/19(日) 21:34:24.95ID:GVCMKu1f
>>407
unsafe関数を用いてsafe関数を作り出したのがthread::spawn()
その時のSafety条件として'staticの縛りがある
2026/07/19(日) 21:38:40.24ID:JZtLLXX2
>>409-410
全然違う
たとえOS側がRustで書かれていてunsafeなしでスレッドを作る機能を提供していても、「親スレッドが子スレッドよりも先に死ぬかもしれないからそうでないことを保証する必要がある」ので 'static しか渡せない
2026/07/19(日) 21:40:02.16ID:plV8i0R+
そもそもunsafe関数には渡せないなら
「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
不成立だから>>409-410は本当にただ揚げ足取りできないか探ってるだけ
2026/07/19(日) 21:41:11.81ID:Stx9Cdrd
「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)

実は関数の引数で受け取るコードがコンパイル通ったらってことでした!
ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!

こんなん笑うわ
2026/07/19(日) 21:41:41.03ID:VA46Ce8q
最初になかった条件が無限に増えてるの草
2026/07/19(日) 21:43:04.44ID:Mw9uDXPU
「ライフタイムの制約なんかない
どんな寿命の参照でもどんな値でも他の関数から返ってきたものでも関数から必ず返せる」

「実は関数の引数で受け取るコードがコンパイル通ったらってことでした!
ほら、rustcでコンパイルが通ったら成り立ってるでしょ!」

「unsafeは別だから!」

2026/07/19(日) 21:43:40.95ID:Mw9uDXPU
もう次はどんな条件が増えるのか楽しみにした方が良さそう
2026/07/19(日) 21:44:33.02ID:GVCMKu1f
そうだよ
勝手に条件を増やされても困る
Rustでこれは常にこれが成り立つとしか元から書かれていない

【前提】どんな寿命の参照でも、それを関数の引数で受け取ったら、
【恒真】その参照や一部の参照を、関数から必ず返せる

>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
2026/07/19(日) 21:50:24.89ID:bC8P0fo4
関数の引数で受け取ったら関数から必ず返せる → thread::spawn() はクロージャ越しに受け取ってるから引数だけど違う
1嘘

他の関数から返ってきたものでも → thread::spawn() はクロージャが返せるという部分だけ成り立てば thread::spawn() が返せなくてもいい
2嘘

ライフタイムの制約なんかない → ライフタイムが合わなくてコンパイル通らないもののことは言ってない
3嘘

付加条件なく必ず成り立ちます → unsafeは例外だから成り立たなくてもいい
4嘘
2026/07/19(日) 21:51:10.56ID:bC8P0fo4
>>409
最初からunsafeはメモリ安全が成り立たないって言われとるわマヌケ
2026/07/19(日) 21:52:04.54ID:GVCMKu1f
>>418
thread::spawn()でもこれは成立している

【前提】どんな寿命の参照でも、それを関数の引数で受け取ったら、
【恒真】その参照や一部の参照を、関数から必ず返せる

>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
2026/07/19(日) 21:52:29.83ID:iUD075MM
>>417
「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)

thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!

これの納得いく説明を早くしてくれよw
■ このスレッドは過去ログ倉庫に格納されています

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