公式
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/
Rust part37
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2026/07/17(金) 19:12:31.24ID:yl11920u2デフォルトの名無しさん
2026/07/17(金) 19:16:09.76ID:wUIgB8Rm 複オジが荒らしていた証拠はまだ無いぞ
3デフォルトの名無しさん
2026/07/17(金) 19:18:12.72ID:s2PzIlCn と複おじが申しておりますw
2026/07/17(金) 19:22:38.40ID:w8fD7+NN
いい加減Rustの話しろよ
2026/07/17(金) 19:30:13.46ID:vF10ryxK
ゴミ言語にお似合い
6デフォルトの名無しさん
2026/07/17(金) 19:31:53.17ID:+JpeMOO1 米国防総省DARPA、C言語のコードからRustへの自動変換実現を目指す「TRACTOR」プログラム開始
https://www.publickey1.jp/blog/24/darpacrusttractor.html
NASAのSpaceWasm
github.com/nasa/spacewasm
宇宙船上でWasmバイナリを解釈・実行することを目的とした、Wasm 1.0仕様のインタープリタ
静的サイトジェネレータ「Astro 7.0」正式リリース、ビルドシステムがVite 8/Rolldownに、Rust製コンパイラ採用で高速化 - Publickey
https://www.publickey1.jp/blog/26/astro_70vite_8rolldownrust.html
https://www.publickey1.jp/blog/24/darpacrusttractor.html
NASAのSpaceWasm
github.com/nasa/spacewasm
宇宙船上でWasmバイナリを解釈・実行することを目的とした、Wasm 1.0仕様のインタープリタ
静的サイトジェネレータ「Astro 7.0」正式リリース、ビルドシステムがVite 8/Rolldownに、Rust製コンパイラ採用で高速化 - Publickey
https://www.publickey1.jp/blog/26/astro_70vite_8rolldownrust.html
7デフォルトの名無しさん
2026/07/17(金) 19:33:03.63ID:k26R6pke8デフォルトの名無しさん
2026/07/17(金) 19:36:14.23ID:ChSEsaXo >>5
またRustの話にいちいち文句付けにきて、信者が騒いでるんだと喚き立てるけど、実は自分達しか騒いでないRustアンチの方が湧いてますね
またRustの話にいちいち文句付けにきて、信者が騒いでるんだと喚き立てるけど、実は自分達しか騒いでないRustアンチの方が湧いてますね
2026/07/17(金) 20:56:15.35ID:c4bxgt3n
AI「Claude」を使って開発ツールの「Bun」の53万行のZigコード全てをRustへ書き換え
https://gigazine.net/news/20260712-bun-zig-rust/
https://gigazine.net/news/20260712-bun-zig-rust/
2026/07/17(金) 21:41:20.51ID:Ql5I3ieQ
>>9
出た、書き換え前のコードも書き換え後のコードも品質に疑問がついてるプロジェクト
出た、書き換え前のコードも書き換え後のコードも品質に疑問がついてるプロジェクト
2026/07/17(金) 21:45:10.48ID:JC9tgoTJ
2026/07/17(金) 21:50:41.40ID:dajIDJ3L
>>1
O2
O2
2026/07/17(金) 22:01:03.33ID:VYu7/3A8
>>9
Zigで書かれたひどいコードをAIでRustに移植したらひどくなったプロジェクトかw
Zigで書かれたひどいコードをAIでRustに移植したらひどくなったプロジェクトかw
14デフォルトの名無しさん
2026/07/17(金) 22:03:29.72ID:oePP6y3I 国防総省がやれって言ったんですぅ🥺
15デフォルトの名無しさん
2026/07/17(金) 22:05:15.51ID:oePP6y3I Claudeは3流AIだからね(笑)
「ChatGPT Images 2.0」発表、AIが"考えてから描く"画像生成モデル 日本語テキストもより正確に
ttps://news.yahoo.co.jp/articles/91802a943832eb571a5b8fe53cb9213931cf653b
OpenAI、サイバー防御向けAI「GPT-5.5-Cyber」を更新 Claude Mythos 5の公表値を上回る
ttps://ledge.ai/articles/openai_gpt_5_5_cyber_codex_security_update
ttps://i.imgur.com/xPmzqDL.png
OpenAIとGoogle、東大理3「首席合格」数学は満点 得意科目に違い
ttps://www.nikkei.com/article/DGXZQOUC307OD0Q6A330C2000000/
「ChatGPT Images 2.0」発表、AIが"考えてから描く"画像生成モデル 日本語テキストもより正確に
ttps://news.yahoo.co.jp/articles/91802a943832eb571a5b8fe53cb9213931cf653b
OpenAI、サイバー防御向けAI「GPT-5.5-Cyber」を更新 Claude Mythos 5の公表値を上回る
ttps://ledge.ai/articles/openai_gpt_5_5_cyber_codex_security_update
ttps://i.imgur.com/xPmzqDL.png
OpenAIとGoogle、東大理3「首席合格」数学は満点 得意科目に違い
ttps://www.nikkei.com/article/DGXZQOUC307OD0Q6A330C2000000/
2026/07/17(金) 22:05:35.34ID:tHtT3YIU
>>14
JavaScriptランタイムごときに即座にRustに書き換えろとは言わんし、仮に言われるとしてもこんな元々品質の悪いプロジェクトにその話は回ってこないでしょ
JavaScriptランタイムごときに即座にRustに書き換えろとは言わんし、仮に言われるとしてもこんな元々品質の悪いプロジェクトにその話は回ってこないでしょ
2026/07/17(金) 22:06:42.45ID:tHtT3YIU
2026/07/17(金) 22:12:23.75ID:pA9/Bt95
2026/07/17(金) 22:13:05.97ID:jMlbKqfB
>>18
じゃあ改善されても実用レベルに達してないくらい元がひどかったんだろw
じゃあ改善されても実用レベルに達してないくらい元がひどかったんだろw
20デフォルトの名無しさん
2026/07/17(金) 22:13:20.78ID:iEQoz0fM な?中華系五毛工作員だろ?
デマ流しだし
デマ流しだし
2026/07/17(金) 22:15:46.64ID:0pKyX/f9
まだ陰謀論唱えてる奴いて草
2026/07/17(金) 22:16:16.31ID:0pKyX/f9
Bunとかいうコードの品質が悪いって話は聞いてもいいって話は聞かないプロジェクト
23デフォルトの名無しさん
2026/07/17(金) 22:16:23.15ID:QhkwTaXN 品質云々よりClaudeの実験台に成り果てたことのほうが影響大きい
24デフォルトの名無しさん
2026/07/17(金) 22:16:49.97ID:1/U5mzJQ 工作員必死だなw
25デフォルトの名無しさん
2026/07/17(金) 22:17:28.60ID:1/U5mzJQ 90連投はよw
2026/07/17(金) 22:17:56.00ID:UUisrM5G
2026/07/17(金) 22:18:28.21ID:1q27v1if
>>25
もうバレてるからやめたら複おじは
もうバレてるからやめたら複おじは
2026/07/17(金) 22:19:13.31ID:1q27v1if
今日の複おじID
ID:1/U5mzJQ, ID:5sdmefcx, ID:wUIgB8Rm, ID:eC4f19uq, ID:Fl+jbuiJ, ID:vMRcoCXV, ID:5x3qJX75, ID:CkPxQ3Fs, ID:LF99Jrp3, ID:zFw4SsZH, ID:c5gAJDF2, ID:445eRKs4, ID:WwJl9Mdv, ID:R+0qGLKV, ID:rgZeOBea
ID:1/U5mzJQ, ID:5sdmefcx, ID:wUIgB8Rm, ID:eC4f19uq, ID:Fl+jbuiJ, ID:vMRcoCXV, ID:5x3qJX75, ID:CkPxQ3Fs, ID:LF99Jrp3, ID:zFw4SsZH, ID:c5gAJDF2, ID:445eRKs4, ID:WwJl9Mdv, ID:R+0qGLKV, ID:rgZeOBea
2026/07/17(金) 22:19:46.63ID:eJfcvx1B
君ら複おじ好きすぎるだろw
見つけちゃったの私だけど
見つけちゃったの私だけど
30デフォルトの名無しさん
2026/07/17(金) 22:20:20.75ID:qMEOcDWP Rustアンチは障害者ってハッキリわかんだね😂
31デフォルトの名無しさん
2026/07/17(金) 22:20:45.52ID:oZBUbB1X Zig「ドラ息子のBun太郎が出てってくれて清々したわい」
2026/07/17(金) 22:33:29.01ID:eJfcvx1B
アンチスレのリンク貼られてから急にアンチスレ伸びてて草
アンチスレが見つからなかったからここで暴れてたのかな?
アンチスレが見つからなかったからここで暴れてたのかな?
33デフォルトの名無しさん
2026/07/17(金) 22:36:33.24ID:0CzXqmPG 今度からアンチスレのリンク貼った方がいいなw
34デフォルトの名無しさん
2026/07/17(金) 22:40:45.88ID:y4vHq5F7 Zigのスポンサーが減って名を連ねていた日本企業も消えてるな
2026/07/17(金) 22:43:28.23ID:D2rqlFwL
今日はID変えてないっていうのと、普段はID変えてるってのは両立するからな
5chの1つのスレに、一人で99レスするような執着心持った人間がいるというのを見た他人は
今後スレが単発ID同士で謎に伸びてるのを見るたびに、当然あいつかって思うわけで
5chの1つのスレに、一人で99レスするような執着心持った人間がいるというのを見た他人は
今後スレが単発ID同士で謎に伸びてるのを見るたびに、当然あいつかって思うわけで
2026/07/17(金) 22:43:42.33ID:M0a9nixd
2026/07/17(金) 22:44:34.94ID:jW2PjOsb
38デフォルトの名無しさん
2026/07/17(金) 22:45:10.38ID:WAzBosh0 複おじ疑い ID:D2rqlFwL
2026/07/17(金) 22:49:29.76ID:uAxKjlsB
214 デフォルトの名無しさん 2026/07/17(金) 22:42:15.20 ID:FeAkE0rE
>212
the bookも読んだことなかったやつがそこまでイキれるのはすごいな
215 デフォルトの名無しさん 2026/07/17(金) 22:43:41.03 ID:moKvXkjK
そんな専門書を読むほどRustに関心ないからね
複おじ、馬脚を現してしまう
https://mevius.5ch.io/test/read.cgi/tech/1779631921/214-215
>212
the bookも読んだことなかったやつがそこまでイキれるのはすごいな
215 デフォルトの名無しさん 2026/07/17(金) 22:43:41.03 ID:moKvXkjK
そんな専門書を読むほどRustに関心ないからね
複おじ、馬脚を現してしまう
https://mevius.5ch.io/test/read.cgi/tech/1779631921/214-215
2026/07/17(金) 22:50:02.86ID:uAxKjlsB
The bookが専門書は流石に笑っちゃうわ
41デフォルトの名無しさん
2026/07/17(金) 22:57:22.69ID:fQ2Yu4On RustアンチはRustオンチ
2026/07/17(金) 22:59:01.84ID:4qY+/Zo/
43デフォルトの名無しさん
2026/07/17(金) 23:01:06.48ID:ePVtrIBy 1日に100回も書き込んでスレ荒らし
2026/07/17(金) 23:02:44.33ID:zU+D5K4c
2026/07/17(金) 23:03:34.48ID:eJfcvx1B
>>44
もしかしたら複おじ側の話かもしれないぞ
もしかしたら複おじ側の話かもしれないぞ
46デフォルトの名無しさん
2026/07/17(金) 23:09:24.78ID:2YFyx8fa rustupが楽すぎてRustから離れられない
2026/07/17(金) 23:10:07.40ID:/C70xpGw
「アンチ」「障害者」の単発レスも複オジ
最近は絵文字使うとオジバレしにくいと思ってるらしい
最近は絵文字使うとオジバレしにくいと思ってるらしい
48デフォルトの名無しさん
2026/07/17(金) 23:11:29.47ID:217WOtru autoconfから移行した
2026/07/17(金) 23:16:42.10ID:LYxF0rZT
rustup + Cargo でほぼ完結するのが強いよな
2026/07/18(土) 01:20:15.03ID:BkyklCKZ
C書いてた身からすると、構文が式に変わるだけでも書きやすいと思うわ
51デフォルトの名無しさん
2026/07/18(土) 03:10:49.63ID:3wFsDlQx おじいちゃん明日も暴れるのかな
52デフォルトの名無しさん
2026/07/18(土) 03:43:27.53ID:5+KZhigP お前らなにに使ってる?web?ベアメタル?CLIツールとか?
2026/07/18(土) 06:26:51.58ID:UAxBgc/R
優秀なプログラマーでも、本番コードで雑なunwrap()してクラッシュやらかすんだな
https://bugzilla.mozilla.org/show_bug.cgi?id=2054317
https://bugzilla.mozilla.org/show_bug.cgi?id=2054317
54デフォルトの名無しさん
2026/07/18(土) 06:51:40.28ID:ZpHbzI7Q 意図的なギャグだろ
これ以上デクリメントできないかもしれないから正しくchecked_subを使ってチェックしつつデクリメントしてるのになぜかunwrap
let remaining = remaining_pre.checked_sub(1).unwrap();
これ以上デクリメントできないかもしれないから正しくchecked_subを使ってチェックしつつデクリメントしてるのになぜかunwrap
let remaining = remaining_pre.checked_sub(1).unwrap();
2026/07/18(土) 10:01:16.19ID:z74KpRL6
外部のライブラリのコードを取り込んでいるだけみたいだけどAIがチェックしてたら一発で見つかる類のミスだな
FirefoxにはAIレビューのプロセスはないようだが老害が阻んでるのかな
FirefoxにはAIレビューのプロセスはないようだが老害が阻んでるのかな
2026/07/18(土) 10:12:08.27ID:9jLLccHz
AIは何でも見つけられる、見つけられないのはAIを使ってない老害とか発想が池沼かよ
バイブぶるぶるしてGMOの社長レベルのコーディングしかしてなさそう
バイブぶるぶるしてGMOの社長レベルのコーディングしかしてなさそう
2026/07/18(土) 10:17:36.64ID:vQ03Z169
さすがに>>54は字面から推測されるセマンティクスのレベルで明らかにおかしいからAIなら余裕で検出できるよ
58デフォルトの名無しさん
2026/07/18(土) 10:21:58.21ID:5+KZhigP >>56
反AIの前に発言を意図的にねじ曲げる老害だなこりゃ
反AIの前に発言を意図的にねじ曲げる老害だなこりゃ
2026/07/18(土) 11:46:18.99ID:lS2iRe4g
RustはHaskellと同じ道を辿ってる
60デフォルトの名無しさん
2026/07/18(土) 11:50:25.23ID:trQgil6/ ###結論
RustとHaskellは「プログラミング言語の信頼性を次のステージへ引き上げる」という同じ方向を向いていますが、Haskellは「数学的モデル」という極地へ、Rustは「システムプログラミングの現実的解」という極地へそれぞれ突き進んでいるといえます。
RustがHaskellの思想を「実用的なシステム開発」に落とし込んだことで、プログラミング言語の世界は「安全性か、性能か」という二者択一の時代を卒業しつつあります。
RustとHaskellは「プログラミング言語の信頼性を次のステージへ引き上げる」という同じ方向を向いていますが、Haskellは「数学的モデル」という極地へ、Rustは「システムプログラミングの現実的解」という極地へそれぞれ突き進んでいるといえます。
RustがHaskellの思想を「実用的なシステム開発」に落とし込んだことで、プログラミング言語の世界は「安全性か、性能か」という二者択一の時代を卒業しつつあります。
2026/07/18(土) 11:59:00.59ID:lS2iRe4g
コンパイルの遅さが致命的
62デフォルトの名無しさん
2026/07/18(土) 12:17:09.73ID:fPN4/Wjq また工作員かよ
63デフォルトの名無しさん
2026/07/18(土) 12:37:50.10ID:O0UMHi+3 RAM爆喰いデブrust-analyzer
2026/07/18(土) 13:15:37.23ID:USe5j2/U
2026/07/18(土) 13:16:42.16ID:JmWwBdWU
>>61 コンパイルが速ければその後どんだけバグってもいい環境ってどこ?w
2026/07/18(土) 13:19:09.20ID:P4UFFXlb
67デフォルトの名無しさん
2026/07/18(土) 13:19:53.09ID:40i/Za2Z >>59
アンチの妄想としても流石に現実味がなさすぎるw
アンチの妄想としても流石に現実味がなさすぎるw
2026/07/18(土) 13:29:45.06ID:Rn+4EUNx
2026/07/18(土) 13:36:47.68ID:ZXXBBD3q
>>61
お前はどんな大層なもん作ってるんだ?w
お前はどんな大層なもん作ってるんだ?w
2026/07/18(土) 14:22:23.90ID:1g6Wq8b2
2026/07/18(土) 14:47:15.36ID:UQs5GKIu
>>70
それはちょっと違う
Rustのコンパイルが遅い最大の理由は、コードベースやアーキテクチャが複雑で性能改善が困難であること
安全性や最適化とのトレードオフとしてコンパイル速度が犠牲になっているというのは間違いではないが、
それは必ずしもそれらの間に本質的な相反関係があるというより、
開発リソースが前者に消費されてきて後者に手が回っていないという面が大きい
それはちょっと違う
Rustのコンパイルが遅い最大の理由は、コードベースやアーキテクチャが複雑で性能改善が困難であること
安全性や最適化とのトレードオフとしてコンパイル速度が犠牲になっているというのは間違いではないが、
それは必ずしもそれらの間に本質的な相反関係があるというより、
開発リソースが前者に消費されてきて後者に手が回っていないという面が大きい
2026/07/18(土) 15:03:51.63ID:tnY5WOXG
RustはAIが無かったらワンチャンあったかもな
ご愁傷様
ご愁傷様
73デフォルトの名無しさん
2026/07/18(土) 15:16:31.00ID:7NE5BBp7 >>72
信者「いや、AIがあるからこそ!」
信者「いや、AIがあるからこそ!」
2026/07/18(土) 17:10:02.91ID:7HxZyfkA
>>54
remaining_preが1以上であるという不変条件を呼び出し側が守るべきものであればchecked_sub(1).unwrap()は別に不思議ではない
万が一守られなかった場合にoverflowするよりpanicのほうがいいという選択をしてるだけ
remaining_preが1以上であるという不変条件を呼び出し側が守るべきものであればchecked_sub(1).unwrap()は別に不思議ではない
万が一守られなかった場合にoverflowするよりpanicのほうがいいという選択をしてるだけ
2026/07/18(土) 17:17:43.68ID:nLPySRVY
Rustが契約プログラミングをサポートしていない為に起きた悲劇
2026/07/18(土) 17:24:07.82ID:hZhXFCLr
2026/07/18(土) 17:24:38.19ID:hZhXFCLr
2026/07/18(土) 17:25:40.86ID:H+oNVQGR
>>75
契約プログラミングについて知らないのはわかった
契約プログラミングについて知らないのはわかった
2026/07/18(土) 17:27:48.29ID:iyTLYbfT
2026/07/18(土) 17:28:23.17ID:5qH6NPW7
>>75
なぜ知らない言葉を使ってしまうのか……
なぜ知らない言葉を使ってしまうのか……
81デフォルトの名無しさん
2026/07/18(土) 17:31:54.51ID:raruskcO そもそも契約プログラミングって実装継承やりまくりながらどうやって安全性を保つかって話でしょ
Rustではそもそも追跡できない実装継承自体がない
Rustではそもそも追跡できない実装継承自体がない
2026/07/18(土) 17:33:17.34ID:gO/u6R2h
>>71
じゃあもっと複雑なC++がRustよりコンパイル速いのはなあぜ?w
じゃあもっと複雑なC++がRustよりコンパイル速いのはなあぜ?w
2026/07/18(土) 17:34:10.54ID:QMmSWHd4
AIの話はAIのスレでやれよw
2026/07/18(土) 17:38:08.79ID:BkyklCKZ
Rustのコンパイルは時間かかるっちゃかかるけど、通ったらメモリ管理のバグがないってことでもあるから、何十倍ものデバッグ時間をなくしてくれてるんだよな
2026/07/18(土) 17:38:49.26ID:pN8HW/1F
2026/07/18(土) 17:43:59.25ID:3ztype1H
>>85
とりあえず気に入らない奴に複おじって言うの、昨日の複おじっぽいムーブだな
とりあえず気に入らない奴に複おじって言うの、昨日の複おじっぽいムーブだな
2026/07/18(土) 17:48:39.56ID:fVFvrkBl
2026/07/18(土) 17:50:26.24ID:xwwma1Ld
そもそも動的言語じゃないんだからコンパイル時に確定させろよ
2026/07/18(土) 18:01:25.33ID:wTJhW28K
> Rustが契約プログラミングをサポートしていない
www
www
2026/07/18(土) 18:24:37.32ID:vQ03Z169
>>82
それは71と何も矛盾しなくて、要は経路依存性があるってことだ
C++の処理系は昔のマシンでも現実的な時間でビルドできるように元々設計されているし、
長い時間と多大な労力をかけて最適化されてきた歴史がある
対してRustは最初から一貫してコンパイル時間よりも実行時のパフォーマンスや機能性や安全性を優先して設計開発されてきたために、
結果的に今更コンパイル時間の最適化をしようとしても困難なコードベースになっちゃってるんだよ
それは71と何も矛盾しなくて、要は経路依存性があるってことだ
C++の処理系は昔のマシンでも現実的な時間でビルドできるように元々設計されているし、
長い時間と多大な労力をかけて最適化されてきた歴史がある
対してRustは最初から一貫してコンパイル時間よりも実行時のパフォーマンスや機能性や安全性を優先して設計開発されてきたために、
結果的に今更コンパイル時間の最適化をしようとしても困難なコードベースになっちゃってるんだよ
2026/07/18(土) 18:36:34.06ID:Q9n5B/NX
2026/07/18(土) 18:47:53.89ID:ByxftqPr
93デフォルトの名無しさん
2026/07/18(土) 18:49:05.12ID:6FY6jDFX2026/07/18(土) 18:49:07.13ID:bRRjkWzq
2026/07/18(土) 18:50:01.93ID:wzNzpPqh
>>92
契約プログラミングについて知らないのはわかった
契約プログラミングについて知らないのはわかった
2026/07/18(土) 18:50:30.55ID:a1xgjEAj
>>92
バカなんだからもう黙っとけばいいのに……
バカなんだからもう黙っとけばいいのに……
2026/07/18(土) 18:51:13.91ID:qocqIcbB
>>90-92
複おじ激おこで草
複おじ激おこで草
98デフォルトの名無しさん
2026/07/18(土) 18:52:45.24ID:KAx9BmlG99デフォルトの名無しさん
2026/07/18(土) 18:52:50.06ID:oZOIX5k8 なるほど確かに複おじだ🤔
100デフォルトの名無しさん
2026/07/18(土) 18:54:05.38ID:SCmvlB4y 複おじ=Rustスレのアンチ工作員(障害者)
なるほど🤔
なるほど🤔
101デフォルトの名無しさん
2026/07/18(土) 18:57:23.11ID:Fb+zTE0R102デフォルトの名無しさん
2026/07/18(土) 19:01:47.07ID:xKUzYjr2 処理系って言葉の意味も間違ってるしな
103デフォルトの名無しさん
2026/07/18(土) 19:05:22.72ID:6Xtw014v C++のエコシステムのモダンなデファクトって何?
crates.io並にライブラリのアップデートがすぐ降りてきたら、結局コンパイル時間は延びるのでは~と思ったんだけど
crates.io並にライブラリのアップデートがすぐ降りてきたら、結局コンパイル時間は延びるのでは~と思ったんだけど
104デフォルトの名無しさん
2026/07/18(土) 19:06:13.40ID:G0DCqtMr >>90
ボローチェッカーと比べたら型推論やジェネリクスなんて誤差程度だって言われてるのにスルーしてて草
ボローチェッカーと比べたら型推論やジェネリクスなんて誤差程度だって言われてるのにスルーしてて草
105デフォルトの名無しさん
2026/07/18(土) 19:07:35.61ID:YUvvpBC6 ライブラリのアップデートはあまり関係なくないか
106デフォルトの名無しさん
2026/07/18(土) 19:09:40.74ID:Y/lCXk2Z C++がコンパイル時間を速くするように開発されてきたなんて聞いたことなくて笑う
107デフォルトの名無しさん
2026/07/18(土) 19:22:05.71ID:nqHGciLl 複おじと書き込んでいるスレはいつも単発ID
つまり自演である
つまり自演である
108デフォルトの名無しさん
2026/07/18(土) 19:24:06.24ID:BkyklCKZ >>107
また変な奴が湧いてて草
また変な奴が湧いてて草
109デフォルトの名無しさん
2026/07/18(土) 19:26:49.63ID:7t0C9qmg >>107お前やww
110デフォルトの名無しさん
2026/07/18(土) 19:37:12.29ID:O7lnt+k6 複乳おじさん
111デフォルトの名無しさん
2026/07/18(土) 19:37:52.44ID:JPI1iXaL 乳は複数あるのが当たり前だろ
112デフォルトの名無しさん
2026/07/18(土) 19:39:17.85ID:tnY5WOXG Rsut応援隊って一人で何人分の自演してるんだろうな
113デフォルトの名無しさん
2026/07/18(土) 19:41:43.80ID:BkyklCKZ114デフォルトの名無しさん
2026/07/18(土) 19:42:43.18ID:931bcglY Rustの話もせず荒らしばっかりしてるアンチはアンチスレに帰れよ
115デフォルトの名無しさん
2026/07/18(土) 19:45:52.48ID:pzm2C79Q >>112 隔離場所から出てくるな
116デフォルトの名無しさん
2026/07/18(土) 19:49:21.85ID:wpx955w8 隔離場所w
117デフォルトの名無しさん
2026/07/18(土) 19:50:37.89ID:csslsvGN おおよそ180レスのうち、最低でも99レスを1人でやってるって
昨日自分で証明したからな
昨日自分で証明したからな
118デフォルトの名無しさん
2026/07/18(土) 19:52:08.75ID:4mwq3zHV >>117
複おじはもうバレてるんだから黙ってろよww
複おじはもうバレてるんだから黙ってろよww
119デフォルトの名無しさん
2026/07/18(土) 19:53:25.43ID:BkyklCKZ120デフォルトの名無しさん
2026/07/18(土) 19:55:28.63ID:eUVpoTL8 IDをコロコロ変えてずっと罵倒を繰り返してた自分は棚に上げてイキってて草
121デフォルトの名無しさん
2026/07/18(土) 19:57:57.48ID:GuXnqFYy 昨日途中までバレてなかったのにバラされたのが気に食わないんだろ
ずっと同じ奴に粘着してスレまで跨いで同じ悪口言い続けてバレないと思ってたのがすごいけど
ずっと同じ奴に粘着してスレまで跨いで同じ悪口言い続けてバレないと思ってたのがすごいけど
122デフォルトの名無しさん
2026/07/18(土) 19:58:22.65ID:nLPySRVY Rustが依存型をサポートしていない為に起きた悲劇
123デフォルトの名無しさん
2026/07/18(土) 19:59:17.84ID:DC/rUfP8 Rustの話を一切しないくせに自分が正しいと思ってる複おじさんw
124デフォルトの名無しさん
2026/07/18(土) 20:00:29.49ID:csslsvGN そんなにIDコロコロ変えて顔真っ赤にするぐらいなら
最初からあんなことやらなきゃよかったのに・・・
最初からあんなことやらなきゃよかったのに・・・
125デフォルトの名無しさん
2026/07/18(土) 20:01:09.57ID:yQUBEgHM >>122
お前ってそれっぽいことをテキトーに書き散らしてるだけだよな結局
お前ってそれっぽいことをテキトーに書き散らしてるだけだよな結局
126デフォルトの名無しさん
2026/07/18(土) 20:01:57.62ID:oKNzfSWv >>124
複おじ、なおも言い訳する模様w
複おじ、なおも言い訳する模様w
127デフォルトの名無しさん
2026/07/18(土) 20:04:28.22ID:KP0FT1Dz どれだけ言い訳したところで粘着荒らしだという事実は変わらんのにな
128デフォルトの名無しさん
2026/07/18(土) 20:06:53.33ID:PfPDuUrP 元々「参照はライフタイム制約を受けない」「任意の参照をその関数に与えて使うことができる」とか吹いてた奴だからな
いかに荒らしと思われたくなくても、複おじには語れるほどのrust知識はありませんw
いかに荒らしと思われたくなくても、複おじには語れるほどのrust知識はありませんw
129デフォルトの名無しさん
2026/07/18(土) 20:07:57.95ID:PfPDuUrP 'static はライフタイムとは関係がないとか、どんなスレッドでも先に死なないことを保証できるとかも言ってたな
とにかく何の知識もないくせに知ったかして、指摘されたら粘着荒らしになっただけの奴だから
とにかく何の知識もないくせに知ったかして、指摘されたら粘着荒らしになっただけの奴だから
130デフォルトの名無しさん
2026/07/18(土) 20:09:14.34ID:Fn0np0a4 >>124 複おじ一人でどれだけ伸ばしてんだよ
Rustの話しない奴は出て行っていいよw
Rustの話しない奴は出て行っていいよw
131デフォルトの名無しさん
2026/07/18(土) 20:11:14.99ID:vw5JPlts 障害者は自分の障害を理解できない
何度も同じことをする
周りは学習してるにも関わらず
何度も同じことをする
周りは学習してるにも関わらず
132デフォルトの名無しさん
2026/07/18(土) 21:11:03.37ID:iSIiD7KK 上げる奴が出る度に複おじが出てたから、上げない方が無難かもな
133デフォルトの名無しさん
2026/07/18(土) 21:17:46.93ID:58CEps+E 1.97.1が出てたけど、.1リリースなんて久々じゃね
134デフォルトの名無しさん
2026/07/18(土) 21:20:44.19ID:BvQkq3B/ >>133
1.96.1出てただろ
1.96.1出てただろ
135デフォルトの名無しさん
2026/07/18(土) 21:24:45.33ID:5IfudTfu 脆弱性修正したやつあったな
136デフォルトの名無しさん
2026/07/18(土) 21:25:13.54ID:mpqSgeiL >>134
また荒らしが出るからあんま上げんなよ
また荒らしが出るからあんま上げんなよ
137デフォルトの名無しさん
2026/07/18(土) 21:25:20.15ID:oKB3ZhEO 572 デフォルトの名無しさん sage 2026/07/01(水) 01:14:29.65 ID:E4CfZuIc
Announcing Rust 1.96.1
https://blog.rust-lang.org/2026/06/30/Rust-1.96.1/
573 デフォルトの名無しさん sage 2026/07/01(水) 02:21:36.27 ID:5WKZWNdO
原因が辛いな
CVE-2025-15661
Updated: 2026-06-23
Title: libssh2 - Heap Buffer Over-read via sftp_symlink() in sftp.c
CVE-2026-55200
Updated: 2026-06-18
Title: libssh2 - Out-of-Bounds Write via Unchecked packet_length in transport.c
Announcing Rust 1.96.1
https://blog.rust-lang.org/2026/06/30/Rust-1.96.1/
573 デフォルトの名無しさん sage 2026/07/01(水) 02:21:36.27 ID:5WKZWNdO
原因が辛いな
CVE-2025-15661
Updated: 2026-06-23
Title: libssh2 - Heap Buffer Over-read via sftp_symlink() in sftp.c
CVE-2026-55200
Updated: 2026-06-18
Title: libssh2 - Out-of-Bounds Write via Unchecked packet_length in transport.c
138デフォルトの名無しさん
2026/07/18(土) 21:26:14.67ID:LnTcQuPa Cのせいにするなとか被害妄想してる奴が湧いたアプデだろ
139デフォルトの名無しさん
2026/07/18(土) 21:31:04.33ID:bhJjxK5U sshもRustで書き直すしか
140デフォルトの名無しさん
2026/07/18(土) 21:37:05.31ID:3wFsDlQx おじいちゃん起きたのね
141デフォルトの名無しさん
2026/07/18(土) 21:37:44.33ID:66OI5PtW 複オジが逆認定するようになったのか
書いてる内容バレてるのにな
複オジが不要にスレ伸ばすときは
その直前の恥ずかしいレスを流したいとき
書いてる内容バレてるのにな
複オジが不要にスレ伸ばすときは
その直前の恥ずかしいレスを流したいとき
142デフォルトの名無しさん
2026/07/18(土) 21:40:15.59ID:/BwM9PLt ID:S/Q9GBk8, ID:bhJjxK5U, ID:PQcA2rQz, ID:9maZOq/z, ID:csslsvGN, ID:tnY5WOXG, ID:nqHGciLl, ID:3wFsDlQx
今日の複おじID
今日の複おじID
143デフォルトの名無しさん
2026/07/18(土) 21:40:45.93ID:mxZyxsu9 >>141
これ
これ
144デフォルトの名無しさん
2026/07/18(土) 21:41:17.55ID:dsXaqiMB だから複おじはスレ上げたがる
145デフォルトの名無しさん
2026/07/18(土) 21:45:40.96ID:vuvFx/eF その脆弱なlibsshをRust化すべき
146デフォルトの名無しさん
2026/07/18(土) 21:50:55.20ID:IzFYUrTj 授乳してくる
147デフォルトの名無しさん
2026/07/18(土) 21:57:30.52ID:X21kI3ky 複オジは荒らしでかつIDコロコロするから印象が悪い
148デフォルトの名無しさん
2026/07/18(土) 22:02:57.35ID:5aZfHUDW Rustアンチの障害者
脳みそC++
脳みそC++
149デフォルトの名無しさん
2026/07/18(土) 22:03:11.70ID:H0jNYHKI >>147
もしかして複おジ
もしかして複おジ
150デフォルトの名無しさん
2026/07/18(土) 22:04:36.67ID:999Zs8cJ >>149
何言ってんだこいつ
何言ってんだこいつ
151デフォルトの名無しさん
2026/07/18(土) 22:05:12.36ID:NkcqNtb5 >>145
既存資産が一斉に入れ替わらんのはしゃーない
既存資産が一斉に入れ替わらんのはしゃーない
152デフォルトの名無しさん
2026/07/18(土) 22:12:32.82ID:BkyklCKZ Rustは書きやすいからいいわ
Pythonくらい当たり前になっていい
Pythonくらい当たり前になっていい
153デフォルトの名無しさん
2026/07/18(土) 22:15:20.74ID:oDuxzRvZ Pythonで書いて、AIにRustへ移植させた方がいい
154デフォルトの名無しさん
2026/07/18(土) 22:59:40.08ID:XKrPaHgp あっちこっちのスレが複おじに汚染されてるな
伸びてるスレは特に
伸びてるスレは特に
155デフォルトの名無しさん
2026/07/18(土) 23:24:01.55ID:oDuxzRvZ 自分が気に食わない奴を雑に複おじ認定してるだけだろ
156デフォルトの名無しさん
2026/07/18(土) 23:30:11.78ID:qacgjZ69 Pythonで書いてRustに移植させるとか無駄すぎる
最初からRustで書けばいい
最初からRustで書けばいい
157デフォルトの名無しさん
2026/07/18(土) 23:46:18.98ID:qLwxAYh5 慣れてしまえば制約がキツイと思い込んでいたRustがほとんど自由に書けることに気付く
158デフォルトの名無しさん
2026/07/18(土) 23:47:26.65ID:ZwCHK2vP 自然とイメージできるようになるよな
159デフォルトの名無しさん
2026/07/18(土) 23:58:11.26ID:aTA5mv7+ Rustはかなり自由
どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
どんな値でも、それが自分で作ったものでも、関数の引数として受け取ったものでも、他の関数から返ってきたものでも、関数から必ず返せる
どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
どんな値でも、それが自分で作ったものでも、関数の引数として受け取ったものでも、他の関数から返ってきたものでも、関数から必ず返せる
160デフォルトの名無しさん
2026/07/18(土) 23:59:00.72ID:LVaDdD2c >>159
また複おじがめちゃくちゃ言ってるな
また複おじがめちゃくちゃ言ってるな
161デフォルトの名無しさん
2026/07/19(日) 00:00:03.14ID:NTqXfncQ もう放っとけよ、前スレからずっと同じコピペで荒らしてる奴だし
162デフォルトの名無しさん
2026/07/19(日) 00:01:50.45ID:pcmNMsjJ163デフォルトの名無しさん
2026/07/19(日) 00:03:36.85ID:QfQD4mwM164デフォルトの名無しさん
2026/07/19(日) 00:03:47.21ID:lZWKkSc7 ライフタイムについて知らないド素人もおるんやなあ
165デフォルトの名無しさん
2026/07/19(日) 00:05:50.51ID:RWX6Mgcf >>163
出来て当たり前じゃなくて、同期処理してる時だけだぞ
出来て当たり前じゃなくて、同期処理してる時だけだぞ
166デフォルトの名無しさん
2026/07/19(日) 00:09:24.83ID:qvC4J9mt 同期処理してれば当然できる
親の方が子より長生きで当然
非同期だとできないこともある
親の方が子より長生きとは限らない
親の方が子より長生きで当然
非同期だとできないこともある
親の方が子より長生きとは限らない
167デフォルトの名無しさん
2026/07/19(日) 00:13:38.84ID:PmbNkHZM 非同期でも>>159の文章は必ず成り立つ
168デフォルトの名無しさん
2026/07/19(日) 00:14:25.51ID:M9KOhBFP >>167
ArcやRcも参照に入れればそうやな
ArcやRcも参照に入れればそうやな
169デフォルトの名無しさん
2026/07/19(日) 00:28:34.18ID:efdwttHT 参照カウント式の管理を「参照」だけで語るのは流石に無理かな
それも「必ず」と言ってしまってるわけで
それも「必ず」と言ってしまってるわけで
170デフォルトの名無しさん
2026/07/19(日) 00:40:34.45ID:liYBpHZW 関数って呼ばれるものの幅って結構広いからね
たぶん>>167の想像にないものがある
たぶん>>167の想像にないものがある
171デフォルトの名無しさん
2026/07/19(日) 01:21:09.10ID:e7yB+pI/ そもそも参照って曖昧にせずに借用って言えば解決する
172デフォルトの名無しさん
2026/07/19(日) 01:23:36.03ID:jaOC3QMl cargo check通れば安全と同じこと言いたいんじゃね
173デフォルトの名無しさん
2026/07/19(日) 01:30:57.28ID:GVCMKu1f >>159の関数がasync関数でも成立してる
174デフォルトの名無しさん
2026/07/19(日) 01:32:36.58ID:c6sxkJh6 流石に色々無理が生じてきてるなあ
175デフォルトの名無しさん
2026/07/19(日) 01:32:50.70ID:GVCMKu1f >>168
ArcやRcは参照ではなく所有
ArcやRcは参照ではなく所有
176デフォルトの名無しさん
2026/07/19(日) 01:33:42.90ID:0R5aWyYh177デフォルトの名無しさん
2026/07/19(日) 01:35:51.00ID:GVCMKu1f >>159は必ず成立する
反例はない
反例はない
178デフォルトの名無しさん
2026/07/19(日) 01:37:32.53ID:JZtLLXX2 関数の範囲をできるだけ狭めて、参照の範囲をできるだけ広げれば、はい
179デフォルトの名無しさん
2026/07/19(日) 01:38:17.82ID:L9V97nS8 定義を都合よく曲げるのはよくない
180デフォルトの名無しさん
2026/07/19(日) 01:39:33.10ID:GVCMKu1f181デフォルトの名無しさん
2026/07/19(日) 01:41:54.40ID:iHrJKnes いかなるライフタイムでもと言い切ってるからなあ
それだと成立しないと思われる
「コンパイルが通れば」みたいな言ってない条件を勝手に追加してそう
それだと成立しないと思われる
「コンパイルが通れば」みたいな言ってない条件を勝手に追加してそう
182デフォルトの名無しさん
2026/07/19(日) 01:45:00.32ID:JZtLLXX2 「どんな参照でも必ず返せる」は「いずれかの参照なら必ず返せる」とは真逆の意味なんでなあ
全部返せないと成立しない
全部返せないと成立しない
183デフォルトの名無しさん
2026/07/19(日) 01:46:06.97ID:GVCMKu1f 少なくとも>>159は任意のライフタイムで必ず成立する
成立しないと思う人は反例コードを示せばいい
成立しないと思う人は反例コードを示せばいい
184デフォルトの名無しさん
2026/07/19(日) 01:54:15.82ID:RCcAcUe+ 弱参照を受け取ってそれを通常の参照に変換して返す関数を書いてみて
185デフォルトの名無しさん
2026/07/19(日) 01:56:48.64ID:RCcAcUe+ 今のAIだとこのくらいは簡単か
186デフォルトの名無しさん
2026/07/19(日) 02:01:08.20ID:2iSHfWbm しょうがないにゃあ
fn foo<'a, 'b, T>(o: &'a mut Option<&'b mut T>, v: &'b mut T) -> &'b mut T {
*o = Some(v);
v
}
fn foo<'a, 'b, T>(o: &'a mut Option<&'b mut T>, v: &'b mut T) -> &'b mut T {
*o = Some(v);
v
}
187デフォルトの名無しさん
2026/07/19(日) 02:56:53.38ID:GVCMKu1f188デフォルトの名無しさん
2026/07/19(日) 02:58:13.82ID:GVCMKu1f189デフォルトの名無しさん
2026/07/19(日) 03:11:42.53ID:GVCMKu1f ここまでに>>159の反例コードを示せた人なし
190デフォルトの名無しさん
2026/07/19(日) 05:23:51.53ID:JZtLLXX2 どんどん条件付け足して反例なしって言うの不毛すぎる
191デフォルトの名無しさん
2026/07/19(日) 05:25:16.00ID:JZtLLXX2 どんな参照でも返せるって言ったんだから、ID:GVCMKu1fは言い訳してないで条件を変えずに通せる方法を書けよ
192デフォルトの名無しさん
2026/07/19(日) 05:30:54.76ID:R3XW/jFb そもそもどんな参照でもどんな関数でもって条件だから、他のスレッドから借用した場合も対象だよね
しかも条件を何もしてしてないから、本体側のスレッドが先に死んでもいい
これはコンパイルを絶対に通らない条件なので不成立だけど、どんな参照でもどんな関数でも返せるという主張の反例にはなってる
まあ、また条件を増やすかもしれないがw
しかも条件を何もしてしてないから、本体側のスレッドが先に死んでもいい
これはコンパイルを絶対に通らない条件なので不成立だけど、どんな参照でもどんな関数でも返せるという主張の反例にはなってる
まあ、また条件を増やすかもしれないがw
193デフォルトの名無しさん
2026/07/19(日) 05:32:39.47ID:GVCMKu1f194デフォルトの名無しさん
2026/07/19(日) 05:34:18.67ID:GVCMKu1f195デフォルトの名無しさん
2026/07/19(日) 05:34:52.88ID:uDfx31sS そのうち「コンパイルを通る場合で」とか言い出しそう
コンパイルを通るならボローチェッカーの検証済みだから必ず成立する、だからこの条件でトートロジーにできる
コンパイルを通るならボローチェッカーの検証済みだから必ず成立する、だからこの条件でトートロジーにできる
196デフォルトの名無しさん
2026/07/19(日) 05:37:02.31ID:hgCgzwLk >>194
thread::spawnは関数じゃマヌケ
thread::spawnは関数じゃマヌケ
197デフォルトの名無しさん
2026/07/19(日) 05:38:10.14ID:JZtLLXX2 早すぎて笑った
198デフォルトの名無しさん
2026/07/19(日) 05:40:08.69ID:lZWKkSc7 つまり>>192は
どんな寿命の参照でも → 当然 ○
それを関数の引数で受け取ったら → thread::spawnは関数なので ○
その参照や一部の参照を、関数から必ず返せる → 本体側のスレッドが先に死んだら不成立 ×
ってことか
どんな寿命の参照でも → 当然 ○
それを関数の引数で受け取ったら → thread::spawnは関数なので ○
その参照や一部の参照を、関数から必ず返せる → 本体側のスレッドが先に死んだら不成立 ×
ってことか
199デフォルトの名無しさん
2026/07/19(日) 05:41:27.23ID:GVCMKu1f200デフォルトの名無しさん
2026/07/19(日) 05:43:17.97ID:pVNBiKRX >>199
また勝手に条件増やしてて草
また勝手に条件増やしてて草
201デフォルトの名無しさん
2026/07/19(日) 05:43:42.64ID:GVCMKu1f >>200
条件は一切増えていない
条件は一切増えていない
202デフォルトの名無しさん
2026/07/19(日) 05:44:10.89ID:8bVK7uZA >>199
スレッドを作る関数を自分で作れないとする根拠がないと成り立たない主張だということは気付いてるのか?w
スレッドを作る関数を自分で作れないとする根拠がないと成り立たない主張だということは気付いてるのか?w
203デフォルトの名無しさん
2026/07/19(日) 05:44:51.96ID:8bVK7uZA204デフォルトの名無しさん
2026/07/19(日) 05:46:07.72ID:GVCMKu1f205デフォルトの名無しさん
2026/07/19(日) 05:47:07.17ID:8bVK7uZA206デフォルトの名無しさん
2026/07/19(日) 05:48:30.91ID:ksx89YE4 しかもシステムコールするだけの結構簡単な関数なの草
207デフォルトの名無しさん
2026/07/19(日) 05:50:20.75ID:GVCMKu1f208デフォルトの名無しさん
2026/07/19(日) 05:50:21.46ID:OKx6aoV/ >>195
そろそろ本当に「返せるように書けば」って言いそうw
そろそろ本当に「返せるように書けば」って言いそうw
209デフォルトの名無しさん
2026/07/19(日) 05:51:43.97ID:ChE1xJ7G >>207
どう見てもthread::spawnは引数で受け取ってますねw
どう見てもthread::spawnは引数で受け取ってますねw
210デフォルトの名無しさん
2026/07/19(日) 05:52:50.17ID:JZtLLXX2 関数の引数で受け取ったら ←これは疑う余地ない件
むしろ参照をスレッドに渡す設計はよくないとか言って話をそらした方がまだ戦えるレベル
むしろ参照をスレッドに渡す設計はよくないとか言って話をそらした方がまだ戦えるレベル
211デフォルトの名無しさん
2026/07/19(日) 05:54:28.00ID:GVCMKu1f >>209
spawnの引数が何なのか知らない無知な人は勉強して出直してきてね
spawnの引数が何なのか知らない無知な人は勉強して出直してきてね
212デフォルトの名無しさん
2026/07/19(日) 05:56:49.23ID:Rf75bjax213デフォルトの名無しさん
2026/07/19(日) 05:57:55.40ID:Rf75bjax thread::spawnの引数で参照を扱うことはもちろん可能
実際 'static ライフタイムになっていれば受け渡せる
実際 'static ライフタイムになっていれば受け渡せる
214デフォルトの名無しさん
2026/07/19(日) 05:58:01.87ID:GVCMKu1f215デフォルトの名無しさん
2026/07/19(日) 05:59:31.74ID:Rf75bjax216デフォルトの名無しさん
2026/07/19(日) 06:01:44.05ID:Jl4j9YwN そもそも「引数に参照を取る関数」に書き換えたところでそういう引数を受け取るようにスレッドを作る自作関数を作ればそれで成り立たなくなる模様
217デフォルトの名無しさん
2026/07/19(日) 06:03:21.76ID:GVCMKu1f218デフォルトの名無しさん
2026/07/19(日) 06:04:15.48ID:EmK47w2v219デフォルトの名無しさん
2026/07/19(日) 06:04:45.12ID:GVCMKu1f220デフォルトの名無しさん
2026/07/19(日) 06:05:39.46ID:G8pyxalB Pin止め忘れたFutureの参照はどう?
条件に合ってるけど死なないかな
だからUnpin設計する羽目になったわけだし
条件に合ってるけど死なないかな
だからUnpin設計する羽目になったわけだし
221デフォルトの名無しさん
2026/07/19(日) 06:05:55.54ID:lZWKkSc7 「どんな寿命の参照でも」って言いきった以上今更「返せる寿命なら」って言ったらそれはそれで条件を変えてる
222デフォルトの名無しさん
2026/07/19(日) 06:06:21.26ID:GVCMKu1f223デフォルトの名無しさん
2026/07/19(日) 06:08:09.37ID:Uh8aYRzM224デフォルトの名無しさん
2026/07/19(日) 06:08:26.36ID:GVCMKu1f225デフォルトの名無しさん
2026/07/19(日) 06:09:15.94ID:ksx89YE4 元より条件狭めてもなお敗北してるの草
226デフォルトの名無しさん
2026/07/19(日) 06:09:27.47ID:GVCMKu1f >>223
もし反例があるならRustコードで示しましょう
もし反例があるならRustコードで示しましょう
227デフォルトの名無しさん
2026/07/19(日) 06:09:47.03ID:ksx89YE4 >>224
反例: thread::spawn()
反例: thread::spawn()
228デフォルトの名無しさん
2026/07/19(日) 06:10:09.25ID:ksx89YE4 >>226
反例: thread::spawn()
反例: thread::spawn()
229デフォルトの名無しさん
2026/07/19(日) 06:10:41.97ID:GVCMKu1f230デフォルトの名無しさん
2026/07/19(日) 06:11:42.73ID:UBIO/xPU >>229
反例: thread::spawn()
反例: thread::spawn()
231デフォルトの名無しさん
2026/07/19(日) 06:13:16.83ID:GVCMKu1f232デフォルトの名無しさん
2026/07/19(日) 06:15:09.80ID:MjpkG5aN233デフォルトの名無しさん
2026/07/19(日) 06:16:27.03ID:wLxs3A5R なんでこんな偉そうにしてる奴がいたら全力で叩きたい連中のたまり場でここまでツッコミどころ満載のイキり発言をしてしまったのか……
234デフォルトの名無しさん
2026/07/19(日) 06:16:35.28ID:GVCMKu1f235デフォルトの名無しさん
2026/07/19(日) 06:18:50.69ID:3mnun1V8 >>234
反例: thread::spawn()
あと、元の書き込みを印籠にしたいなら
> どんな値でも、それが自分で作ったものでも、関数の引数として受け取ったものでも、他の関数から返ってきたものでも、関数から必ず返せる
もちゃんと書いとけマヌケ
反例: thread::spawn()
あと、元の書き込みを印籠にしたいなら
> どんな値でも、それが自分で作ったものでも、関数の引数として受け取ったものでも、他の関数から返ってきたものでも、関数から必ず返せる
もちゃんと書いとけマヌケ
236デフォルトの名無しさん
2026/07/19(日) 06:21:17.49ID:GVCMKu1f237デフォルトの名無しさん
2026/07/19(日) 06:23:19.38ID:kyJHd/y9238デフォルトの名無しさん
2026/07/19(日) 06:23:54.02ID:YCyVvPUO 劣化するの早かったなあw
239デフォルトの名無しさん
2026/07/19(日) 06:27:11.78ID:GVCMKu1f おまえら日本語をどう捉えてるんだい?
俺はこう解釈した
【前提】どんな寿命の参照でも、それを関数の引数で受け取ったら、
【恒真】その参照や一部の参照を、関数から必ず返せる
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
俺はこう解釈した
【前提】どんな寿命の参照でも、それを関数の引数で受け取ったら、
【恒真】その参照や一部の参照を、関数から必ず返せる
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
240デフォルトの名無しさん
2026/07/19(日) 06:28:57.71ID:5AkW9j9X241デフォルトの名無しさん
2026/07/19(日) 06:29:58.00ID:GVCMKu1f242デフォルトの名無しさん
2026/07/19(日) 06:30:14.48ID:JmLpZhD6243デフォルトの名無しさん
2026/07/19(日) 06:31:52.52ID:GVCMKu1f244デフォルトの名無しさん
2026/07/19(日) 06:34:09.30ID:iGuMvbCY245デフォルトの名無しさん
2026/07/19(日) 06:35:13.01ID:GVCMKu1f246デフォルトの名無しさん
2026/07/19(日) 06:35:33.30ID:JUSFYQBq そんなことも言ってたのか
「任意のライフタイムで必ず成立する」なら「どんな寿命の参照でも」だけで前提と捉えるべきだな
「任意のライフタイムで必ず成立する」なら「どんな寿命の参照でも」だけで前提と捉えるべきだな
247デフォルトの名無しさん
2026/07/19(日) 06:37:32.58ID:qD6+yINI248デフォルトの名無しさん
2026/07/19(日) 06:37:54.40ID:GVCMKu1f249デフォルトの名無しさん
2026/07/19(日) 06:38:13.17ID:JZtLLXX2 案の定条件足してて草
もう何も言わない方が埋もれていくからマシなのに
もう何も言わない方が埋もれていくからマシなのに
250デフォルトの名無しさん
2026/07/19(日) 06:39:39.62ID:k7o4mZYf251デフォルトの名無しさん
2026/07/19(日) 06:40:05.35ID:GVCMKu1f252デフォルトの名無しさん
2026/07/19(日) 06:41:40.08ID:GVCMKu1f253デフォルトの名無しさん
2026/07/19(日) 06:41:42.36ID:j73AhSk6 >>251
元の書き込みを印籠にしたいなら
> どんな値でも、それが自分で作ったものでも、関数の引数として受け取ったものでも、他の関数から返ってきたものでも、関数から必ず返せる
もちゃんと書いとけマヌケ
そんな条件とやらはこの文章には書いてないけどなw
曲解もいいところww
元の書き込みを印籠にしたいなら
> どんな値でも、それが自分で作ったものでも、関数の引数として受け取ったものでも、他の関数から返ってきたものでも、関数から必ず返せる
もちゃんと書いとけマヌケ
そんな条件とやらはこの文章には書いてないけどなw
曲解もいいところww
254デフォルトの名無しさん
2026/07/19(日) 06:43:17.79ID:fpgmEylb おじいちゃん早起き
255デフォルトの名無しさん
2026/07/19(日) 06:43:40.66ID:j73AhSk6 元の書き込み(正しいもの)>>159
> Rustはかなり自由
> どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
> どんな値でも、それが自分で作ったものでも、関数の引数として受け取ったものでも、他の関数から返ってきたものでも、関数から必ず返せる
どんな値でも、とも言いきってるから「実は『コンパイルが通ったら』という条件が付いてる」という主張は通らんな
> Rustはかなり自由
> どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
> どんな値でも、それが自分で作ったものでも、関数の引数として受け取ったものでも、他の関数から返ってきたものでも、関数から必ず返せる
どんな値でも、とも言いきってるから「実は『コンパイルが通ったら』という条件が付いてる」という主張は通らんな
256デフォルトの名無しさん
2026/07/19(日) 06:44:42.15ID:GVCMKu1f 反例が出ないようなので
アンチもRustでは以下が必ず成立することを認めるしかないよね
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
アンチもRustでは以下が必ず成立することを認めるしかないよね
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
257デフォルトの名無しさん
2026/07/19(日) 06:48:57.23ID:JHxWwbLd >>256
お前が騙せてるの自分だけだぞw
お前が騙せてるの自分だけだぞw
258デフォルトの名無しさん
2026/07/19(日) 06:53:33.70ID:GVCMKu1f >>257
反例を出せなきゃあなたの負け
反例を出せなきゃあなたの負け
259デフォルトの名無しさん
2026/07/19(日) 06:55:35.55ID:DrMR6SBy260デフォルトの名無しさん
2026/07/19(日) 06:57:21.58ID:GVCMKu1f261デフォルトの名無しさん
2026/07/19(日) 06:57:54.47ID:ue61OBhB262デフォルトの名無しさん
2026/07/19(日) 06:59:13.58ID:hEDHzyU0263デフォルトの名無しさん
2026/07/19(日) 06:59:59.37ID:GVCMKu1f264デフォルトの名無しさん
2026/07/19(日) 07:00:02.07ID:SrO1Zqc0 最初から「コンパイルが通ればコンパイルが通る」ってトートロジーだったならこの逃げいらないの草
265デフォルトの名無しさん
2026/07/19(日) 07:01:05.91ID:CxcVSvRk266デフォルトの名無しさん
2026/07/19(日) 07:02:28.07ID:vgx8yFVs なんでこんな偉そうにしてる奴がいたら全力で叩きたい連中のたまり場でここまでツッコミどころ満載のイキり発言をしてしまったのか……
267デフォルトの名無しさん
2026/07/19(日) 07:02:37.07ID:GVCMKu1f268デフォルトの名無しさん
2026/07/19(日) 07:03:43.17ID:vgx8yFVs >>267
わからないってことにして逃げてて草
最初から「コンパイルが通ればコンパイルが通る」って進次郎構文だったなら何で条件変えて逃げようとしたんだって言われてんだよ
後からそういうことにした以外に理由ないだろうが
わからないってことにして逃げてて草
最初から「コンパイルが通ればコンパイルが通る」って進次郎構文だったなら何で条件変えて逃げようとしたんだって言われてんだよ
後からそういうことにした以外に理由ないだろうが
269デフォルトの名無しさん
2026/07/19(日) 07:04:14.54ID:X+Nh8ZgR 最初から「コンパイルが通ればコンパイルが通る」ってトートロジーだったなら
> spawnの引数が何なのか知らない無知な人は勉強して出直してきてね (>>211)
ここで一旦参照を受け取るって部分の条件変えて逃げようとしたのは説明できない
> spawnの引数が何なのか知らない無知な人は勉強して出直してきてね (>>211)
ここで一旦参照を受け取るって部分の条件変えて逃げようとしたのは説明できない
270デフォルトの名無しさん
2026/07/19(日) 07:05:20.29ID:GVCMKu1f271デフォルトの名無しさん
2026/07/19(日) 07:06:17.88ID:ZWUPg6E2272デフォルトの名無しさん
2026/07/19(日) 07:06:50.85ID:ehvtZBcJ273デフォルトの名無しさん
2026/07/19(日) 07:07:47.41ID:3OzOrXHp >>272
おっ、そうだな
おっ、そうだな
274デフォルトの名無しさん
2026/07/19(日) 07:07:55.58ID:GVCMKu1f275デフォルトの名無しさん
2026/07/19(日) 07:09:33.53ID:7T4bhUIg >>274
spawnの引数がクロージャだから参照は受け取れないって逃げ打ってたのごまかしてて草
spawnの引数がクロージャだから参照は受け取れないって逃げ打ってたのごまかしてて草
276デフォルトの名無しさん
2026/07/19(日) 07:09:36.28ID:GVCMKu1f277デフォルトの名無しさん
2026/07/19(日) 07:10:12.89ID:7dGloKYE278デフォルトの名無しさん
2026/07/19(日) 07:12:03.36ID:7dGloKYE279デフォルトの名無しさん
2026/07/19(日) 07:12:14.14ID:GVCMKu1f >>275
そんなウソをついてまで叩きたいのかね
そんなウソをついてまで叩きたいのかね
280デフォルトの名無しさん
2026/07/19(日) 07:12:38.17ID:D64cpFCR >>278
おいおい、正解ってことにしてあげるんじゃなかったのかw
おいおい、正解ってことにしてあげるんじゃなかったのかw
281デフォルトの名無しさん
2026/07/19(日) 07:13:15.97ID:8u5SMf+8 >>279
全部書き込み残ってるのに今更嘘だと言い張って逃げられると思ってるのは流石に笑うしかない
全部書き込み残ってるのに今更嘘だと言い張って逃げられると思ってるのは流石に笑うしかない
282デフォルトの名無しさん
2026/07/19(日) 07:13:48.75ID:Hvp4Yrmg283デフォルトの名無しさん
2026/07/19(日) 07:14:40.53ID:tK5f88Vh284デフォルトの名無しさん
2026/07/19(日) 07:14:48.83ID:GVCMKu1f285デフォルトの名無しさん
2026/07/19(日) 07:15:43.84ID:tK5f88Vh286デフォルトの名無しさん
2026/07/19(日) 07:16:14.97ID:qTzUVwoN ID:GVCMKu1fくんはよく頑張ったのではなまるです!
287デフォルトの名無しさん
2026/07/19(日) 07:16:26.99ID:GVCMKu1f288デフォルトの名無しさん
2026/07/19(日) 07:17:27.16ID:GVCMKu1f >>285
それは並列するもう一つの話だよね
それは並列するもう一つの話だよね
289デフォルトの名無しさん
2026/07/19(日) 07:17:34.01ID:yZ5c9xlM290デフォルトの名無しさん
2026/07/19(日) 07:18:32.08ID:GVCMKu1f >>289
証拠があるならダイレクトに示しなさい
証拠があるならダイレクトに示しなさい
291デフォルトの名無しさん
2026/07/19(日) 07:18:47.17ID:2IPBj72V292デフォルトの名無しさん
2026/07/19(日) 07:19:34.28ID:lR4pMYKt293デフォルトの名無しさん
2026/07/19(日) 07:19:46.77ID:GVCMKu1f >>291
そんなこと俺に言われてもな
そんなこと俺に言われてもな
294デフォルトの名無しさん
2026/07/19(日) 07:20:16.37ID:nnBRRqIz >>293
お前がめちゃくちゃな読み方したんだろうがw
お前がめちゃくちゃな読み方したんだろうがw
295デフォルトの名無しさん
2026/07/19(日) 07:21:17.05ID:ak5oibCb がんばってるID:GVCMKu1fくんがえらいにきまってるでしょ!
ひとつあてはまらないからってえらそうですよ!!
ひとつあてはまらないからってえらそうですよ!!
296デフォルトの名無しさん
2026/07/19(日) 07:21:38.63ID:GVCMKu1f まずRustでは以下が常に成り立つという話は合意でいいんだな?
以下に明記されてる前提を満たす反例が出て来ないため
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
以下に明記されてる前提を満たす反例が出て来ないため
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
297デフォルトの名無しさん
2026/07/19(日) 07:21:47.35ID:PrEgWlO6 草
298デフォルトの名無しさん
2026/07/19(日) 07:22:09.50ID:PrEgWlO6 >>296
もうそれでいいんじゃね、お前の中ではw
もうそれでいいんじゃね、お前の中ではw
299デフォルトの名無しさん
2026/07/19(日) 07:22:33.99ID:d4DOYcOx >>296
そういう妄想をするのは自由だと思うよ
そういう妄想をするのは自由だと思うよ
300デフォルトの名無しさん
2026/07/19(日) 07:22:51.18ID:GVCMKu1f301デフォルトの名無しさん
2026/07/19(日) 07:23:20.62ID:CbyOkROJ ID:GVCMKu1fくんはがんばってるから100てんなのです!
えらいのですよ〜
えらいのですよ〜
302デフォルトの名無しさん
2026/07/19(日) 07:23:58.26ID:ead1Jdp1 >>300
お前の世界ではそうなんだなw
お前の世界ではそうなんだなw
303デフォルトの名無しさん
2026/07/19(日) 07:25:29.52ID:NsPSD/p5 荒らしを弄って遊ぶ会
304デフォルトの名無しさん
2026/07/19(日) 07:25:39.44ID:GVCMKu1f 普段Rustでプログラムを書いていたら以下が成り立ってることくらいわかるはず
返せない例がないので
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
返せない例がないので
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
305デフォルトの名無しさん
2026/07/19(日) 07:26:19.73ID:FFXH6LmV ID:GVCMKu1fくんはがんばってるからえらいんですよ!
だからあらしじゃありません!w
だからあらしじゃありません!w
306デフォルトの名無しさん
2026/07/19(日) 07:26:32.40ID:cWtPimWQ >>303
もう尾張だねこの言語
もう尾張だねこの言語
307デフォルトの名無しさん
2026/07/19(日) 07:27:45.14ID:NFhUPYue308デフォルトの名無しさん
2026/07/19(日) 07:28:29.57ID:Jcyfean4 >>307
言ってやるなよ可哀想だろ
言ってやるなよ可哀想だろ
309デフォルトの名無しさん
2026/07/19(日) 07:29:17.38ID:uowPgdJa310デフォルトの名無しさん
2026/07/19(日) 07:29:51.08ID:TeHdH/FF がんばってるID:GVCMKu1fくんがただしいとおもいます!
311デフォルトの名無しさん
2026/07/19(日) 07:30:15.91ID:GVCMKu1f312デフォルトの名無しさん
2026/07/19(日) 07:32:01.38ID:DoYz9Jmg >>311
一生その妄想に浸ってればいいと思うよ
一生その妄想に浸ってればいいと思うよ
313デフォルトの名無しさん
2026/07/19(日) 07:33:08.45ID:GVCMKu1f >>312
あんたこそ前提を満たす反例を持ってこいよ
あんたこそ前提を満たす反例を持ってこいよ
314デフォルトの名無しさん
2026/07/19(日) 07:33:48.23ID:79NbkuOh >>313
後から勝手にトートロジーにしておいてなんか言ってて草
後から勝手にトートロジーにしておいてなんか言ってて草
315デフォルトの名無しさん
2026/07/19(日) 07:34:20.15ID:GVCMKu1f316デフォルトの名無しさん
2026/07/19(日) 07:34:42.00ID:vv4RgEGt もうID:GVCMKu1fが頑張ってるから勝ちでいいよマジで
どうせ何言っても聞く気ないし同語反復するだけの壊れたラジオじゃん
どうせ何言っても聞く気ないし同語反復するだけの壊れたラジオじゃん
317デフォルトの名無しさん
2026/07/19(日) 07:35:09.52ID:w2KdlMOm >>315
一字一句変えてない(曲解しまくったから)
一字一句変えてない(曲解しまくったから)
318デフォルトの名無しさん
2026/07/19(日) 07:36:04.90ID:loiaJuTI ID:GVCMKu1fの勝ち
理由: なんか頑張ってるから
理由: なんか頑張ってるから
319デフォルトの名無しさん
2026/07/19(日) 07:36:39.03ID:GVCMKu1f Rustアンチの人はたった一つの反例を示せばいいのに示せないまま
Rustにおいては以下が必ず成り立つからね
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
Rustにおいては以下が必ず成り立つからね
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
320デフォルトの名無しさん
2026/07/19(日) 07:37:23.79ID:64rRBRf+ >>319
はいはい、そう思うんならそれでいいんじゃね
はいはい、そう思うんならそれでいいんじゃね
321デフォルトの名無しさん
2026/07/19(日) 07:38:01.10ID:J0w23NZl >>319勝手にそう思ってていいからもう黙っていいぞ
322デフォルトの名無しさん
2026/07/19(日) 07:39:36.76ID:J0w23NZl323デフォルトの名無しさん
2026/07/19(日) 07:41:21.68ID:Pbg4OqFR >>319
こんなすれにまじになっちゃってどうするの
こんなすれにまじになっちゃってどうするの
324デフォルトの名無しさん
2026/07/19(日) 07:41:26.89ID:GVCMKu1f Rustアンチの人は反例を示せないままデタラメに否定してたからね
以下のRustにおける常識を
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
以下のRustにおける常識を
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
325デフォルトの名無しさん
2026/07/19(日) 07:42:42.31ID:IR1/PVyP326デフォルトの名無しさん
2026/07/19(日) 07:43:09.98ID:8KySyXbb ID:GVCMKu1fがただしかったってことで、いいとおもいます!
327デフォルトの名無しさん
2026/07/19(日) 07:43:13.02ID:GVCMKu1f328デフォルトの名無しさん
2026/07/19(日) 07:44:26.57ID:Xc6J5cNr329デフォルトの名無しさん
2026/07/19(日) 07:45:11.59ID:10Ib5hsB >>327
そうだねー、いじめられてかわいそかわいそ
そうだねー、いじめられてかわいそかわいそ
330デフォルトの名無しさん
2026/07/19(日) 07:47:05.41ID:yPYKroD9 >>323
たけしの挑戦状で草
たけしの挑戦状で草
331デフォルトの名無しさん
2026/07/19(日) 07:47:17.32ID:GVCMKu1f 全ての書き込みが
ID変えての単発IDか
あるいは
ID変え忘れての二度レスで興味深い
ID変えての単発IDか
あるいは
ID変え忘れての二度レスで興味深い
332デフォルトの名無しさん
2026/07/19(日) 07:48:10.78ID:K1yXWzaM333デフォルトの名無しさん
2026/07/19(日) 07:49:40.10ID:yGu++aw2 50連投は草
334デフォルトの名無しさん
2026/07/19(日) 07:50:16.07ID:M8lmk12L335デフォルトの名無しさん
2026/07/19(日) 07:50:53.84ID:GfhyrCtm336デフォルトの名無しさん
2026/07/19(日) 07:51:39.32ID:GTBlq3YJ >>332
一昨日も昨日も荒らしてたのはお前だろ複おじ
一昨日も昨日も荒らしてたのはお前だろ複おじ
337デフォルトの名無しさん
2026/07/19(日) 07:52:33.46ID:JZtLLXX2 君ら複おじ好きすぎるだろ
338デフォルトの名無しさん
2026/07/19(日) 07:54:16.21ID:V0ek7EzL 結局ID:hgCgzwLkが有能だっただけで他の奴は大差ないの笑う
339デフォルトの名無しさん
2026/07/19(日) 07:56:24.24ID:/Dz3Bvfl もう複おじの話はいいよ
340デフォルトの名無しさん
2026/07/19(日) 07:59:04.69ID:GVCMKu1f341デフォルトの名無しさん
2026/07/19(日) 08:01:06.65ID:GVCMKu1f つまりspawnは反例にならない
342デフォルトの名無しさん
2026/07/19(日) 08:28:03.53ID:ycEFamLP 別の言語に興味を持たずに今日もRustスレを荒らすのはなぜなの
C言語なら俺に聞けスレとかでもいいのに
C言語なら俺に聞けスレとかでもいいのに
343デフォルトの名無しさん
2026/07/19(日) 08:30:38.68ID:JZtLLXX2 めちゃくちゃな主張をしてもバレにくいとでも思ってんだろ
344デフォルトの名無しさん
2026/07/19(日) 08:38:32.80ID:GVCMKu1f Rustアンチは反例を出せなかったから結局バレた
345デフォルトの名無しさん
2026/07/19(日) 10:01:28.27ID:vdzNEn7I Rustアンチが複おじに負けてて草
346デフォルトの名無しさん
2026/07/19(日) 10:32:27.41ID:l5OZ/Qwd そもそも複おじって、IDコロコロ変えてしょうもない自演で戦ってスレを無駄に伸ばしてるとされる人のことを言ってたんだし
それでいうと一人で50レス&この流れはまさに・・・
それでいうと一人で50レス&この流れはまさに・・・
347デフォルトの名無しさん
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 おじいちゃんお昼寝タイム❓🌚
350デフォルトの名無しさん
2026/07/19(日) 11:50:22.70ID:HBIq5jKD 仮におじ本人だとしたら、往事に比べてもだいぶ壊れてるよな
さすがに彼といえどもRustを書けること自体には何の価値もなくなったことを理解し、
Rust戦士としてのアイデンティティが崩壊しちゃったんだろうか
さすがに彼といえどもRustを書けること自体には何の価値もなくなったことを理解し、
Rust戦士としてのアイデンティティが崩壊しちゃったんだろうか
351デフォルトの名無しさん
2026/07/19(日) 12:00:54.91ID:ykm2t8xC Rustは最高だけどrust-analyzerは必須だなぁ
コンパイルエラーがてんこ盛りだから
コンパイルエラーがてんこ盛りだから
352デフォルトの名無しさん
2026/07/19(日) 12:19:36.22ID:vDHqozbJ353デフォルトの名無しさん
2026/07/19(日) 12:34:00.26ID:i5K4NMON ###結論
「書くときは書くことに集中し、チェックするときはチェックに集中する」というこのスタイルは、実は非常に効率的なフローだと思います。やはり、道具に使われるのではなく、自分のリズムで道具を使うのが一番ですよね。
「書くときは書くことに集中し、チェックするときはチェックに集中する」というこのスタイルは、実は非常に効率的なフローだと思います。やはり、道具に使われるのではなく、自分のリズムで道具を使うのが一番ですよね。
354デフォルトの名無しさん
2026/07/19(日) 12:43:32.66ID:cyLx0GKO RLS
rust-analyzer
くだらないLSPで終わっちゃったね、また
rust-analyzer
くだらないLSPで終わっちゃったね、また
355デフォルトの名無しさん
2026/07/19(日) 13:11:17.66ID:jaOC3QMl 最近のラスアナはエラーコード書き換えても前のエラー参照してずっと表示してくる
356デフォルトの名無しさん
2026/07/19(日) 13:19:14.38ID:iDkpn0RY >>355
それがラストの穴だから
それがラストの穴だから
357デフォルトの名無しさん
2026/07/19(日) 14:27:41.67ID:JZtLLXX2358デフォルトの名無しさん
2026/07/19(日) 14:29:17.49ID:JZtLLXX2 >>344-350
複おじ一人でイライラだなw
複おじ一人でイライラだなw
359デフォルトの名無しさん
2026/07/19(日) 14:31:03.17ID:fPLQxaiR >>352
コンパイルはされてないぞ
コンパイルはされてないぞ
360デフォルトの名無しさん
2026/07/19(日) 14:36:22.22ID:I7xcD3n3 まあ、Rustアンチの複おじは thread::spawn() という反例に何も反論できなかったんだから何でもいいよw
thread::spawn() を出すなんてRustアンチだ!は流石に笑っちゃうけどなw
thread::spawn() を出すなんてRustアンチだ!は流石に笑っちゃうけどなw
361デフォルトの名無しさん
2026/07/19(日) 14:41:16.37ID:XEDFF+lN 複おじ理論「thread::spawn() を使う奴はRustアンチ!」
362デフォルトの名無しさん
2026/07/19(日) 14:48:45.23ID:BPBrTdsT rust-analyzerは必須
でも今時LSPなしで書ける言語も少ないよな
でも今時LSPなしで書ける言語も少ないよな
363デフォルトの名無しさん
2026/07/19(日) 14:57:22.06ID:NrnuMet5 それはそう
364デフォルトの名無しさん
2026/07/19(日) 15:37:30.55ID:Tdbz2ykv おデブanalyzer
365デフォルトの名無しさん
2026/07/19(日) 16:34:03.63ID:PwXam1IO C++ を書くときにエディタのリアルタイム支援を有効にはしているけど昔は無しでやっててそんなに不満には思ってなかったからな。
Rust も慣れれば割と言語サーバ無しでもなんとかなるんじゃないの。
Rust も慣れれば割と言語サーバ無しでもなんとかなるんじゃないの。
366デフォルトの名無しさん
2026/07/19(日) 16:37:14.05ID:4IUrVmbW367デフォルトの名無しさん
2026/07/19(日) 16:41:38.99ID:FEE5w7By368デフォルトの名無しさん
2026/07/19(日) 16:50:14.50ID:c/SQma4a でもrustcは厳しいからエディタ段階で気付いておかないとコンパイルが通らない地獄にはなりそう
369デフォルトの名無しさん
2026/07/19(日) 16:53:55.64ID:kq45OUMy Emacs使いだけどlsp-modeをeglotに替えたら実用的になった しばらくこれで行こう
370デフォルトの名無しさん
2026/07/19(日) 17:45:50.87ID:1+L0WTZx Rustアンチが複おじに負けてて草
371デフォルトの名無しさん
2026/07/19(日) 18:19:18.24ID:IsykKjXQ 複おじの存在ってunsafeだよな
372デフォルトの名無しさん
2026/07/19(日) 19:18:58.49ID:ykm2t8xC Rustのおかげで開発のストレスがだいぶ減ったな
あるのはcloneしなきゃいけないときのストレスだけ
あるのはcloneしなきゃいけないときのストレスだけ
373デフォルトの名無しさん
2026/07/19(日) 19:26:06.30ID:ebabxpEA 気兼ねなくcloneできるようになったら初心者卒業
374デフォルトの名無しさん
2026/07/19(日) 19:26:33.94ID:JZtLLXX2 >>370
複おじ理論「thread::spawn() を使う奴はRustアンチ!」
複おじ理論「thread::spawn() を使う奴はRustアンチ!」
375デフォルトの名無しさん
2026/07/19(日) 19:27:33.13ID:eN9zKrjg .clone() は必要かどうかはよく考えるべきだが必要ならガンガン使うべき
376デフォルトの名無しさん
2026/07/19(日) 19:34:30.03ID:jaOC3QMl 例えばどういう状況?
377デフォルトの名無しさん
2026/07/19(日) 19:35:21.35ID:QnNtyJGa >>376
複製が必要な状況
複製が必要な状況
378デフォルトの名無しさん
2026/07/19(日) 19:41:32.14ID:jaOC3QMl 複製が必要な状況とは?
379デフォルトの名無しさん
2026/07/19(日) 19:46:01.58ID:TWU6a9dA >>378
色々あるけど元の値を保持しつつ値を書き変えたい場合なんかそうなるよね
色々あるけど元の値を保持しつつ値を書き変えたい場合なんかそうなるよね
380デフォルトの名無しさん
2026/07/19(日) 19:54:49.43ID:gP7Ct9SI 複製が必要な設計になったら複製は必要だよな
流石に多岐に渡りすぎてて列挙することはできんくらいどこでもやってる
流石に多岐に渡りすぎてて列挙することはできんくらいどこでもやってる
381デフォルトの名無しさん
2026/07/19(日) 20:00:16.99ID:02kdCh2u382デフォルトの名無しさん
2026/07/19(日) 20:01:05.05ID:02kdCh2u >>380
プログラムの本質はどこかからどこかへのコピーだとも言われてるからな
プログラムの本質はどこかからどこかへのコピーだとも言われてるからな
383デフォルトの名無しさん
2026/07/19(日) 20:23:16.75ID:IqRjnUGO spawn_uncheckedなら複おじ理論でも「どんな寿命の参照でも、それを関数の引数で受け取ったら」という条件に合致する
でもspawn_uncheckedは「その参照や一部の参照を、関数から必ず返せる」には合致しない
必ず返せるわけではないから
結局「コンパイルが通れば」という追加条件や「Safetyルールを守ったコードを書いていれば」という追加条件が必須
つまり全く自由ではない
でもspawn_uncheckedは「その参照や一部の参照を、関数から必ず返せる」には合致しない
必ず返せるわけではないから
結局「コンパイルが通れば」という追加条件や「Safetyルールを守ったコードを書いていれば」という追加条件が必須
つまり全く自由ではない
384デフォルトの名無しさん
2026/07/19(日) 20:43:13.08ID:GVCMKu1f thread::spawnの場合でももちろん成り立っている
【前提】どんな寿命の参照でも、それを関数の引数で受け取ったら、
【恒真】その参照や一部の参照を、関数から必ず返せる
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
【前提】どんな寿命の参照でも、それを関数の引数で受け取ったら、
【恒真】その参照や一部の参照を、関数から必ず返せる
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
385デフォルトの名無しさん
2026/07/19(日) 20:43:37.50ID:udZTQXdf ここまで自演までしてRustを盛り上げようとしなきゃいけない理由って?
386デフォルトの名無しさん
2026/07/19(日) 20:49:47.77ID:FUMmfMWk 民家への飛び込み営業って、営業になりたがるような陽キャでもすぐ精神病むような過酷な仕事だけど
宗教の信者はそれを無報酬で喜んでやるわけじゃん?
宗教の信者はそれを無報酬で喜んでやるわけじゃん?
387デフォルトの名無しさん
2026/07/19(日) 21:00:34.15ID:ead1Jdp1 >>385-386
イミフ
イミフ
388デフォルトの名無しさん
2026/07/19(日) 21:01:15.47ID:poG3JtmY389デフォルトの名無しさん
2026/07/19(日) 21:02:06.86ID:NvpRR0fJ >>386
飛び込んできてるのはお前らアンチじゃ
飛び込んできてるのはお前らアンチじゃ
390デフォルトの名無しさん
2026/07/19(日) 21:02:43.73ID:NvpRR0fJ >>384
もうそんなこと言ってなかったバレてる主張の曲解はやめた方がいいよ
もうそんなこと言ってなかったバレてる主張の曲解はやめた方がいいよ
391デフォルトの名無しさん
2026/07/19(日) 21:03:31.26ID:3dUSjAXg392デフォルトの名無しさん
2026/07/19(日) 21:04:09.13ID:5S+kz4RV >>383
これ
これ
393デフォルトの名無しさん
2026/07/19(日) 21:05:33.34ID:vpQOXcwB 複おじ理論
1. 任意のライフタイムの参照を関数の引数で受け取って必ず返せる!
2. 実は「コンパイルを通ったら」って条件がありました〜!
3. thread::spawn() を使う奴はRustアンチ!
1. 任意のライフタイムの参照を関数の引数で受け取って必ず返せる!
2. 実は「コンパイルを通ったら」って条件がありました〜!
3. thread::spawn() を使う奴はRustアンチ!
394デフォルトの名無しさん
2026/07/19(日) 21:09:41.48ID:vzV+upno395デフォルトの名無しさん
2026/07/19(日) 21:10:05.58ID:GVCMKu1f Rustでこれは常に成り立つ
反例はない
【前提】どんな寿命の参照でも、それを関数の引数で受け取ったら、
【恒真】その参照や一部の参照を、関数から必ず返せる
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
反例はない
【前提】どんな寿命の参照でも、それを関数の引数で受け取ったら、
【恒真】その参照や一部の参照を、関数から必ず返せる
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
396デフォルトの名無しさん
2026/07/19(日) 21:10:35.04ID:GuAPWwpe 「コンパイル通ったらコンパイル通るんですよ」w
397デフォルトの名無しさん
2026/07/19(日) 21:11:07.49ID:TOwZLZwq 複オジ進次郎説
398デフォルトの名無しさん
2026/07/19(日) 21:12:37.37ID:99/0zBmI >>395
> どんな寿命の参照でも、それを関数の引数で受け取ったら、
thread::spawn() が 'static 以外の参照を受け取れないのがなぜか「コンパイルが通らないから」以外に言ってみろよw
最初は「ライフタイムの制約なんかない」って言ってたのも忘れてねえからな荒らし野郎
> どんな寿命の参照でも、それを関数の引数で受け取ったら、
thread::spawn() が 'static 以外の参照を受け取れないのがなぜか「コンパイルが通らないから」以外に言ってみろよw
最初は「ライフタイムの制約なんかない」って言ってたのも忘れてねえからな荒らし野郎
399デフォルトの名無しさん
2026/07/19(日) 21:13:36.24ID:PQepZPK1 複おじ理論
1. 任意のライフタイムの参照を関数の引数で受け取って必ず返せる!
2. 実は「コンパイルを通ったら」って条件がありました〜!
3. thread::spawn() を使う奴はRustアンチ!
1. 任意のライフタイムの参照を関数の引数で受け取って必ず返せる!
2. 実は「コンパイルを通ったら」って条件がありました〜!
3. thread::spawn() を使う奴はRustアンチ!
400デフォルトの名無しさん
2026/07/19(日) 21:15:08.45ID:MOY7Z+S9 >>398
言えば言うほど過去の悪行が掘り返されるの草
言えば言うほど過去の悪行が掘り返されるの草
401デフォルトの名無しさん
2026/07/19(日) 21:18:38.37ID:Bfcytze+402デフォルトの名無しさん
2026/07/19(日) 21:23:08.15ID:GVCMKu1f403デフォルトの名無しさん
2026/07/19(日) 21:23:34.26ID:jXclQgm1404デフォルトの名無しさん
2026/07/19(日) 21:24:32.46ID:ZeJG5C6f405デフォルトの名無しさん
2026/07/19(日) 21:25:34.09ID:4Up8DX7h こいつ無限に例外作るやんw
「コンパイル通ったらコンパイル通るんですよ」でも足りないのかww
「コンパイル通ったらコンパイル通るんですよ」でも足りないのかww
406デフォルトの名無しさん
2026/07/19(日) 21:26:43.70ID:GVCMKu1f407デフォルトの名無しさん
2026/07/19(日) 21:29:07.55ID:crEjxtUS >>406
thread::spawn() はunsafeじゃねえよw
thread::spawn() はunsafeじゃねえよw
408デフォルトの名無しさん
2026/07/19(日) 21:30:15.93ID:BsVgSgWn409デフォルトの名無しさん
2026/07/19(日) 21:31:50.96ID:GVCMKu1f Rustで安全が保証されてる諸事項も
unsafeを無条件に使えば当然保証されなくなる
それを「例外あるじゃん!」「付加条件が加わってるじゃん!」と叩く人はいないぞ
unsafeを無条件に使えば当然保証されなくなる
それを「例外あるじゃん!」「付加条件が加わってるじゃん!」と叩く人はいないぞ
410デフォルトの名無しさん
2026/07/19(日) 21:34:24.95ID:GVCMKu1f411デフォルトの名無しさん
2026/07/19(日) 21:38:40.24ID:JZtLLXX2 >>409-410
全然違う
たとえOS側がRustで書かれていてunsafeなしでスレッドを作る機能を提供していても、「親スレッドが子スレッドよりも先に死ぬかもしれないからそうでないことを保証する必要がある」ので 'static しか渡せない
全然違う
たとえOS側がRustで書かれていてunsafeなしでスレッドを作る機能を提供していても、「親スレッドが子スレッドよりも先に死ぬかもしれないからそうでないことを保証する必要がある」ので 'static しか渡せない
412デフォルトの名無しさん
2026/07/19(日) 21:40:02.16ID:plV8i0R+413デフォルトの名無しさん
2026/07/19(日) 21:41:11.81ID:Stx9Cdrd414デフォルトの名無しさん
2026/07/19(日) 21:41:41.03ID:VA46Ce8q 最初になかった条件が無限に増えてるの草
415デフォルトの名無しさん
2026/07/19(日) 21:43:04.44ID:Mw9uDXPU 「ライフタイムの制約なんかない
どんな寿命の参照でもどんな値でも他の関数から返ってきたものでも関数から必ず返せる」
↓
「実は関数の引数で受け取るコードがコンパイル通ったらってことでした!
ほら、rustcでコンパイルが通ったら成り立ってるでしょ!」
↓
「unsafeは別だから!」
w
どんな寿命の参照でもどんな値でも他の関数から返ってきたものでも関数から必ず返せる」
↓
「実は関数の引数で受け取るコードがコンパイル通ったらってことでした!
ほら、rustcでコンパイルが通ったら成り立ってるでしょ!」
↓
「unsafeは別だから!」
w
416デフォルトの名無しさん
2026/07/19(日) 21:43:40.95ID:Mw9uDXPU もう次はどんな条件が増えるのか楽しみにした方が良さそう
417デフォルトの名無しさん
2026/07/19(日) 21:44:33.02ID:GVCMKu1f そうだよ
勝手に条件を増やされても困る
Rustでこれは常にこれが成り立つとしか元から書かれていない
【前提】どんな寿命の参照でも、それを関数の引数で受け取ったら、
【恒真】その参照や一部の参照を、関数から必ず返せる
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
勝手に条件を増やされても困る
Rustでこれは常にこれが成り立つとしか元から書かれていない
【前提】どんな寿命の参照でも、それを関数の引数で受け取ったら、
【恒真】その参照や一部の参照を、関数から必ず返せる
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
418デフォルトの名無しさん
2026/07/19(日) 21:50:24.89ID:bC8P0fo4 関数の引数で受け取ったら関数から必ず返せる → thread::spawn() はクロージャ越しに受け取ってるから引数だけど違う
1嘘
他の関数から返ってきたものでも → thread::spawn() はクロージャが返せるという部分だけ成り立てば thread::spawn() が返せなくてもいい
2嘘
ライフタイムの制約なんかない → ライフタイムが合わなくてコンパイル通らないもののことは言ってない
3嘘
付加条件なく必ず成り立ちます → unsafeは例外だから成り立たなくてもいい
4嘘
1嘘
他の関数から返ってきたものでも → thread::spawn() はクロージャが返せるという部分だけ成り立てば thread::spawn() が返せなくてもいい
2嘘
ライフタイムの制約なんかない → ライフタイムが合わなくてコンパイル通らないもののことは言ってない
3嘘
付加条件なく必ず成り立ちます → unsafeは例外だから成り立たなくてもいい
4嘘
419デフォルトの名無しさん
2026/07/19(日) 21:51:10.56ID:bC8P0fo4 >>409
最初からunsafeはメモリ安全が成り立たないって言われとるわマヌケ
最初からunsafeはメモリ安全が成り立たないって言われとるわマヌケ
420デフォルトの名無しさん
2026/07/19(日) 21:52:04.54ID:GVCMKu1f421デフォルトの名無しさん
2026/07/19(日) 21:52:29.83ID:iUD075MM422デフォルトの名無しさん
2026/07/19(日) 21:53:09.52ID:PUeWuqJn >>420
じゃあ 'static 以外の参照を渡して帰ってくる、コンパイル通るコードを出してくれるんだな?w
じゃあ 'static 以外の参照を渡して帰ってくる、コンパイル通るコードを出してくれるんだな?w
423デフォルトの名無しさん
2026/07/19(日) 21:53:31.42ID:xp53Un+N >>420
コード楽しみにしてまーすww
コード楽しみにしてまーすww
424デフォルトの名無しさん
2026/07/19(日) 21:54:42.61ID:xp53Un+N425デフォルトの名無しさん
2026/07/19(日) 21:55:06.42ID:ZjuEXGnE どんどんみっともなくなるの草
426デフォルトの名無しさん
2026/07/19(日) 21:55:12.44ID:GVCMKu1f427デフォルトの名無しさん
2026/07/19(日) 21:55:56.48ID:MiHfChZr428デフォルトの名無しさん
2026/07/19(日) 21:57:00.22ID:GtPpdQ0V429デフォルトの名無しさん
2026/07/19(日) 21:57:49.28ID:GtPpdQ0V 「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
うーん、やっぱり説得力ないから全部なし! 標準ライブラリの関数が「使えるけど使えなくしまーす」って意地悪で言ってるんです!
今ここ
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
うーん、やっぱり説得力ないから全部なし! 標準ライブラリの関数が「使えるけど使えなくしまーす」って意地悪で言ってるんです!
今ここ
430デフォルトの名無しさん
2026/07/19(日) 21:59:15.05ID:GVCMKu1f 追い込まれてるからといってそんな捏造するのはよくない
unsafeの話はthread::spawnがなぜそうしているかの話の時だろ
以下はthread::spawnでもunsafe fnでもasync fnでも必ず成立する
【前提】どんな寿命の参照でも、それを関数の引数で受け取ったら、
【恒真】その参照や一部の参照を、関数から必ず返せる
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
unsafeの話はthread::spawnがなぜそうしているかの話の時だろ
以下はthread::spawnでもunsafe fnでもasync fnでも必ず成立する
【前提】どんな寿命の参照でも、それを関数の引数で受け取ったら、
【恒真】その参照や一部の参照を、関数から必ず返せる
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
431デフォルトの名無しさん
2026/07/19(日) 21:59:18.01ID:Cn6y/N+/432デフォルトの名無しさん
2026/07/19(日) 21:59:46.81ID:Cn6y/N+/433デフォルトの名無しさん
2026/07/19(日) 22:00:15.16ID:CIKtWkX4 >>431
それに加えて戻り値で参照を返す必要もあるぞ
それに加えて戻り値で参照を返す必要もあるぞ
434デフォルトの名無しさん
2026/07/19(日) 22:00:58.26ID:8NkIp6ei 「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が「使えるけど使えなくしまーす」って意地悪で言ってるんです!
これの納得いく説明を早くしてくれよww
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が「使えるけど使えなくしまーす」って意地悪で言ってるんです!
これの納得いく説明を早くしてくれよww
435デフォルトの名無しさん
2026/07/19(日) 22:02:08.29ID:GVCMKu1f436デフォルトの名無しさん
2026/07/19(日) 22:02:32.59ID:6Svg2Dea >>430
これは確かに標準ライブラリ以外でスレッドに任意のライフタイムの参照を渡して返せる関数が作れるって言ってるな
システムコール叩くだけなら実装も楽だし、お前がコード書いてみんなを黙らせること、応援してるよ!w
これは確かに標準ライブラリ以外でスレッドに任意のライフタイムの参照を渡して返せる関数が作れるって言ってるな
システムコール叩くだけなら実装も楽だし、お前がコード書いてみんなを黙らせること、応援してるよ!w
437デフォルトの名無しさん
2026/07/19(日) 22:03:06.91ID:yi67bobM >>435
「実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!」w
「実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!」w
438デフォルトの名無しさん
2026/07/19(日) 22:03:19.07ID:GVCMKu1f >>436
言ってもいないことを捏造するな
言ってもいないことを捏造するな
439デフォルトの名無しさん
2026/07/19(日) 22:03:46.85ID:vzUecOLD >>435
バカの世界ではこれで人が騙せると思われているらしい
バカの世界ではこれで人が騙せると思われているらしい
440デフォルトの名無しさん
2026/07/19(日) 22:04:29.21ID:GVCMKu1f >>439
反例を出してみろ
反例を出してみろ
441デフォルトの名無しさん
2026/07/19(日) 22:04:31.06ID:pu9lYGke442デフォルトの名無しさん
2026/07/19(日) 22:05:21.44ID:pu9lYGke443デフォルトの名無しさん
2026/07/19(日) 22:05:58.29ID:C/0UxDMQ444デフォルトの名無しさん
2026/07/19(日) 22:06:18.59ID:l5ye4LOC 「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が「使えるけど使えなくしまーす」って意地悪で言ってるんです!
これの納得いく説明を早くしてくれよww
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が「使えるけど使えなくしまーす」って意地悪で言ってるんです!
これの納得いく説明を早くしてくれよww
445デフォルトの名無しさん
2026/07/19(日) 22:07:13.82ID:GVCMKu1f446デフォルトの名無しさん
2026/07/19(日) 22:07:14.39ID:MJtW4T88 300レスもこれで荒らし続けてるのか
ID:GVCMKu1fは嘘吐きの代名詞だなw
ID:GVCMKu1fは嘘吐きの代名詞だなw
447デフォルトの名無しさん
2026/07/19(日) 22:07:52.50ID:MJtW4T88448デフォルトの名無しさん
2026/07/19(日) 22:08:38.04ID:Djh5FEvH >>447
そりゃ「unsafeは別だから!」だろw
そりゃ「unsafeは別だから!」だろw
449デフォルトの名無しさん
2026/07/19(日) 22:09:20.59ID:NI8kFB3Y 「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
↓
そんなことないです! 固有の事情! そう、固有の事情です!
これの納得いく説明を早くしてくれよww
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
↓
そんなことないです! 固有の事情! そう、固有の事情です!
これの納得いく説明を早くしてくれよww
450デフォルトの名無しさん
2026/07/19(日) 22:09:54.58ID:1BBaabLV >>449
ひでえなあw
ひでえなあw
451デフォルトの名無しさん
2026/07/19(日) 22:10:17.20ID:GVCMKu1f452デフォルトの名無しさん
2026/07/19(日) 22:11:11.81ID:zr2PrtJM 「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらッて条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
ちょっときれいに整理してみた
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらッて条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
ちょっときれいに整理してみた
453デフォルトの名無しさん
2026/07/19(日) 22:11:44.61ID:zr2PrtJM454デフォルトの名無しさん
2026/07/19(日) 22:12:08.90ID:GVCMKu1f >>452
捏造しだしたら君の負け
捏造しだしたら君の負け
455デフォルトの名無しさん
2026/07/19(日) 22:12:24.24ID:GVCMKu1f >>453
どれですか?
どれですか?
456デフォルトの名無しさん
2026/07/19(日) 22:12:53.75ID:K5dJ0PBv457デフォルトの名無しさん
2026/07/19(日) 22:13:27.57ID:Hr73tPpm458デフォルトの名無しさん
2026/07/19(日) 22:14:00.95ID:3qV+/qVC 「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらッて条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
早くこれに納得いく説明をしてくれよww
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらッて条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
早くこれに納得いく説明をしてくれよww
459デフォルトの名無しさん
2026/07/19(日) 22:14:42.08ID:GVCMKu1f460デフォルトの名無しさん
2026/07/19(日) 22:14:50.31ID:3qV+/qVC >>451
複おじ理論「thread::spawn() を使う奴はRustアンチ!」
複おじ理論「thread::spawn() を使う奴はRustアンチ!」
461デフォルトの名無しさん
2026/07/19(日) 22:15:16.97ID:jnkqq9MC >>459
「実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!」w
「実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!」w
462デフォルトの名無しさん
2026/07/19(日) 22:15:25.36ID:GVCMKu1f >>457
thread::spawn()も受け取った参照を返せます
thread::spawn()も受け取った参照を返せます
463デフォルトの名無しさん
2026/07/19(日) 22:15:43.38ID:+Fv0Z1+W >>459
「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらッて条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
早くこれに納得いく説明をしてくれよwww
「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらッて条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
早くこれに納得いく説明をしてくれよwww
464デフォルトの名無しさん
2026/07/19(日) 22:16:26.77ID:+Fv0Z1+W465デフォルトの名無しさん
2026/07/19(日) 22:17:54.28ID:5Y4SYvdz 「付加条件なく必ず成り立ちます」w
466デフォルトの名無しさん
2026/07/19(日) 22:19:58.42ID:GVCMKu1f467デフォルトの名無しさん
2026/07/19(日) 22:20:02.56ID:c6ZpTEik468デフォルトの名無しさん
2026/07/19(日) 22:20:42.70ID:c6ZpTEik >>466
「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「任意のライフタイムで必ず成立する」「付加条件なく必ず成り立ちます」
この条件で返せるって証明してくれよ
お前が言ったんだからさ、「受け取る参照を制限していますが」なんて逃げはいらないんだわ
「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「任意のライフタイムで必ず成立する」「付加条件なく必ず成り立ちます」
この条件で返せるって証明してくれよ
お前が言ったんだからさ、「受け取る参照を制限していますが」なんて逃げはいらないんだわ
469デフォルトの名無しさん
2026/07/19(日) 22:21:35.77ID:XResoogo 「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらって条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
受け取る参照を制限しているから、受け取ったら返せるんです!
早くこれに納得いく説明をしてくれよwww
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらって条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
受け取る参照を制限しているから、受け取ったら返せるんです!
早くこれに納得いく説明をしてくれよwww
470デフォルトの名無しさん
2026/07/19(日) 22:21:39.57ID:GVCMKu1f 早く反例コードを出してくださいよ
471デフォルトの名無しさん
2026/07/19(日) 22:23:05.98ID:r4QFGOjn472デフォルトの名無しさん
2026/07/19(日) 22:23:43.09ID:r4QFGOjn473デフォルトの名無しさん
2026/07/19(日) 22:24:28.65ID:GVCMKu1f474デフォルトの名無しさん
2026/07/19(日) 22:25:04.76ID:lSihsm4A 「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらって条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
受け取る参照を制限しているから、受け取ったら返せるんです!
早くこれに納得いく説明をしてくれよww
下2つは std::thread::Builder::spawn_unchecked() では成り立たないぞwww
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらって条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
受け取る参照を制限しているから、受け取ったら返せるんです!
早くこれに納得いく説明をしてくれよww
下2つは std::thread::Builder::spawn_unchecked() では成り立たないぞwww
475デフォルトの名無しさん
2026/07/19(日) 22:25:52.00ID:GVCMKu1f476デフォルトの名無しさん
2026/07/19(日) 22:26:01.71ID:HI6IurVy477デフォルトの名無しさん
2026/07/19(日) 22:26:27.39ID:BHraHSW4 >>475
どう見ても満たしとるわマヌケ
どう見ても満たしとるわマヌケ
478デフォルトの名無しさん
2026/07/19(日) 22:27:25.01ID:GVCMKu1f479デフォルトの名無しさん
2026/07/19(日) 22:27:55.87ID:F0MnotzK >>473
std::thread::Builder::spawn_unchecked() で任意の参照を受け取って返せるって言うなら、当然それを受け取って返して読めるコードができるってことだよな
これやってみようぜww
動かなかったらID:GVCMKu1fは嘘吐きな
std::thread::Builder::spawn_unchecked() で任意の参照を受け取って返せるって言うなら、当然それを受け取って返して読めるコードができるってことだよな
これやってみようぜww
動かなかったらID:GVCMKu1fは嘘吐きな
480デフォルトの名無しさん
2026/07/19(日) 22:28:23.95ID:GVCMKu1f >>477
前提条件「それを関数の引数で受け取ったら」を満たしてない
前提条件「それを関数の引数で受け取ったら」を満たしてない
481デフォルトの名無しさん
2026/07/19(日) 22:28:44.70ID:7X0+qiIb >>478
嘘吐きは何とやらと言うけど、ここまで堂々とバレてる嘘を吐けるのは逆に才能だなw
嘘吐きは何とやらと言うけど、ここまで堂々とバレてる嘘を吐けるのは逆に才能だなw
482デフォルトの名無しさん
2026/07/19(日) 22:29:32.31ID:7X0+qiIb >>480
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うって言い訳して逃げようとした時点でその解釈は成り立たないんだわ
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うって言い訳して逃げようとした時点でその解釈は成り立たないんだわ
483デフォルトの名無しさん
2026/07/19(日) 22:29:54.38ID:GVCMKu1f484デフォルトの名無しさん
2026/07/19(日) 22:30:30.82ID:GVCMKu1f >>482
そんな発言していない
そんな発言していない
485デフォルトの名無しさん
2026/07/19(日) 22:32:55.52ID:XbKlswJJ まぁ詰まるところは言い回しの問題なんだろうけどさ
486デフォルトの名無しさん
2026/07/19(日) 22:35:37.37ID:BeY+J4Fb >>484
嘘吐いてもバレるのに……
嘘吐いてもバレるのに……
487デフォルトの名無しさん
2026/07/19(日) 22:36:11.37ID:GVCMKu1f >>486
その書き込みを持ってこいよ
その書き込みを持ってこいよ
488デフォルトの名無しさん
2026/07/19(日) 22:36:50.30ID:7jkxblcL ちなみに>>184で書いた「弱参照を受け取って通常の参照にして返す関数」も普通に書けるからね
「必ず返せる」はもちろん成立しないけれど
unsafe fn get_ref<T>(weak: &Weak<T>) -> &T {
unsafe { &*weak.as_ptr() }
}
「必ず返せる」はもちろん成立しないけれど
unsafe fn get_ref<T>(weak: &Weak<T>) -> &T {
unsafe { &*weak.as_ptr() }
}
489デフォルトの名無しさん
2026/07/19(日) 22:38:12.03ID:BeY+J4Fb >>483
たまたまメモリの領域が生きてただけだろ
たまたまメモリの領域が生きてただけだろ
490デフォルトの名無しさん
2026/07/19(日) 22:39:23.63ID:GVCMKu1f491デフォルトの名無しさん
2026/07/19(日) 22:40:16.24ID:GVCMKu1f >>489
unsafe関数だからそれは許されるのがRust
unsafe関数だからそれは許されるのがRust
492デフォルトの名無しさん
2026/07/19(日) 22:43:01.84ID:+EgGKzCN >>491
おい、お前の言ってる条件満たしてるのに動かねえぞ
use std::thread;
use std::time::Duration;
fn main() {
let handle;
{
let mut local_data = 100;
let mut local_data_ref = &mut local_data;
println!("スレッド内の値: {}", local_data);
unsafe {
handle = thread::Builder::new()
.name("dangerous_thread".to_string())
.spawn_unchecked(move || {
thread::sleep(Duration::from_millis(50));
*local_data_ref = 200;
println!("スレッド内の値: {}", local_data_ref);
})
.unwrap();
}
}
handle.join().unwrap();
}
おい、お前の言ってる条件満たしてるのに動かねえぞ
use std::thread;
use std::time::Duration;
fn main() {
let handle;
{
let mut local_data = 100;
let mut local_data_ref = &mut local_data;
println!("スレッド内の値: {}", local_data);
unsafe {
handle = thread::Builder::new()
.name("dangerous_thread".to_string())
.spawn_unchecked(move || {
thread::sleep(Duration::from_millis(50));
*local_data_ref = 200;
println!("スレッド内の値: {}", local_data_ref);
})
.unwrap();
}
}
handle.join().unwrap();
}
493デフォルトの名無しさん
2026/07/19(日) 22:45:23.06ID:J5fxakd4 まだ参照返してもいないのに条件満たしてかつ動かないのおもろいな
494デフォルトの名無しさん
2026/07/19(日) 22:48:29.00ID:CA6RNpNI495デフォルトの名無しさん
2026/07/19(日) 22:52:26.39ID:Q7jr2sjS 不要なmutがあるし色々雑なコードだけど反例としては十分だな
496デフォルトの名無しさん
2026/07/19(日) 22:53:19.34ID:GVCMKu1f497デフォルトの名無しさん
2026/07/19(日) 22:57:26.40ID:Q7jr2sjS >>496 ごめんごめん、手打ちしたのが良くなかったな
use std::thread;
use std::time::Duration;
fn main() {
let handle;
{
let mut local_data = 100;
println!("スレッド内の値: {}", local_data);
let local_data_ref = &mut local_data;
unsafe {
handle = thread::Builder::new()
.name("dangerous_thread".to_string())
.spawn_unchecked(move || {
thread::sleep(Duration::from_millis(50));
*local_data_ref = 200;
println!("スレッド内の値: {}", local_data_ref);
})
.unwrap();
}
}
handle.join().unwrap();
}
これでクラッシュした理由を教えてくれや
use std::thread;
use std::time::Duration;
fn main() {
let handle;
{
let mut local_data = 100;
println!("スレッド内の値: {}", local_data);
let local_data_ref = &mut local_data;
unsafe {
handle = thread::Builder::new()
.name("dangerous_thread".to_string())
.spawn_unchecked(move || {
thread::sleep(Duration::from_millis(50));
*local_data_ref = 200;
println!("スレッド内の値: {}", local_data_ref);
})
.unwrap();
}
}
handle.join().unwrap();
}
これでクラッシュした理由を教えてくれや
498デフォルトの名無しさん
2026/07/19(日) 23:00:33.97ID:9N1Mvpqx >>497
どう見ても未定義動作です本当にありがとうございます
どう見ても未定義動作です本当にありがとうございます
499デフォルトの名無しさん
2026/07/19(日) 23:02:12.84ID:gOfZIriO500デフォルトの名無しさん
2026/07/19(日) 23:03:42.88ID:d0lr3qJ1 ちゃんとコンパイルは通るな
501デフォルトの名無しさん
2026/07/19(日) 23:05:01.54ID:eHBdU/kr Windowsでは動くな
未定義動作らしくなってきた
未定義動作らしくなってきた
502デフォルトの名無しさん
2026/07/19(日) 23:06:23.23ID:GVCMKu1f >>497
こちらでは以下が表示されて正常終了するが
スレッド内の値: 100
スレッド内の値: 200
動かないこともあるだろうね
unsafe関数を使う時はそのSafety条件を守ることがRustでは必須
こちらでは以下が表示されて正常終了するが
スレッド内の値: 100
スレッド内の値: 200
動かないこともあるだろうね
unsafe関数を使う時はそのSafety条件を守ることがRustでは必須
503デフォルトの名無しさん
2026/07/19(日) 23:08:41.34ID:EPUrWbSR504デフォルトの名無しさん
2026/07/19(日) 23:10:37.48ID:GVCMKu1f505デフォルトの名無しさん
2026/07/19(日) 23:11:11.06ID:+39tuTEu506デフォルトの名無しさん
2026/07/19(日) 23:13:19.88ID:d6fluU/x >>497
地味に無駄mut外されて洗練されてんの笑う
地味に無駄mut外されて洗練されてんの笑う
507デフォルトの名無しさん
2026/07/19(日) 23:14:11.45ID:d6fluU/x ただ、上は「スレッド外の値」やな
508デフォルトの名無しさん
2026/07/19(日) 23:25:15.72ID:R2LtKg8E use std::thread;
use std::time::Duration;
fn main() {
let handle;
let mut local_data = 100;
println!("スレッド外の値: {}", local_data);
let local_data_ref = &mut local_data;
unsafe {
handle = thread::Builder::new()
.name("dangerous_thread".to_string())
.spawn_unchecked(move || {
thread::sleep(Duration::from_millis(500));
println!("スレッド内の値: {}", local_data_ref);
*local_data_ref = 200;
println!("スレッド内の値: {}", local_data_ref);
})
.unwrap();
}
}
println!("local_data消失");
handle.join().unwrap();
}
何が起こってるかわかりやすくした
これで動いてしまった場合でも未定義動作だとわかる
use std::time::Duration;
fn main() {
let handle;
let mut local_data = 100;
println!("スレッド外の値: {}", local_data);
let local_data_ref = &mut local_data;
unsafe {
handle = thread::Builder::new()
.name("dangerous_thread".to_string())
.spawn_unchecked(move || {
thread::sleep(Duration::from_millis(500));
println!("スレッド内の値: {}", local_data_ref);
*local_data_ref = 200;
println!("スレッド内の値: {}", local_data_ref);
})
.unwrap();
}
}
println!("local_data消失");
handle.join().unwrap();
}
何が起こってるかわかりやすくした
これで動いてしまった場合でも未定義動作だとわかる
509デフォルトの名無しさん
2026/07/19(日) 23:25:32.10ID:2iSHfWbm mut汚染は鉄板だけどunsafe使うのは趣旨に反するよな
Cellとか使うと気持ち悪くできそうだけど複雑になる
fn foo<'a, T, F>(f: F, x: &'a mut T, y: &'a mut T) -> &'a mut T
where
F: FnOnce(&'a mut T, &'a mut T) -> bool
{
if f(x, y) { x } else { y }
}
Cellとか使うと気持ち悪くできそうだけど複雑になる
fn foo<'a, T, F>(f: F, x: &'a mut T, y: &'a mut T) -> &'a mut T
where
F: FnOnce(&'a mut T, &'a mut T) -> bool
{
if f(x, y) { x } else { y }
}
510デフォルトの名無しさん
2026/07/19(日) 23:26:27.45ID:GVCMKu1f >>497が反例になってない証拠は
簡略化したこのコードをみるとわかる
fn main() {
let handle;
{
let mut local_data = 100;
println!("スレッド内の値: {}", local_data);
let local_data_ref = &mut local_data;
{
handle = Some(local_data_ref);
}
}
handle.unwrap();
}
スコープルールに反しているだけにすぎない
簡略化したこのコードをみるとわかる
fn main() {
let handle;
{
let mut local_data = 100;
println!("スレッド内の値: {}", local_data);
let local_data_ref = &mut local_data;
{
handle = Some(local_data_ref);
}
}
handle.unwrap();
}
スコープルールに反しているだけにすぎない
511デフォルトの名無しさん
2026/07/19(日) 23:27:18.23ID:bxzaHrV9 条件決めた奴が spawn_unchecked() でも成り立つと明言している以上趣旨には反してない
512デフォルトの名無しさん
2026/07/19(日) 23:28:30.71ID:GsL396XN >>510
スレッド立ててない時点で簡略化できてないぞ
スレッド立ててない時点で簡略化できてないぞ
513デフォルトの名無しさん
2026/07/19(日) 23:28:33.09ID:GVCMKu1f514デフォルトの名無しさん
2026/07/19(日) 23:29:11.11ID:MI3knhkj515デフォルトの名無しさん
2026/07/19(日) 23:29:32.14ID:MI3knhkj >>513
また新しい嘘が始まったな
また新しい嘘が始まったな
516デフォルトの名無しさん
2026/07/19(日) 23:29:43.26ID:GVCMKu1f517デフォルトの名無しさん
2026/07/19(日) 23:30:23.43ID:MI3knhkj >>516
お前の書いたコードじゃなくて元のコードの話してるんだけど
お前の書いたコードじゃなくて元のコードの話してるんだけど
518デフォルトの名無しさん
2026/07/19(日) 23:30:57.41ID:GVCMKu1f519デフォルトの名無しさん
2026/07/19(日) 23:30:58.78ID:UGHA3+tz 勝手に名前だけ似せた関係ないコードにすり替えて話してるのヤバすぎるだろ
520デフォルトの名無しさん
2026/07/19(日) 23:31:39.85ID:UGHA3+tz >>518
お前の書いた妄想コードはhandle = Some(local_data_ref);がある部分のスコープが元のコードと一致してない
お前の書いた妄想コードはhandle = Some(local_data_ref);がある部分のスコープが元のコードと一致してない
521デフォルトの名無しさん
2026/07/19(日) 23:31:44.43ID:GVCMKu1f >>517
元のコードもhandleとlocal_dataのスコープが食い違っている
元のコードもhandleとlocal_dataのスコープが食い違っている
522デフォルトの名無しさん
2026/07/19(日) 23:33:29.24ID:uxNzkEWb >>510のコードはthread::scopeを使った場合にしか起きないスコープになってる
523デフォルトの名無しさん
2026/07/19(日) 23:33:59.63ID:L0YtsTIP >>521
スレッドとスコープの見わけもつかんのかたわけ
スレッドとスコープの見わけもつかんのかたわけ
524デフォルトの名無しさん
2026/07/19(日) 23:39:08.66ID:GVCMKu1f 本質部分だけ取り出すと理解できない人のために
>>497から一番外側の不要な鍵カッコ2つを取り外すして参照を返すとこうなる
use std::thread;
use std::time::Duration;
fn main() {
let handle;
let mut local_data = 100;
println!("スレッド内の値: {}", local_data);
let local_data_ref = &mut local_data;
unsafe {
handle = thread::Builder::new()
.name("dangerous_thread".to_string())
.spawn_unchecked(move || {
thread::sleep(Duration::from_millis(50));
*local_data_ref = 200;
println!("スレッド内の値: {}", local_data_ref);
local_data_ref
})
.unwrap();
}
let result = handle.join().unwrap();
println!("result: {result}");
}
こうなる
result: 200
>>497から一番外側の不要な鍵カッコ2つを取り外すして参照を返すとこうなる
use std::thread;
use std::time::Duration;
fn main() {
let handle;
let mut local_data = 100;
println!("スレッド内の値: {}", local_data);
let local_data_ref = &mut local_data;
unsafe {
handle = thread::Builder::new()
.name("dangerous_thread".to_string())
.spawn_unchecked(move || {
thread::sleep(Duration::from_millis(50));
*local_data_ref = 200;
println!("スレッド内の値: {}", local_data_ref);
local_data_ref
})
.unwrap();
}
let result = handle.join().unwrap();
println!("result: {result}");
}
こうなる
result: 200
525デフォルトの名無しさん
2026/07/19(日) 23:39:35.33ID:Je9ZT3pN どれだけ曲解したところで handle = Some(local_data_ref); がある部分のスコープが local_data より先に終わってる時点でスレッドを理解してないとしか言えない
526デフォルトの名無しさん
2026/07/19(日) 23:40:36.64ID:xeU/443Z527デフォルトの名無しさん
2026/07/19(日) 23:41:25.28ID:pTqrx0Og >>524
お前は一度くらい嘘を吐かずに話せないのか
お前は一度くらい嘘を吐かずに話せないのか
528デフォルトの名無しさん
2026/07/19(日) 23:42:07.87ID:pTqrx0Og >>524
複オジ理論「不要なスコープを取り除いたらスコープが壊れてるんだ!」
複オジ理論「不要なスコープを取り除いたらスコープが壊れてるんだ!」
529デフォルトの名無しさん
2026/07/19(日) 23:42:38.37ID:GVCMKu1f530デフォルトの名無しさん
2026/07/19(日) 23:43:28.52ID:GVCMKu1f >>526
スコープ外に参照を持ち出せないのはRustの常識
スコープ外に参照を持ち出せないのはRustの常識
531デフォルトの名無しさん
2026/07/19(日) 23:43:33.36ID:lrKY9Hhf532デフォルトの名無しさん
2026/07/19(日) 23:44:10.12ID:9U0PzD1P533デフォルトの名無しさん
2026/07/19(日) 23:44:45.44ID:VYuhTwcT >>530
じゃあRustのコンパイラは無能だからスコープが壊れててもコンパイルを通すと?w
じゃあRustのコンパイラは無能だからスコープが壊れててもコンパイルを通すと?w
534デフォルトの名無しさん
2026/07/19(日) 23:45:13.52ID:Do2V15MU 複オジなんてどうせ隠れアンチだからな
535デフォルトの名無しさん
2026/07/19(日) 23:45:58.75ID:jmKhuzp4536デフォルトの名無しさん
2026/07/19(日) 23:47:10.55ID:GVCMKu1f537デフォルトの名無しさん
2026/07/19(日) 23:47:11.26ID:2YvNcuM/ >>530
どう見てもスコープ内で渡されてますねえ
use std::thread;
use std::time::Duration;
fn main() {
let handle;
{
let mut local_data = 100;
println!("スレッド外の値: {}", local_data);
let local_data_ref = &mut local_data;
unsafe {
handle = thread::Builder::new()
.name("dangerous_thread".to_string())
.spawn_unchecked(move || {
thread::sleep(Duration::from_millis(500));
println!("スレッド内の値: {}", local_data_ref);
*local_data_ref = 200;
println!("スレッド内の値: {}", local_data_ref);
})
.unwrap();
}
}
println!("local_data消失");
handle.join().unwrap();
}
どう見てもスコープ内で渡されてますねえ
use std::thread;
use std::time::Duration;
fn main() {
let handle;
{
let mut local_data = 100;
println!("スレッド外の値: {}", local_data);
let local_data_ref = &mut local_data;
unsafe {
handle = thread::Builder::new()
.name("dangerous_thread".to_string())
.spawn_unchecked(move || {
thread::sleep(Duration::from_millis(500));
println!("スレッド内の値: {}", local_data_ref);
*local_data_ref = 200;
println!("スレッド内の値: {}", local_data_ref);
})
.unwrap();
}
}
println!("local_data消失");
handle.join().unwrap();
}
538デフォルトの名無しさん
2026/07/19(日) 23:48:41.40ID:A/rr6nbt >>536
「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらって条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
受け取る参照を制限しているから、受け取ったら返せるんです!
↓
やっぱり違う! 俺の書いた見た目の似たコードではスコープから外れてるから違うんだ!
早くこれに納得いく説明をしてくれよww
「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらって条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
受け取る参照を制限しているから、受け取ったら返せるんです!
↓
やっぱり違う! 俺の書いた見た目の似たコードではスコープから外れてるから違うんだ!
早くこれに納得いく説明をしてくれよww
539デフォルトの名無しさん
2026/07/19(日) 23:48:47.51ID:im9d/ITc >>536
「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらって条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
受け取る参照を制限しているから、受け取ったら返せるんです!
↓
やっぱり違う! 俺の書いた見た目の似たコードではスコープから外れてるから違うんだ!
早くこれに納得いく説明をしてくれよww
「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらって条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
受け取る参照を制限しているから、受け取ったら返せるんです!
↓
やっぱり違う! 俺の書いた見た目の似たコードではスコープから外れてるから違うんだ!
早くこれに納得いく説明をしてくれよww
540デフォルトの名無しさん
2026/07/19(日) 23:49:03.84ID:GVCMKu1f541デフォルトの名無しさん
2026/07/19(日) 23:49:22.03ID:RywEX15a >>536
「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらって条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
受け取る参照を制限しているから、受け取ったら返せるんです!
↓
やっぱり違う! 俺の書いた見た目の似たコードではスコープから外れてるから違うんだ!
早くこれに納得いく説明をしてくれよww
「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらって条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
受け取る参照を制限しているから、受け取ったら返せるんです!
↓
やっぱり違う! 俺の書いた見た目の似たコードではスコープから外れてるから違うんだ!
早くこれに納得いく説明をしてくれよww
542デフォルトの名無しさん
2026/07/19(日) 23:49:45.50ID:RywEX15a >>540
RAIIとスコープについて学んでおいでw
RAIIとスコープについて学んでおいでw
543デフォルトの名無しさん
2026/07/19(日) 23:50:23.19ID:RywEX15a 540 デフォルトの名無しさん 2026/07/19(日) 23:49:03.84 ID:GVCMKu1f
>>537
println!("local_data消失");の意味がわからない
消失してないから表示されるぞ
複おじの知能ではスコープはわからない
>>537
println!("local_data消失");の意味がわからない
消失してないから表示されるぞ
複おじの知能ではスコープはわからない
544デフォルトの名無しさん
2026/07/19(日) 23:51:23.22ID:9D3is3z1 煽りコピペがうざいので減らしてくれ
荒らしはID:GVCMKu1fだけで足りてる
荒らしはID:GVCMKu1fだけで足りてる
545デフォルトの名無しさん
2026/07/19(日) 23:51:50.05ID:GVCMKu1f546デフォルトの名無しさん
2026/07/19(日) 23:52:03.24ID:LIGzNvxy >>540
スコープが壊れてるってイキってたくせにスコープがわかってないのおもろい
スコープが壊れてるってイキってたくせにスコープがわかってないのおもろい
547デフォルトの名無しさん
2026/07/19(日) 23:52:16.91ID:GVCMKu1f 意義→異議
548デフォルトの名無しさん
2026/07/19(日) 23:52:56.65ID:LIGzNvxy >>545
spawn_unchecked() は一切参照を扱えないって話に勝手にすり替えてて草
> どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
このバカげた主張の話をしてるんだぞw
spawn_unchecked() は一切参照を扱えないって話に勝手にすり替えてて草
> どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
このバカげた主張の話をしてるんだぞw
549デフォルトの名無しさん
2026/07/19(日) 23:53:01.64ID:GVCMKu1f550デフォルトの名無しさん
2026/07/19(日) 23:53:27.17ID:2yWTRs2r551デフォルトの名無しさん
2026/07/19(日) 23:53:50.01ID:GVCMKu1f >>548
参照を返せないという反例コードはどれ?
参照を返せないという反例コードはどれ?
552デフォルトの名無しさん
2026/07/19(日) 23:54:04.40ID:2yWTRs2r >>549
成り立たないコードが示されてるのに勝手に成り立つコードに書き換えて「どんなケースでも成り立つ!」は嘘吐きすぎる
成り立たないコードが示されてるのに勝手に成り立つコードに書き換えて「どんなケースでも成り立つ!」は嘘吐きすぎる
553デフォルトの名無しさん
2026/07/19(日) 23:54:35.61ID:GVCMKu1f554デフォルトの名無しさん
2026/07/19(日) 23:54:56.33ID:GVCMKu1f >>552
参照を返せないコードはどれですか?
参照を返せないコードはどれですか?
555デフォルトの名無しさん
2026/07/19(日) 23:56:34.41ID:GVCMKu1f unsafeのspawn_unchecked()でも参照を返せることを>>524で示した
このケースでも反例はない
このケースでも反例はない
556デフォルトの名無しさん
2026/07/19(日) 23:57:23.89ID:gTGt9p2I557デフォルトの名無しさん
2026/07/19(日) 23:57:41.89ID:gTGt9p2I >>555
また嘘吐きか
また嘘吐きか
558デフォルトの名無しさん
2026/07/19(日) 23:58:46.18ID:HimEHeoN 「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
↓
「スコープで寿命が変わってるから返せないんだ! こんなのは反例にならない!」
もう嘘しか吐いてない
↓
「スコープで寿命が変わってるから返せないんだ! こんなのは反例にならない!」
もう嘘しか吐いてない
559デフォルトの名無しさん
2026/07/19(日) 23:59:07.13ID:GVCMKu1f560デフォルトの名無しさん
2026/07/19(日) 23:59:21.63ID:GVCMKu1f Rustでは以下が常に成立する
ここまでに反例なし
【前提】どんな寿命の参照でも、それを関数の引数で受け取ったら、
【恒真】その参照や一部の参照を、関数から必ず返せる
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
ここまでに反例なし
【前提】どんな寿命の参照でも、それを関数の引数で受け取ったら、
【恒真】その参照や一部の参照を、関数から必ず返せる
>>159
>>どんな寿命の参照でも、それを関数の引数で受け取ったら、その参照や一部の参照を、関数から必ず返せる
561デフォルトの名無しさん
2026/07/19(日) 23:59:24.81ID:HimEHeoN 「どんな寿命の参照でも」「どんな値でも」「他の関数から返ってきたものでも」「関数から必ず返せる」 (>>159)
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらって条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
受け取る参照を制限しているから、受け取ったら返せるんです!
↓
スコープで寿命が変わってるから返せないんだ! こんなのは反例にならない!
早くこれに納得いく説明をしてくれよww
「任意のライフタイムで必ず成立する」(>>183)
「Rustでは付加条件なく必ず成り立ちます」(>>214)
↓
thread::spawn() はクロージャ越しに受け取ってるから引数だけど違うよね……やっぱなし!
クロージャが返してるからセーフ……これもなし!
↓
実は関数の引数で受け取るコードがコンパイル通ったらってことでした! ほら、rustcでコンパイルが通ったら成り立ってるでしょ!
あ、あとunsafeは別だから!
↓
やっぱり標準ライブラリの関数が勝手に「使えるけど使えなくしまーす」って意地悪で言ってるんです!
コンパイル通ったらって条件も残ってます!
↓
そんなことないです! 固有の事情があるんです! そう、固有の事情です!
受け取る参照を制限しているから、受け取ったら返せるんです!
↓
スコープで寿命が変わってるから返せないんだ! こんなのは反例にならない!
早くこれに納得いく説明をしてくれよww
562デフォルトの名無しさん
2026/07/20(月) 00:00:01.10ID:ePIKrZ+R563デフォルトの名無しさん
2026/07/20(月) 00:00:59.52ID:WgMKnyG7564デフォルトの名無しさん
2026/07/20(月) 00:01:22.56ID:yjKLz6QF 日付変わったからID変わるし逃げるチャンスだぞw
565デフォルトの名無しさん
2026/07/20(月) 00:04:25.07ID:uo5Y2Bx6 鳩に餌をあげないでください
566デフォルトの名無しさん
2026/07/20(月) 00:26:23.15ID:+KK2qof4 >>562-563
これだな
これだな
567デフォルトの名無しさん
2026/07/20(月) 01:03:36.24ID:whsYlLNP すっげー伸びてるじゃん
友達ができてよかったね複くん
友達ができてよかったね複くん
568デフォルトの名無しさん
2026/07/20(月) 01:29:30.72ID:FTzidL2p RustとPythonってみんなどっちが書きやすいんだろ
個人的には断然Rustなんだが
個人的には断然Rustなんだが
569デフォルトの名無しさん
2026/07/20(月) 02:28:01.91ID:SUSKKYlc コンパイルエラーとフォーマッタに依存しきった書き方してるからクレートあるものに関してはRustかなー
pythonのインデント調整を筆頭に色々とめんどくさいん、でもBlender関連は諦めてpythonで拡張してるし、obsidian関連はtypescriptで拡張してる
pythonのインデント調整を筆頭に色々とめんどくさいん、でもBlender関連は諦めてpythonで拡張してるし、obsidian関連はtypescriptで拡張してる
570デフォルトの名無しさん
2026/07/20(月) 07:13:02.37ID:xinP/7ux https://atmarkit.itmedia.co.jp/ait/spv/2605/08/news038.html
図1 プログラミング言語の案件別平均年収ランキング
1位 Rust 月額84万 年収1008万円
図1 プログラミング言語の案件別平均年収ランキング
1位 Rust 月額84万 年収1008万円
571デフォルトの名無しさん
2026/07/20(月) 07:18:33.55ID:bz7XXARi Pythonは軽く書くにはいいけど数百行でつらくなるからなあ
それ以上書くならRustだなあ
それ以上書くならRustだなあ
572デフォルトの名無しさん
2026/07/20(月) 07:42:00.48ID:guFOVLdG573デフォルトの名無しさん
2026/07/20(月) 07:42:40.75ID:guFOVLdG574デフォルトの名無しさん
2026/07/20(月) 07:46:30.86ID:NK50dKXH Rustに移ったら実行時エラー実行時デバッグが激減した
575デフォルトの名無しさん
2026/07/20(月) 08:00:48.22ID:guFOVLdG576デフォルトの名無しさん
2026/07/20(月) 08:26:00.87ID:7Rhw2qA3 糞つまんねーサッカーやっと終わった
仕事サボってサッカーの話ばっかしてる派遣プログラマーは今月で契約終了
こいつに月50万も払って割に合わねーわ
仕事サボってサッカーの話ばっかしてる派遣プログラマーは今月で契約終了
こいつに月50万も払って割に合わねーわ
577デフォルトの名無しさん
2026/07/20(月) 08:27:15.99ID:0sKavqd3 rustがスペインでclangがアルゼンチン
578デフォルトの名無しさん
2026/07/20(月) 08:38:16.51ID:LWHvvzEG ひとりで書く → Python
みんなで書く → Rust
※但し1か月前の自分は他人とする
みんなで書く → Rust
※但し1か月前の自分は他人とする
579デフォルトの名無しさん
2026/07/20(月) 09:04:09.07ID:RcARJTFP Rustアンチが複おじに負けてて草
580デフォルトの名無しさん
2026/07/20(月) 12:18:10.16ID:whsYlLNP ウザくなってきたらissue#25860って言っとけば死ぬよ
延々関係ない方向で突っ走ってるけど>>159結局そういうことやろ
延々関係ない方向で突っ走ってるけど>>159結局そういうことやろ
581デフォルトの名無しさん
2026/07/20(月) 15:59:06.97ID:szQO4V1s 確かにrust案件爆増中だが、GUI絡むとそうでもなかんべ?
汎用というにはまだほど遠い。
スペシャリストの世界。
汎用というにはまだほど遠い。
スペシャリストの世界。
582デフォルトの名無しさん
2026/07/20(月) 15:59:48.85ID:sLwgYfCK おじ(111)がいなくなると、あれだけ無尽蔵に人が湧いてきて
おじのテーマに沿ってレスバしてたのが嘘のようだな
おじのテーマに沿ってレスバしてたのが嘘のようだな
583デフォルトの名無しさん
2026/07/20(月) 16:03:58.56ID:a2WJC20F GUIは発展してるでしょ
無駄な装飾がなくて結構
無駄な装飾がなくて結構
584デフォルトの名無しさん
2026/07/20(月) 16:28:36.12ID:pPSg1Dki eguiて(笑)
585デフォルトの名無しさん
2026/07/20(月) 17:14:59.49ID:PL45+lRs586デフォルトの名無しさん
2026/07/20(月) 17:16:09.17ID:VhtRD10G >>580
未定義動作と言語仕様の差がわかってないの笑う
未定義動作と言語仕様の差がわかってないの笑う
587デフォルトの名無しさん
2026/07/20(月) 17:19:19.28ID:dl1I1D3P どうせそういう変なこと言ってる奴は荒らしたいだけでまともな話したいわけじゃないからスルーした方がいい
588デフォルトの名無しさん
2026/07/20(月) 17:57:06.05ID:t0i6pd/k >>578
結局メンテするならRustってことか
結局メンテするならRustってことか
589デフォルトの名無しさん
2026/07/20(月) 18:27:45.40ID:BxRlG/zJ >>582
本人は自演がばれてないと思ってるっぽい
本人は自演がばれてないと思ってるっぽい
590デフォルトの名無しさん
2026/07/20(月) 19:43:06.66ID:whsYlLNP 「どんな寿命の参照でも」って表現がまず曖昧でこれ単独じゃ何の意味も取れないんだけど
複おじとそのお友達はお互い何か意味のあることを言っていると思って、連休の2/3と数百レスを費やした挙句何の理解も得られてないってのはだいぶおもろいかもしれん
複おじとそのお友達はお互い何か意味のあることを言っていると思って、連休の2/3と数百レスを費やした挙句何の理解も得られてないってのはだいぶおもろいかもしれん
591デフォルトの名無しさん
2026/07/20(月) 19:47:20.49ID:PnKnKpht592デフォルトの名無しさん
2026/07/20(月) 19:52:05.14ID:DWavJb6G593デフォルトの名無しさん
2026/07/20(月) 19:53:58.77ID:KaxLJD1L 新しいスレ住人のみんなはこれでご理解いただけたであろうか?
不毛? 徒労感?
これが複おじの提供する機能である
認知のゆがみがある人との対話が無駄に終わることを学べただろうか?
こいつはしょっぱなから「所有権の複製」とかいうアホ概念について
長きにわたり同じようなやりとりを既にやってるのである
不毛? 徒労感?
これが複おじの提供する機能である
認知のゆがみがある人との対話が無駄に終わることを学べただろうか?
こいつはしょっぱなから「所有権の複製」とかいうアホ概念について
長きにわたり同じようなやりとりを既にやってるのである
594デフォルトの名無しさん
2026/07/20(月) 20:00:36.85ID:jeQChXBT オレなら不毛な議論をせずに一発で証明できる
fn foo1<'a, T>(x: &'a T) -> &'a T {
x
}
fn foo2<'a, T>(x: &'a mut T) -> &'a mut T {
x
}
ライフタイムがどんなに短くても長くても受け取った関数にとっては中立
fn foo1<'a, T>(x: &'a T) -> &'a T {
x
}
fn foo2<'a, T>(x: &'a mut T) -> &'a mut T {
x
}
ライフタイムがどんなに短くても長くても受け取った関数にとっては中立
595デフォルトの名無しさん
2026/07/20(月) 20:17:52.73ID:whsYlLNP それだけですか?
それだけなんだろうな
それだけなんだろうな
596デフォルトの名無しさん
2026/07/20(月) 20:21:57.37ID:whsYlLNP597デフォルトの名無しさん
2026/07/20(月) 20:24:42.75ID:uo5Y2Bx6 >>585
Rust製ブラウザとかあったっけ?
Rust製ブラウザとかあったっけ?
598デフォルトの名無しさん
2026/07/20(月) 21:25:03.36ID:uGn3+DFY Rust製ブラウザと言えばServo
そもそもRust自体がFirefoxを改善するために生まれた言語
そもそもRust自体がFirefoxを改善するために生まれた言語
600デフォルトの名無しさん
2026/07/20(月) 22:43:17.19ID:kp6lL+TA601デフォルトの名無しさん
2026/07/20(月) 23:12:17.26ID:61nUbP3Q アンチはやたら「100%RustじゃなかったらRustの意味はない」ってゼロヒャクを言いたがるよな
602デフォルトの名無しさん
2026/07/20(月) 23:12:50.06ID:LQZCFRGP >>594
Rustの言語仕様として受け取った参照を返すことができるのはもちろん正しい
一方で論争になっていたのはこちら
「なぜ関数が受け取る引数には型やライフタイムに制約があるものが存在するのか?」
結局これは関数が提供したい機能に依って受け取れる型やライフタイムに制約が生じる
こちらはRustの言語仕様とは関係ない
Rustの言語仕様として受け取った参照を返すことができるのはもちろん正しい
一方で論争になっていたのはこちら
「なぜ関数が受け取る引数には型やライフタイムに制約があるものが存在するのか?」
結局これは関数が提供したい機能に依って受け取れる型やライフタイムに制約が生じる
こちらはRustの言語仕様とは関係ない
603デフォルトの名無しさん
2026/07/20(月) 23:19:43.37ID:H8/wSbOi >>594
これで何かを証明したつもりになっているらしい草
これで何かを証明したつもりになっているらしい草
604デフォルトの名無しさん
2026/07/20(月) 23:52:47.51ID:whsYlLNP >>602みたいな主語抜けアスペ文で誰かに何かが伝わると思ってるほうが草だよ
605デフォルトの名無しさん
2026/07/20(月) 23:57:17.47ID:IJFMdDIv606デフォルトの名無しさん
2026/07/21(火) 00:58:47.10ID:QTPwz4XE もうみんなclone()して幸せになろう
607デフォルトの名無しさん
2026/07/21(火) 01:02:17.70ID:llmZLZOr Linux全面AI推進へ
リーナス・トーバルズが「LinuxはアンチAIではない」「気に入らないならフォークすればいい」などLinuxカーネル開発におけるAI利用について意見を述べる
https://gigazine.net/news/20260717-linux-linus-torvalds-ai/
リーナス・トーバルズが「LinuxはアンチAIではない」「気に入らないならフォークすればいい」などLinuxカーネル開発におけるAI利用について意見を述べる
https://gigazine.net/news/20260717-linux-linus-torvalds-ai/
608デフォルトの名無しさん
2026/07/21(火) 01:38:33.62ID:QTPwz4XE 貼る場所ちがくね
609デフォルトの名無しさん
2026/07/21(火) 02:34:33.11ID:skCMy8IN610デフォルトの名無しさん
2026/07/21(火) 02:35:01.04ID:skCMy8IN >>607
AI全面推進なんて書いてないしRustの話でもないし無茶苦茶
AI全面推進なんて書いてないしRustの話でもないし無茶苦茶
611デフォルトの名無しさん
2026/07/21(火) 02:36:30.43ID:skCMy8IN >>602
提供したい機能によってライフタイムの制約が生じるというのは間違ってないけど、言語仕様と関係ないというのは間違いだね
提供したい機能を言語仕様の制限の中で提供するにあたって、ライフタイムの制約を受けているので
提供したい機能によってライフタイムの制約が生じるというのは間違ってないけど、言語仕様と関係ないというのは間違いだね
提供したい機能を言語仕様の制限の中で提供するにあたって、ライフタイムの制約を受けているので
612デフォルトの名無しさん
2026/07/21(火) 02:50:42.06ID:x5O9ScDZ613デフォルトの名無しさん
2026/07/21(火) 02:54:10.33ID:G3LfMY0d614デフォルトの名無しさん
2026/07/21(火) 02:55:15.55ID:IG70nYUK > 各関数の固有の制約
Rustにライフタイムの制約がないのに各関数が勝手にそれをつけてるって、流石にそんな嫌がらせはしないと思うが
Rustにライフタイムの制約がないのに各関数が勝手にそれをつけてるって、流石にそんな嫌がらせはしないと思うが
615デフォルトの名無しさん
2026/07/21(火) 03:01:24.29ID:pperHCQY >>611
これよな
これよな
616デフォルトの名無しさん
2026/07/21(火) 03:05:18.55ID:6mJa4phR >>612の理屈をC言語の標準ライブラリで考えるとおかしさがわかりやすくて、malloc() で確保した領域を free() で解放しなきゃいけないのは標準ライブラリの仕様ではなくそれを使うコードのせい、みたいな話になってるんだよな
当然そんなわけはなくて、malloc() を使うことまではそのコードの問題だけど、free() を使う必要があるのは標準ライブラリの仕様に縛られているから
当然そんなわけはなくて、malloc() を使うことまではそのコードの問題だけど、free() を使う必要があるのは標準ライブラリの仕様に縛られているから
617デフォルトの名無しさん
2026/07/21(火) 03:06:50.82ID:8oAusgWd 同じように、'static しか受け取れない機能を作ることまではその関数の問題であったとして、'static しか受け取れないという仕様の原因になっているのはライフタイムの制約を言語側が仕様として定めているからに他ならない
618デフォルトの名無しさん
2026/07/21(火) 03:08:49.84ID:tAZ83IIh こういう区別のつく人間って希少なんだよな……
619デフォルトの名無しさん
2026/07/21(火) 03:16:38.78ID:dnpNhuMb >>612
その区別が重要だな
その区別が重要だな
620デフォルトの名無しさん
2026/07/21(火) 04:02:54.66ID:llmZLZOr ###なぜ 'static やライフタイムの制約が存在するのか?
Rustには**「ガベージコレクタ(GC)を持たずに、メモリ安全性と高いパフォーマンスを両立する」**という根本的な設計思想があります。これをコンパイル時の静的解析だけで実現するために編み出されたのが、ライフタイムのシステムです。
Rustには**「ガベージコレクタ(GC)を持たずに、メモリ安全性と高いパフォーマンスを両立する」**という根本的な設計思想があります。これをコンパイル時の静的解析だけで実現するために編み出されたのが、ライフタイムのシステムです。
621デフォルトの名無しさん
2026/07/21(火) 04:39:09.20ID:uj8HJQGP >>620
GC言語でGC対象はヒープ領域に格納されるのに対して
Rustはスタック領域にある関数ローカル変数に値を置いたままそこへの参照を安全に使うことができる点が大きい
取り扱う参照がスタック領域を指しているかヒープ領域を指しているか区別することなく全く同様に扱えるようになった
つまりGC言語と比べてRustは自由を得た
GC言語でGC対象はヒープ領域に格納されるのに対して
Rustはスタック領域にある関数ローカル変数に値を置いたままそこへの参照を安全に使うことができる点が大きい
取り扱う参照がスタック領域を指しているかヒープ領域を指しているか区別することなく全く同様に扱えるようになった
つまりGC言語と比べてRustは自由を得た
622デフォルトの名無しさん
2026/07/21(火) 14:15:41.69ID:lcbPHFy/ >>619
区別ついてない側なの笑う
区別ついてない側なの笑う
623デフォルトの名無しさん
2026/07/21(火) 14:18:04.24ID:lcbPHFy/ >>621
×取り扱う参照がスタック領域を指しているかヒープ領域を指しているか区別することなく全く同様に扱えるようになった
別に参照はこれまでの言語でもどちらの領域を指すか区別して用いるものではない
また、変数自体はスタック領域を指しているかヒープ領域を指しているか区別して扱う必要がある
×取り扱う参照がスタック領域を指しているかヒープ領域を指しているか区別することなく全く同様に扱えるようになった
別に参照はこれまでの言語でもどちらの領域を指すか区別して用いるものではない
また、変数自体はスタック領域を指しているかヒープ領域を指しているか区別して扱う必要がある
624デフォルトの名無しさん
2026/07/21(火) 14:18:31.22ID:lcbPHFy/ >>620
まあ、せやな
まあ、せやな
625デフォルトの名無しさん
2026/07/21(火) 14:28:07.20ID:VQBl6cxm Goで書き直されたTypeScript 7.0が正式リリースされてるね
自由度高くて安全で高速なGo実装を簡単にRustに移植出来たら良いのに
自由度高くて安全で高速なGo実装を簡単にRustに移植出来たら良いのに
626デフォルトの名無しさん
2026/07/21(火) 14:29:27.36ID:CzSf/WLm627デフォルトの名無しさん
2026/07/21(火) 14:35:44.45ID:snwCrAuS ###なぜGoなのか
Rustの厳格な所有権や借用規則の世界へいきなりジャンプしようとすると、その「TS寄りの複雑な構造」そのものを根本から完全再設計しなければならず、難易度が跳ね上がってしまいます。
つまり、移行元のコードベースの性質や、プロジェクトを現実的な期間でゴールさせるための「距離感」として、Goがちょうどよかったということですね。
Rustの厳格な所有権や借用規則の世界へいきなりジャンプしようとすると、その「TS寄りの複雑な構造」そのものを根本から完全再設計しなければならず、難易度が跳ね上がってしまいます。
つまり、移行元のコードベースの性質や、プロジェクトを現実的な期間でゴールさせるための「距離感」として、Goがちょうどよかったということですね。
628デフォルトの名無しさん
2026/07/21(火) 14:36:57.76ID:+g9vCx9h >>626
じゃあスタックに巨大構造体置きまくっても安心だな!
じゃあスタックに巨大構造体置きまくっても安心だな!
629デフォルトの名無しさん
2026/07/21(火) 14:38:08.63ID:Y7iYabno >>625
常に動き続けるホットパスでもないし、Rustである意味がないからなあ
常に動き続けるホットパスでもないし、Rustである意味がないからなあ
630デフォルトの名無しさん
2026/07/21(火) 14:42:04.63ID:dOwNZd0l >>628
草
草
631デフォルトの名無しさん
2026/07/21(火) 14:43:29.36ID:Q4NAg/vC >>626はVecと配列の使い分けとかわかってなさそう
「どうしてサイズが決まってるのにVec使うんだ!」とか怒るのかなw
「どうしてサイズが決まってるのにVec使うんだ!」とか怒るのかなw
632デフォルトの名無しさん
2026/07/21(火) 14:46:23.20ID:zAGEz4m7 wasmあるのにうんこスクリプトとかどうでもよくね
633デフォルトの名無しさん
2026/07/21(火) 14:47:38.87ID:WrqAi9Ss634デフォルトの名無しさん
2026/07/21(火) 14:48:11.17ID:tGu6saZ+ >>633
スタックとヒープの区別を free() するかどうかだけだと思ってそう
スタックとヒープの区別を free() するかどうかだけだと思ってそう
635デフォルトの名無しさん
2026/07/21(火) 14:48:44.88ID:N6cPltdK えっ、違うんですか!?
636デフォルトの名無しさん
2026/07/21(火) 14:54:33.42ID:llmZLZOr >>632
うーむ...🤔
うーむ...🤔
637デフォルトの名無しさん
2026/07/21(火) 15:01:54.68ID:WbXqAfwq Rustではスタック領域/ヒープ領域に正式な名称がないはずだから、Cの自動記憶域/割り当て記憶域って言葉を使うけど、自動記憶域は関数に入る時に関数の戻り先アドレス、引数、ローカル変数などをスタックフレームに積むプログラム自身の管理のための機能になってる
だから変数を置く領域の広さはそこまでなくて、OSによって違うけどデスクトップやモバイルなら1MiB〜8MiBくらいしかない
したがって、大きなデータは割り当て記憶域に置く必要があるので、たとえばさっきの配列とVecの例なら、大きな配列はサイズが固定されていても割り当て記憶域を確保するVecで作りましょう、という使い分けが必要になる
だから変数を置く領域の広さはそこまでなくて、OSによって違うけどデスクトップやモバイルなら1MiB〜8MiBくらいしかない
したがって、大きなデータは割り当て記憶域に置く必要があるので、たとえばさっきの配列とVecの例なら、大きな配列はサイズが固定されていても割り当て記憶域を確保するVecで作りましょう、という使い分けが必要になる
638デフォルトの名無しさん
2026/07/21(火) 15:02:14.97ID:2WiNYKUy639デフォルトの名無しさん
2026/07/21(火) 15:03:33.41ID:yMrwq5y3640デフォルトの名無しさん
2026/07/21(火) 15:04:07.09ID:2WiNYKUy641デフォルトの名無しさん
2026/07/21(火) 15:04:36.57ID:SlBA2UO5 >>637
なるほどー
なるほどー
642デフォルトの名無しさん
2026/07/21(火) 15:05:15.27ID:pv54lT0d643デフォルトの名無しさん
2026/07/21(火) 15:05:27.99ID:2WiNYKUy644デフォルトの名無しさん
2026/07/21(火) 15:05:33.13ID:/9FNoXDk 荒らしはスルー、これ基本
645デフォルトの名無しさん
2026/07/21(火) 15:06:57.63ID:2WiNYKUy 間違えたことを書いた>>637が俺を荒らし扱いかよ
646デフォルトの名無しさん
2026/07/21(火) 15:07:05.45ID:llmZLZOr そもそもチェリーピックの連鎖だから読んでない😅
647デフォルトの名無しさん
2026/07/21(火) 15:07:16.18ID:MmhJ1S97648デフォルトの名無しさん
2026/07/21(火) 15:07:57.43ID:2WiNYKUy649デフォルトの名無しさん
2026/07/21(火) 15:10:33.04ID:4b7drwod どうやったらケチつけられるかだけ考えてる荒らしもいるってだけ
相手にしなければ消える
相手にしなければ消える
650デフォルトの名無しさん
2026/07/21(火) 15:11:20.02ID:XlCg0k5h ###まとめてみると
「意識する必要がない」というのは**
「メモリリークや解放漏れ、ポインターの不正参照の心配をコンパイラが肩代わりしてくれるため、安全かつ自動で処理される」**という意味において非常に正確です。
ただし、パフォーマンスの観点からは、**「データのコピーコスト(スタック)」と「ヒープアロケーションのコスト(動的確保のオーバーヘッド)」**の違いを理解しておくことが、高速なコードを書く上で重要になる場面もあります。
「意識する必要がない」というのは**
「メモリリークや解放漏れ、ポインターの不正参照の心配をコンパイラが肩代わりしてくれるため、安全かつ自動で処理される」**という意味において非常に正確です。
ただし、パフォーマンスの観点からは、**「データのコピーコスト(スタック)」と「ヒープアロケーションのコスト(動的確保のオーバーヘッド)」**の違いを理解しておくことが、高速なコードを書く上で重要になる場面もあります。
651デフォルトの名無しさん
2026/07/21(火) 15:12:44.46ID:2WiNYKUy >>647
Rustではローカル変数(local variable)と呼ぶ
Rustではローカル変数(local variable)と呼ぶ
652デフォルトの名無しさん
2026/07/21(火) 15:13:35.13ID:kXoc5vQo >>651
ローカル変数のある領域の話をしているのでは?
ローカル変数のある領域の話をしているのでは?
653デフォルトの名無しさん
2026/07/21(火) 15:14:32.40ID:bNNm5rfo654デフォルトの名無しさん
2026/07/21(火) 15:16:03.38ID:2WiNYKUy655デフォルトの名無しさん
2026/07/21(火) 15:16:14.13ID:tubUJsTp656デフォルトの名無しさん
2026/07/21(火) 15:17:04.09ID:2WiNYKUy >>653
スタックで実装されているかどうかは機種アーキテクチャに依る
スタックで実装されているかどうかは機種アーキテクチャに依る
657デフォルトの名無しさん
2026/07/21(火) 15:17:45.78ID:tubUJsTp >>654はちゃんとした話はする気ないからやっぱりスルーでいいんだよ
荒らしは放置安定
荒らしは放置安定
658デフォルトの名無しさん
2026/07/21(火) 15:19:02.28ID:FH4yxgtk 何聞かれてるか回答見るまで理解できてなかったのか
659デフォルトの名無しさん
2026/07/21(火) 15:19:18.93ID:2WiNYKUy660デフォルトの名無しさん
2026/07/21(火) 15:20:47.40ID:FH4yxgtk もうこの荒らしについて言及するの禁止な
ID:2WiNYKUyにレスすんな
ID:2WiNYKUyにレスすんな
661デフォルトの名無しさん
2026/07/21(火) 15:22:04.19ID:J9RlHKjx >>637
Windowsが1MiB、Unix系が8MiBなんだっけ?
Windowsが1MiB、Unix系が8MiBなんだっけ?
662デフォルトの名無しさん
2026/07/21(火) 15:22:57.37ID:2WiNYKUy >>660
意味のないことを一つも書いていないおまえが荒らしだろ
意味のないことを一つも書いていないおまえが荒らしだろ
663デフォルトの名無しさん
2026/07/21(火) 15:23:24.83ID:jQxUHqaw Windowsはそうだけど、Unix系と言っても広いからなあ
まあ、デスクトップとモバイルだけならmacOSとLinuxだけ考えればいいんだろうけど
macOSとLinuxだけなら8MiBであってたはず
まあ、デスクトップとモバイルだけならmacOSとLinuxだけ考えればいいんだろうけど
macOSとLinuxだけなら8MiBであってたはず
664デフォルトの名無しさん
2026/07/21(火) 15:25:12.62ID:t00ocqsc Linuxでも組み込みだと違いそうだよな
665デフォルトの名無しさん
2026/07/21(火) 15:27:20.73ID:40SuJKkv > スタック領域を指しているかヒープ領域を指しているか区別して扱わなくても安全
そんなことはみんなわかってる
> 取り扱う参照がスタック領域を指しているかヒープ領域を指しているか区別することなく全く同様に扱える
それは全く別の話だぞおい
ってだけなんだよな
そんなことはみんなわかってる
> 取り扱う参照がスタック領域を指しているかヒープ領域を指しているか区別することなく全く同様に扱える
それは全く別の話だぞおい
ってだけなんだよな
666デフォルトの名無しさん
2026/07/21(火) 15:30:15.43ID:DT06qJlN >>665
厳密に言えば区別せずにスタックに大きな構造体なり配列なりを置きまくってたらスタックオーバーフローすることはあるから、メモリ安全なだけで他の安全は保障されてないんだけどな
厳密に言えば区別せずにスタックに大きな構造体なり配列なりを置きまくってたらスタックオーバーフローすることはあるから、メモリ安全なだけで他の安全は保障されてないんだけどな
667デフォルトの名無しさん
2026/07/21(火) 15:35:58.30ID:2WiNYKUy >>661
基本はそうだけど
特にRustの場合はメインスレッドと新規スレッドで異なる点が重要
メインスレッドはOSレベルで指定でLinuxなら8MBがデフォルトだがulimit -sで自由に変更できる
新規スレッドはRustの中で指定でデフォルトは2MBだがスレッドのビルダーで自由に指定できる
だからRustではサイズの大きなものをスタック上に置ける
基本はそうだけど
特にRustの場合はメインスレッドと新規スレッドで異なる点が重要
メインスレッドはOSレベルで指定でLinuxなら8MBがデフォルトだがulimit -sで自由に変更できる
新規スレッドはRustの中で指定でデフォルトは2MBだがスレッドのビルダーで自由に指定できる
だからRustではサイズの大きなものをスタック上に置ける
668デフォルトの名無しさん
2026/07/21(火) 15:46:56.23ID:I5lpyWej >>667
まあ大きくしすぎてもでメリットがあるからあんまやらないし、新規スレッドだけの話だからどこでも自由なわけでもないし、使い分けを意識してない奴ができることでもないんだけどな
まあ大きくしすぎてもでメリットがあるからあんまやらないし、新規スレッドだけの話だからどこでも自由なわけでもないし、使い分けを意識してない奴ができることでもないんだけどな
669デフォルトの名無しさん
2026/07/21(火) 15:47:46.31ID:XIv+O+su そいつは放置しろって言ってるだろ
670デフォルトの名無しさん
2026/07/21(火) 15:54:29.22ID:2WiNYKUy >>668
スタック領域を大きくして使うことは
ヒープを使うことと比べて不利にならない
新規スレッドだけの話ではなくメインスレッドもスタックを大きくして使われている
ulimit -sで誰でも変更可能でその後に起動すればメインスレッドのスタックを大きく使えるため
スタック領域を大きくして使うことは
ヒープを使うことと比べて不利にならない
新規スレッドだけの話ではなくメインスレッドもスタックを大きくして使われている
ulimit -sで誰でも変更可能でその後に起動すればメインスレッドのスタックを大きく使えるため
671デフォルトの名無しさん
2026/07/21(火) 16:03:56.55ID:8y3GD3Tf >>670
スタック領域に大きなデータを置くと関数の壁を跨ぐ度にディープコピーになる
これは当然動作速度に悪影響を与える
ヒープ領域なら .clone() しない限りムーブになるので、シャローコピーして所有権を渡すだけなのでこの悪影響を回避できる
スタック領域に大きなデータを置くと関数の壁を跨ぐ度にディープコピーになる
これは当然動作速度に悪影響を与える
ヒープ領域なら .clone() しない限りムーブになるので、シャローコピーして所有権を渡すだけなのでこの悪影響を回避できる
672デフォルトの名無しさん
2026/07/21(火) 16:04:57.47ID:xd5iI70P >>670
ulimitが必要な時点でデメリットあるやんけ
ulimitが必要な時点でデメリットあるやんけ
673デフォルトの名無しさん
2026/07/21(火) 16:05:38.98ID:2WiNYKUy >>671
Rust初心者でもそんな間違いしないぞ
Rust初心者でもそんな間違いしないぞ
674デフォルトの名無しさん
2026/07/21(火) 16:06:00.04ID:AeCBf1sw >>671
そっか、moveが標準だからヒープをわざわざコピーするわけないのか
そっか、moveが標準だからヒープをわざわざコピーするわけないのか
675デフォルトの名無しさん
2026/07/21(火) 16:06:45.90ID:AeCBf1sw また何が間違いなのかも言わずに間違いだと主張する荒らし仕草が出たな
676デフォルトの名無しさん
2026/07/21(火) 16:09:01.68ID:HmEIVqbd677デフォルトの名無しさん
2026/07/21(火) 16:10:12.70ID:O12s/9BG 可変借用は元のところに返すわけじゃないならデメリットが大きいからなあ
わざわざ大きなデータを置いて寿命を気にして可変借用を引き回すより、ヒープに置いてムーブした方が素直な実装になって楽なんだよな
わざわざ大きなデータを置いて寿命を気にして可変借用を引き回すより、ヒープに置いてムーブした方が素直な実装になって楽なんだよな
678デフォルトの名無しさん
2026/07/21(火) 16:10:44.00ID:TYtR9CLl >>676
アンカー間違ってますよ
アンカー間違ってますよ
679デフォルトの名無しさん
2026/07/21(火) 16:11:10.33ID:S3O97n0J680デフォルトの名無しさん
2026/07/21(火) 16:12:22.16ID:q4wR5dpo 自閉症はC#みたいなのを好む
馬鹿だから😂
馬鹿だから😂
681デフォルトの名無しさん
2026/07/21(火) 16:13:11.43ID:fB1yulXn 大きなデータをスタックに置くと他所で書き換える用途が1つあるだけで可変借用が面倒なことになるよな
ムーブできないのはめんどくさい
ムーブできないのはめんどくさい
682デフォルトの名無しさん
2026/07/21(火) 16:13:12.93ID:FfUaKNHi683デフォルトの名無しさん
2026/07/21(火) 16:13:49.10ID:fB1yulXn 何も考えず上げるアホのせいで荒らしが増えたな
684デフォルトの名無しさん
2026/07/21(火) 16:15:20.14ID:ahw91GYg 荒らしが仲間読んで増えちゃってるじゃん
だから話しかけんなって言ってんのに
だから話しかけんなって言ってんのに
685デフォルトの名無しさん
2026/07/21(火) 16:15:27.18ID:2WiNYKUy686sage
2026/07/21(火) 16:18:58.43ID:Hil5y1j1 ageで荒らしが来るって5chをPCで操作してるのかな?いろいろ時代遅れ極まりない
【専ブラ】5ちゃんねるブラウザ「ChMate」part269
https://egg.5ch.io/test/read.cgi/android/1784035194/
【専ブラ】5ちゃんねるブラウザ「ChMate」part269
https://egg.5ch.io/test/read.cgi/android/1784035194/
687デフォルトの名無しさん
2026/07/21(火) 16:19:37.34ID:hTZmyRpd688デフォルトの名無しさん
2026/07/21(火) 16:20:05.98ID:hTZmyRpd ほら荒らしが来た
689デフォルトの名無しさん
2026/07/21(火) 16:23:46.80ID:2WiNYKUy690デフォルトの名無しさん
2026/07/21(火) 16:24:18.10ID:jitdnUFF >>689
moveの意味知らなそう
moveの意味知らなそう
691デフォルトの名無しさん
2026/07/21(火) 16:26:07.39ID:ahw91GYg ムーブとコピーの区別がついてるかも怪しい
こいつ言ってることがいちいちRust知識皆無なんだよな
こいつ言ってることがいちいちRust知識皆無なんだよな
692デフォルトの名無しさん
2026/07/21(火) 16:31:09.85ID:yw9QsJ6s mut self なんか日常的に取るだろ
ムーブしない設計に固執するのはバカ
ムーブしない設計に固執するのはバカ
693デフォルトの名無しさん
2026/07/21(火) 16:36:21.16ID:tqPKLH4t694デフォルトの名無しさん
2026/07/21(火) 16:36:36.50ID:hFTJcci7 荒らしは放置
695デフォルトの名無しさん
2026/07/21(火) 16:40:15.47ID:DT9zLzL2 ビルダーパターンもイテレータアダプタもムーブなんだが、知らないのかな?
696デフォルトの名無しさん
2026/07/21(火) 16:50:13.47ID:2WiNYKUy697デフォルトの名無しさん
2026/07/21(火) 16:58:30.31ID:aLius24S698デフォルトの名無しさん
2026/07/21(火) 17:00:42.33ID:cV1W7TCj スタック領域でもムーブを書けることと、ディープコピーがないことは別なんだよな
引数ならまだしも、戻り値にする場合その関数のスタックは破棄されるのでディープコピーは発生する
引数ならまだしも、戻り値にする場合その関数のスタックは破棄されるのでディープコピーは発生する
699デフォルトの名無しさん
2026/07/21(火) 17:01:51.78ID:2WiNYKUy700デフォルトの名無しさん
2026/07/21(火) 17:02:45.16ID:OLRGAddi どうせこいつまともな知識ないくせにイキってるだけだから何言っても無駄だぞ
荒らしはスルーが安定
荒らしはスルーが安定
701デフォルトの名無しさん
2026/07/21(火) 17:03:54.13ID:OLRGAddi702デフォルトの名無しさん
2026/07/21(火) 17:04:33.67ID:AUT4IY/C まあこの程度の話がわからない奴なんだから相手しても無駄
703デフォルトの名無しさん
2026/07/21(火) 17:04:56.19ID:HO4SZ0K4 >>701
お前が反応してどうする
お前が反応してどうする
704デフォルトの名無しさん
2026/07/21(火) 17:07:21.81ID:aA5nG03I ID:2WiNYKUyはID:GVCMKu1f
大した知識もないくせにチェリーピックと無茶苦茶な主張で何百書き込みも荒らしたやつだから相手しちゃダメ
大した知識もないくせにチェリーピックと無茶苦茶な主張で何百書き込みも荒らしたやつだから相手しちゃダメ
705デフォルトの名無しさん
2026/07/21(火) 17:10:25.68ID:QMF0m492 荒らしなんかやるレベルのバカにはRustは難しいんだよ
706デフォルトの名無しさん
2026/07/21(火) 17:12:38.20ID:Dk5sqQuX 結局>>671が結論でそこから先荒らしが喚いてただけ
707デフォルトの名無しさん
2026/07/21(火) 17:19:23.86ID:n2iwmqGn >>698
スタックじゃない実装の場合は変わるのかね
スタックじゃない実装の場合は変わるのかね
708デフォルトの名無しさん
2026/07/21(火) 17:32:08.98ID:2WiNYKUy >>701
その「小さいから支障がない」を主張したことがない
そのビルダーやイテレータのパターンならスタック上に大きなデータでも問題ない
「ヒープを使わなければいけない例になっていない」と主張している
早くヒープを使わなければいけない例を示してくれ
その「小さいから支障がない」を主張したことがない
そのビルダーやイテレータのパターンならスタック上に大きなデータでも問題ない
「ヒープを使わなければいけない例になっていない」と主張している
早くヒープを使わなければいけない例を示してくれ
709デフォルトの名無しさん
2026/07/21(火) 18:30:11.05ID:2WiNYKUy710デフォルトの名無しさん
2026/07/21(火) 18:42:19.18ID:HHuPuFDF711デフォルトの名無しさん
2026/07/21(火) 19:22:01.43ID:2WiNYKUy712デフォルトの名無しさん
2026/07/21(火) 19:38:35.29ID:28j0dMrv713デフォルトの名無しさん
2026/07/21(火) 19:38:44.43ID:28j0dMrv714デフォルトの名無しさん
2026/07/21(火) 19:47:57.74ID:y21dV+Vh こう訊いたら
> is RVO always applied in Rust?
こう即答されて、その後、RVOになる可能性の低い場合を挙げてくれる
> No, Return Value Optimization (RVO) is not guaranteed by the Rust
> language specification.
> is RVO always applied in Rust?
こう即答されて、その後、RVOになる可能性の低い場合を挙げてくれる
> No, Return Value Optimization (RVO) is not guaranteed by the Rust
> language specification.
715デフォルトの名無しさん
2026/07/21(火) 21:50:22.11ID:zMkCdy3E 初出のIDが「どう見ても自演なのはそっち」とは面白い冗談ですね
716デフォルトの名無しさん
2026/07/21(火) 21:54:04.61ID:BzW/oQJ/ >>715
何言ってんだこいつ
何言ってんだこいつ
717デフォルトの名無しさん
2026/07/21(火) 21:54:44.07ID:PsDVu0+l >>714
最適化はコンパイラの実装の問題でしかないからねえ
最適化はコンパイラの実装の問題でしかないからねえ
718デフォルトの名無しさん
2026/07/21(火) 22:18:44.95ID:2WiNYKUy719デフォルトの名無しさん
2026/07/21(火) 22:19:07.57ID:DbCuiygU ID:2WiNYKUy(ID:GVCMKu1f)ってずっと「ほんの少しのケースにだけ当てはまること」を「全部必ずこうなる!」って主張して、「これならないんですけど」と言われたら条件を増やし始めるという論法ばっかりだよな
720デフォルトの名無しさん
2026/07/21(火) 22:20:42.35ID:Y2iieiR6 >>718
自分の主張を否定してるから突っ込みどころ満載なんだ!と言いたいわけですな
自分の主張を否定してるから突っ込みどころ満載なんだ!と言いたいわけですな
721デフォルトの名無しさん
2026/07/21(火) 22:23:20.52ID:2WiNYKUy722デフォルトの名無しさん
2026/07/21(火) 22:31:09.33ID:ElegamEg >>721
「The Bookではスタック上のコピーをCopyトレイトでしか語らない」ということと「スタック領域について言及していますからディープコピーではありません」というのとは結び付いてないんだよな
論理が2段階くらい飛躍してる
「The Bookではスタック上のコピーをCopyトレイトでしか語らない」ということと「スタック領域について言及していますからディープコピーではありません」というのとは結び付いてないんだよな
論理が2段階くらい飛躍してる
723デフォルトの名無しさん
2026/07/21(火) 22:33:33.85ID:JUKJhZF2 それに、実体をコピーすることをディープコピーと言うのはプログラミングにおいて一般的な用法なので、これを間違いだと断言するのは法律家に「変数に人格はないから所有権は認められない」って言わせるのに近くてあまり意味がない
724デフォルトの名無しさん
2026/07/21(火) 22:35:27.54ID:YS4VSVPg https://mevius.5ch.io/test/read.cgi/tech/1652347700/52
ディープコピーこれか
今はこれくらい吹っ切れたこと言わないで言葉濁してばっかりでつまらんわ
ディープコピーこれか
今はこれくらい吹っ切れたこと言わないで言葉濁してばっかりでつまらんわ
725デフォルトの名無しさん
2026/07/21(火) 22:36:11.69ID:9K5Ee26J 要するに「今そんな話してない」って話よな
アスペはすぐ「こうも解釈できるから違う」って言いたがるけど、人と話してるんだからこういう複数定義が見つかるものであれば、まず何を伝えようとしてるかから類推する必要がある
アスペはすぐ「こうも解釈できるから違う」って言いたがるけど、人と話してるんだからこういう複数定義が見つかるものであれば、まず何を伝えようとしてるかから類推する必要がある
726デフォルトの名無しさん
2026/07/21(火) 22:37:02.36ID:9K5Ee26J >>723
そのアスペ法律家ちょっとおもろい
そのアスペ法律家ちょっとおもろい
727デフォルトの名無しさん
2026/07/21(火) 22:44:14.93ID:2WiNYKUy >>722
the bookで明記していますよ
スタック領域のムーブは2つのうちのどちらかで強いて言えばシャローコピー
If you’ve heard the terms shallow copy and deep copy while working with other languages, the concept of copying the pointer, length, and capacity without copying the data probably sounds like making a shallow copy. But because Rust also invalidates the first variable, instead of being called a shallow copy, it’s known as a move.
通常は二つの対比が必要ないならばCopyトレイトに明記されてるようにビットコピーと呼ぶのが良いでしょう
the bookで明記していますよ
スタック領域のムーブは2つのうちのどちらかで強いて言えばシャローコピー
If you’ve heard the terms shallow copy and deep copy while working with other languages, the concept of copying the pointer, length, and capacity without copying the data probably sounds like making a shallow copy. But because Rust also invalidates the first variable, instead of being called a shallow copy, it’s known as a move.
通常は二つの対比が必要ないならばCopyトレイトに明記されてるようにビットコピーと呼ぶのが良いでしょう
728デフォルトの名無しさん
2026/07/21(火) 22:47:38.39ID:2WiNYKUy これがRust界での常識です
学習してください
ではおやすみなさい
学習してください
ではおやすみなさい
729デフォルトの名無しさん
2026/07/21(火) 22:50:37.62ID:pIdf2Ljv >>723
>それに、実体をコピーすることをディープコピーと言うのはプログラミングにおいて一般的な用法なので
全く一般的ではありません。完全にあなたの勘違いです。
早めにそれも匿名掲示板で恥をかいてよかったですね。
>それに、実体をコピーすることをディープコピーと言うのはプログラミングにおいて一般的な用法なので
全く一般的ではありません。完全にあなたの勘違いです。
早めにそれも匿名掲示板で恥をかいてよかったですね。
730デフォルトの名無しさん
2026/07/21(火) 22:53:57.77ID:eFLxnQVM >>727-729
どう見ても自演
どう見ても自演
731デフォルトの名無しさん
2026/07/21(火) 22:57:05.01ID:3DpZBFH1 >>727
自分で貼った文章を読んでいないみたいだが全く違う意味の話をしてるぞ
雑に要約すると「一般的な言語で言うシャロ―コピーをムーブと呼んでいます」と言っているのであって、スタック領域に確保したオブジェクトをコピー/ムーブすることをどう表現するかには言及していない
いつもそうですが、あなたは自分が言いたいことを言うのに都合のいい記述を探しているだけで、ちゃんと文章を読んでいないからそういう間違いをするんです
自分で貼った文章を読んでいないみたいだが全く違う意味の話をしてるぞ
雑に要約すると「一般的な言語で言うシャロ―コピーをムーブと呼んでいます」と言っているのであって、スタック領域に確保したオブジェクトをコピー/ムーブすることをどう表現するかには言及していない
いつもそうですが、あなたは自分が言いたいことを言うのに都合のいい記述を探しているだけで、ちゃんと文章を読んでいないからそういう間違いをするんです
732デフォルトの名無しさん
2026/07/21(火) 22:58:34.14ID:5eyHU167733デフォルトの名無しさん
2026/07/21(火) 23:01:52.27ID:B+Y3bEuK >>729
ディープコピー(深いコピー)とは - IT用語辞典 e-Words
https://e-words.jp/w/%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%82%B3%E3%83%94%E3%83%BC.html
> ディープコピーとは、配列やオブジェクトなどのデータ構造を複製する際、同じ構造の実体を新たに作成して対応するデータを写し取る方式。
これは全く一般的ではなかったのかー
お前の記憶の方がこっちより正しかったんだなw
ディープコピー(深いコピー)とは - IT用語辞典 e-Words
https://e-words.jp/w/%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%82%B3%E3%83%94%E3%83%BC.html
> ディープコピーとは、配列やオブジェクトなどのデータ構造を複製する際、同じ構造の実体を新たに作成して対応するデータを写し取る方式。
これは全く一般的ではなかったのかー
お前の記憶の方がこっちより正しかったんだなw
734デフォルトの名無しさん
2026/07/21(火) 23:03:22.98ID:sxvJfiz9 Deep copy (ディープコピー) - 用語集 | MDN
https://developer.mozilla.org/ja/docs/Glossary/Deep_copy
> オブジェクトの ディープコピー とは、コピー先のオブジェクトのプロパティがコピー元のオブジェクトのプロパティと同一の参照(同じ値を指す)で共有しないコピー方法のことです。結果として、コピー元かコピー先のどちらかを変更しても、もう一方オブジェクトにも変更を及ぼしていないことを保証できます。すなわち、コピー元かコピー先に意図せずに予期しない変更が加えられるこはありません。この振る舞いはシャローコピーとは対照的です。シャローコピーでは、コピー元かコピー先のどちらかを変更するともう一方のオブジェクトも変更される可能性があります。
これも一般的ではなかったんだなあw
https://developer.mozilla.org/ja/docs/Glossary/Deep_copy
> オブジェクトの ディープコピー とは、コピー先のオブジェクトのプロパティがコピー元のオブジェクトのプロパティと同一の参照(同じ値を指す)で共有しないコピー方法のことです。結果として、コピー元かコピー先のどちらかを変更しても、もう一方オブジェクトにも変更を及ぼしていないことを保証できます。すなわち、コピー元かコピー先に意図せずに予期しない変更が加えられるこはありません。この振る舞いはシャローコピーとは対照的です。シャローコピーでは、コピー元かコピー先のどちらかを変更するともう一方のオブジェクトも変更される可能性があります。
これも一般的ではなかったんだなあw
735デフォルトの名無しさん
2026/07/21(火) 23:05:44.19ID:6e3KrnZd >>729
アホほど浅い知識ですぐに断言して他人を煽りたがるよな
アホほど浅い知識ですぐに断言して他人を煽りたがるよな
736デフォルトの名無しさん
2026/07/21(火) 23:08:27.17ID:fQZ8gbX2737デフォルトの名無しさん
2026/07/21(火) 23:11:23.23ID:YS4VSVPg この複製おじさんのID変えない版みたいなやつこの前の週末からか?
面白くなってきた
面白くなってきた
738デフォルトの名無しさん
2026/07/21(火) 23:11:55.24ID:enjQvq/8 > スタック領域のムーブは2つのうちのどちらかで強いて言えばシャローコピー
流石に無理がある
> copying the pointer, length, and capacity without copying the data probably sounds like making a shallow copy
日本語訳: データをコピーせずにポインタ、長さ、容量をコピーすることは、おそらく浅いコピーを行うことのように聞こえるでしょう
"without copying the data" 「データをコピーせずに」と断言されている
スタックの仕組みを知っていれば戻り値では論理的にコピーが生じる(実装での最適化の話はしていないことに注意)ので、ここで言われているのはヒープ領域のムーブの話に過ぎない
流石に無理がある
> copying the pointer, length, and capacity without copying the data probably sounds like making a shallow copy
日本語訳: データをコピーせずにポインタ、長さ、容量をコピーすることは、おそらく浅いコピーを行うことのように聞こえるでしょう
"without copying the data" 「データをコピーせずに」と断言されている
スタックの仕組みを知っていれば戻り値では論理的にコピーが生じる(実装での最適化の話はしていないことに注意)ので、ここで言われているのはヒープ領域のムーブの話に過ぎない
739デフォルトの名無しさん
2026/07/21(火) 23:13:44.57ID:ADBZCODt > これがRust界での常識です
> 学習してください
w
> 学習してください
w
740デフォルトの名無しさん
2026/07/21(火) 23:17:24.46ID:i+g+TbZ6 > 関数の引数でムーブで渡して返り値でムーブして戻すなんて爆笑行為だろ
そもそもこんなこと言ってたくらいにはRust知識ないからね
一生懸命The Book読んで反論材料探してるだけで、何の知識も持ってないよこいつ
そもそもこんなこと言ってたくらいにはRust知識ないからね
一生懸命The Book読んで反論材料探してるだけで、何の知識も持ってないよこいつ
741デフォルトの名無しさん
2026/07/21(火) 23:18:33.64ID:prLGQ+o1 英語読めないなら日本語翻訳版のThe Book開けばいいのに……w
英語の成績悪かった俺でもおかしなこと言ってるなって気づく程度には読めてないぞ
英語の成績悪かった俺でもおかしなこと言ってるなって気づく程度には読めてないぞ
742デフォルトの名無しさん
2026/07/21(火) 23:23:57.63ID:2WiNYKUy743デフォルトの名無しさん
2026/07/21(火) 23:25:05.17ID:2WiNYKUy744デフォルトの名無しさん
2026/07/21(火) 23:26:36.15ID:2WiNYKUy745デフォルトの名無しさん
2026/07/21(火) 23:28:03.12ID:XdrfV7kF746デフォルトの名無しさん
2026/07/21(火) 23:28:53.51ID:XdrfV7kF747デフォルトの名無しさん
2026/07/21(火) 23:30:12.16ID:7bDfgG31 >>744また都合のいい幻視が始まってるぞ
748デフォルトの名無しさん
2026/07/21(火) 23:32:01.86ID:mion99Qn >>744
唐突に二段階とか言い出して話をややこしくしてるが、結局お前が言ってるようなことはどこにも書いてないな
唐突に二段階とか言い出して話をややこしくしてるが、結局お前が言ってるようなことはどこにも書いてないな
749デフォルトの名無しさん
2026/07/21(火) 23:32:05.13ID:poCaFg3z ヒープかスタックか、みたいな話で終われないんじゃないの?
(一人を除いて(?)みんなが思ってるディープコピーは同じのような気もするけど)
ディープコピーは文字通り深く、根元まで全部コピーしてくれる
a = [[1, 2], 3]
b = a.clone # shallow copy
c = Marshal.load(Marshal.dump(a)) # deep copy
a[0][0] = 11
a[1] = 33
p a # [[11, 2], 33]
p b # [[11, 2], 3]
p c # [[1, 2], 3]
b[1]は3のままだけど、b[0][0]は11になっちゃってるのがシャロ―コピー
全てを複製しきってるのがディープコピー
Rustでも同じようなことにならない?
Rustにディープコピーあるのかどうか知らんけど
(一人を除いて(?)みんなが思ってるディープコピーは同じのような気もするけど)
ディープコピーは文字通り深く、根元まで全部コピーしてくれる
a = [[1, 2], 3]
b = a.clone # shallow copy
c = Marshal.load(Marshal.dump(a)) # deep copy
a[0][0] = 11
a[1] = 33
p a # [[11, 2], 33]
p b # [[11, 2], 3]
p c # [[1, 2], 3]
b[1]は3のままだけど、b[0][0]は11になっちゃってるのがシャロ―コピー
全てを複製しきってるのがディープコピー
Rustでも同じようなことにならない?
Rustにディープコピーあるのかどうか知らんけど
750デフォルトの名無しさん
2026/07/21(火) 23:32:58.06ID:iK9zpUBS こいつスタック領域とプリミティブ型の区別ついてないんじゃね
配列とか構造体とかちゃんと触ったことないんだろ
配列とか構造体とかちゃんと触ったことないんだろ
751デフォルトの名無しさん
2026/07/21(火) 23:34:37.27ID:pIdf2Ljv >>733の定義は「新たに作成する同じ構造の実体」がコピー対象の配列やオブジェクト自体のように読める文章になっちゃってるから間違ってると言っていいね
>>734のMDNのは間違ってないけど君の言ってる内容とは全然違うよね
wikitionaryの定義がわかりやすい
A copy of a data structure duplicating not only the structure itself, but all structures to which it is linked.
例えば[Vec<i32>; 5]という配列をディープコピーするというのは
Vecというfat pointerを5個含む配列というデータ構造をコピーするだけでなく
そのfat pointerらが指し示す先のデータ構造であるi32たちもすべて含めてコピーすること
>>734のMDNのは間違ってないけど君の言ってる内容とは全然違うよね
wikitionaryの定義がわかりやすい
A copy of a data structure duplicating not only the structure itself, but all structures to which it is linked.
例えば[Vec<i32>; 5]という配列をディープコピーするというのは
Vecというfat pointerを5個含む配列というデータ構造をコピーするだけでなく
そのfat pointerらが指し示す先のデータ構造であるi32たちもすべて含めてコピーすること
752デフォルトの名無しさん
2026/07/21(火) 23:34:59.05ID:COhktLyH753デフォルトの名無しさん
2026/07/21(火) 23:36:08.82ID:2WiNYKUy754デフォルトの名無しさん
2026/07/21(火) 23:36:34.25ID:69RgfUCQ >>751
> 「新たに作成する同じ構造の実体」がコピー対象の配列やオブジェクト自体のように読める文章になっちゃってるから間違ってると言っていい
いや、「新たに作成する同じ構造の実体」が元の実体と同じって「新たに作成する」って部分を完全に無視してるよね
あんたが日本語出来ないだけだよ
> 「新たに作成する同じ構造の実体」がコピー対象の配列やオブジェクト自体のように読める文章になっちゃってるから間違ってると言っていい
いや、「新たに作成する同じ構造の実体」が元の実体と同じって「新たに作成する」って部分を完全に無視してるよね
あんたが日本語出来ないだけだよ
755デフォルトの名無しさん
2026/07/21(火) 23:37:20.17ID:Zg2X1Ixv756デフォルトの名無しさん
2026/07/21(火) 23:38:27.87ID:H27nQAne >>753
その「間違ってるから間違ってるんだ!俺の言うことは正しい!こいつの言うことは間違ってる!こんなのは信頼できない!」って論法聞き飽きたからやるなら他のやってくれ
それしか出来ないなら出て行って、どうぞ
その「間違ってるから間違ってるんだ!俺の言うことは正しい!こいつの言うことは間違ってる!こんなのは信頼できない!」って論法聞き飽きたからやるなら他のやってくれ
それしか出来ないなら出て行って、どうぞ
757デフォルトの名無しさん
2026/07/21(火) 23:39:36.73ID:an7CxeVk おじは全体的に過疎ってる5chの中でも過疎ってるマ板の
さらにニッチなRustのスレで、さらにおじの面白くもない話題に律儀に付き合ってる人間が
おじが来るたびに毎度毎度何十人と湧いてくる状況が、いかに他人からおかしく見えるか客観視したほうがいい
もはやAIでも状況から推測ができるんだし
さらにニッチなRustのスレで、さらにおじの面白くもない話題に律儀に付き合ってる人間が
おじが来るたびに毎度毎度何十人と湧いてくる状況が、いかに他人からおかしく見えるか客観視したほうがいい
もはやAIでも状況から推測ができるんだし
758デフォルトの名無しさん
2026/07/21(火) 23:39:41.62ID:2WiNYKUy >>750
The Bookを読みなさい
スタック領域に置かれたVec構造体をムーブによりビットコピーすることはディープコピーではありません
clone()によってヒープ領域までコピーする時のみディープコピーとRustでは呼んでいます
The Bookを読みなさい
スタック領域に置かれたVec構造体をムーブによりビットコピーすることはディープコピーではありません
clone()によってヒープ領域までコピーする時のみディープコピーとRustでは呼んでいます
759デフォルトの名無しさん
2026/07/21(火) 23:40:22.59ID:2Xpxs7rc >>749
> 一人を除いて(?)みんなが思ってるディープコピーは同じのような気もするけど
> ディープコピーは文字通り深く、根元まで全部コピーしてくれる
そっすね
なぜか若干一名自分の貼った文章すら読めない奴が違うって言ってるけど
> 一人を除いて(?)みんなが思ってるディープコピーは同じのような気もするけど
> ディープコピーは文字通り深く、根元まで全部コピーしてくれる
そっすね
なぜか若干一名自分の貼った文章すら読めない奴が違うって言ってるけど
760デフォルトの名無しさん
2026/07/21(火) 23:41:02.85ID:WzqHMHOy761デフォルトの名無しさん
2026/07/21(火) 23:42:18.13ID:2WiNYKUy762デフォルトの名無しさん
2026/07/21(火) 23:43:08.42ID:zTzlaZU1 スタックに置かれる配列の話をしてるのに、Vecの管理構造体がどうとか言い出しちゃう時点で、Rust知識がまともにないってのはわかる
763デフォルトの名無しさん
2026/07/21(火) 23:43:53.44ID:zTzlaZU1 ID:2WiNYKUyは配列すらわからないということが判明しました
これでよくイキってられるよな
これでよくイキってられるよな
764デフォルトの名無しさん
2026/07/21(火) 23:44:40.86ID:DT06qJlN765デフォルトの名無しさん
2026/07/21(火) 23:45:15.06ID:2WiNYKUy766デフォルトの名無しさん
2026/07/21(火) 23:45:50.45ID:Q0snuN7U The Bookでディープコピーという言葉をどう使っているかという話と、ディープコピーという言葉が一般に何を指しているかという話の区別がつかない時点でね
767デフォルトの名無しさん
2026/07/21(火) 23:46:24.75ID:9gOpu4wN768デフォルトの名無しさん
2026/07/21(火) 23:46:33.58ID:2WiNYKUy769デフォルトの名無しさん
2026/07/21(火) 23:47:35.41ID:rMUsxY/a770デフォルトの名無しさん
2026/07/21(火) 23:47:38.85ID:2WiNYKUy771デフォルトの名無しさん
2026/07/21(火) 23:47:41.98ID:pIdf2Ljv772デフォルトの名無しさん
2026/07/21(火) 23:48:33.25ID:YeuD6aXY773デフォルトの名無しさん
2026/07/21(火) 23:49:22.24ID:YeuD6aXY774デフォルトの名無しさん
2026/07/21(火) 23:49:50.32ID:2WiNYKUy775デフォルトの名無しさん
2026/07/21(火) 23:50:37.04ID:2wZTIRF6776デフォルトの名無しさん
2026/07/21(火) 23:51:04.61ID:zxSrFRZk >>774
バカにはわからないと思うが、プリミティブ型は巨大じゃないんだぜw
バカにはわからないと思うが、プリミティブ型は巨大じゃないんだぜw
777デフォルトの名無しさん
2026/07/21(火) 23:51:37.24ID:sU29O3wY778デフォルトの名無しさん
2026/07/21(火) 23:51:49.21ID:pIdf2Ljv779デフォルトの名無しさん
2026/07/21(火) 23:52:36.08ID:auYTZTx+ >>671が結論でそこから先無知な荒らしが喚いてただけ
780デフォルトの名無しさん
2026/07/21(火) 23:52:45.54ID:2WiNYKUy >>772
配列でも構造体でも数値でもローカル変数としてスタック領域に置かれるものはすべて同じ対象です
それらの複合型まであるのですから
Rustにおいて配列の場合だけ特殊に何か変わることはありません
配列でも構造体でも数値でもローカル変数としてスタック領域に置かれるものはすべて同じ対象です
それらの複合型まであるのですから
Rustにおいて配列の場合だけ特殊に何か変わることはありません
781デフォルトの名無しさん
2026/07/21(火) 23:53:11.94ID:iTFVdb9H > >>733の定義では「実体」と「データ」は別
↑根拠なし
↑根拠なし
782デフォルトの名無しさん
2026/07/21(火) 23:53:52.50ID:e1pVD1JT783デフォルトの名無しさん
2026/07/21(火) 23:54:11.35ID:2WiNYKUy784デフォルトの名無しさん
2026/07/21(火) 23:54:42.12ID:NgcGGC/+ 文章は読めないし知識はないしバカなんだからそれこそ半年ROMってろよ
785デフォルトの名無しさん
2026/07/21(火) 23:55:39.64ID:KsT9HPFN786デフォルトの名無しさん
2026/07/21(火) 23:56:52.90ID:6AILaI3O787デフォルトの名無しさん
2026/07/21(火) 23:56:56.16ID:2WiNYKUy788デフォルトの名無しさん
2026/07/21(火) 23:57:46.86ID:2WiNYKUy789デフォルトの名無しさん
2026/07/21(火) 23:57:52.88ID:6AILaI3O 読んでないのに読んだふりをしてイキる、知らないのに知ったかぶりをする、まずは勉強してくるべきだね
790デフォルトの名無しさん
2026/07/21(火) 23:58:13.27ID:6AILaI3O791デフォルトの名無しさん
2026/07/21(火) 23:58:44.49ID:2WiNYKUy >>786
Bookにあるディープコピーの例はすべてヒープコピーです
Bookにあるディープコピーの例はすべてヒープコピーです
792デフォルトの名無しさん
2026/07/21(火) 23:59:04.75ID:1wvc5539 >>671には動作速度に悪影響を与えるって書いてるんだよな
動かないなんてどこにも書いてないし、動作速度に悪影響を与えるってことは確実に動いてる
動かないなんてどこにも書いてないし、動作速度に悪影響を与えるってことは確実に動いてる
793デフォルトの名無しさん
2026/07/21(火) 23:59:27.19ID:2WiNYKUy794デフォルトの名無しさん
2026/07/21(火) 23:59:40.21ID:1wvc5539795デフォルトの名無しさん
2026/07/21(火) 23:59:55.76ID:YS4VSVPg ヒートアップしすぎてもう飛行機飛ばしても何の意味もないやないかwww
796デフォルトの名無しさん
2026/07/22(水) 00:00:14.90ID:tGok+TtY797デフォルトの名無しさん
2026/07/22(水) 00:01:05.24ID:MCYwDp1k 今日も逃げるチャンスですね、ID:2WiNYKUyさん
798デフォルトの名無しさん
2026/07/22(水) 00:01:58.91ID:bNcZ+xby799デフォルトの名無しさん
2026/07/22(水) 00:03:54.54ID:l09dx9EB Rustにおける配列は基本スタック領域に置かれるし、Vecはヒープ領域に確保される
これは常識中の常識なんだが、あそこまでイキってる奴が知らんのかw
これは常識中の常識なんだが、あそこまでイキってる奴が知らんのかw
800デフォルトの名無しさん
2026/07/22(水) 00:04:02.26ID:Ka9c4UTc 寝るにゃん
こうひとこと言っておけば大丈夫
こうひとこと言っておけば大丈夫
801デフォルトの名無しさん
2026/07/22(水) 00:05:23.64ID:cO1obK37 自分で引用した文章も読めないのは流石に笑った
802デフォルトの名無しさん
2026/07/22(水) 00:05:42.41ID:/BWr+zSa >>798
ヒープ領域をコピーしていないのにディープコピーと書いてるから違和感ある
ヒープ領域をコピーしていないのにディープコピーと書いてるから違和感ある
803デフォルトの名無しさん
2026/07/22(水) 00:08:11.55ID:hBWpKZVl >>802
勝手に違和感持ってろ
そんな定義は一切ないし、普通に巨大なデータを引き回さないで参照を使う理由にディープコピーを避けるというのはあるってだけ
お前の知識がないことと事実がないことは異なるだけ
勝手に違和感持ってろ
そんな定義は一切ないし、普通に巨大なデータを引き回さないで参照を使う理由にディープコピーを避けるというのはあるってだけ
お前の知識がないことと事実がないことは異なるだけ
804デフォルトの名無しさん
2026/07/22(水) 00:08:37.24ID:YKpwIP/3 自分の知らないことはないと思ってるのはバカの特徴だよね
805デフォルトの名無しさん
2026/07/22(水) 00:09:22.30ID:Jx50pW2v ポインタで指してる先がコピーされるとディープコピーだよね
>>671はディープコピーとは違うよ
>>671はディープコピーとは違うよ
806デフォルトの名無しさん
2026/07/22(水) 00:14:10.47ID:0PjCe+i4807デフォルトの名無しさん
2026/07/22(水) 00:15:13.30ID:0PjCe+i4 データごと丸ごとコピーして実体を複製する行いはディープコピーです
これが一番一般的な定義です
プリミティブ型ならシャロ―コピーとディープコピーは一致します
これが一番一般的な定義です
プリミティブ型ならシャロ―コピーとディープコピーは一致します
808デフォルトの名無しさん
2026/07/22(水) 00:16:59.55ID:VYV3iZui >>671が言ってるのはスタック領域の巨大データの話なので、データごと丸ごとコピーして実体を複製する行いなのでディープコピーだし、プリミティブ型でもなければポインタを渡すことでも解決できないのでシャローコピーでもない、ヒープで .clone() を使うよりはOSのコールがない分速いだけのディープコピーです
809デフォルトの名無しさん
2026/07/22(水) 00:18:33.47ID:yr5TLezq >>806
ヒープ領域を持つ任意の型でclone()できるとそれがRustにおけるディープコピー
ヒープ領域を持つ任意の型でclone()できるとそれがRustにおけるディープコピー
810デフォルトの名無しさん
2026/07/22(水) 00:19:37.59ID:oj722HcK そもそもディープコピーはヒープだけとかどこのアホが言い出したんだろうな
Rustでは巨大なデータをスタックに置く文化がほとんどないから普段スタックでディープコピーを問題にすることはないけど、巨大なデータをスタックに置けばディープコピーは普通に問題になる
CやC++ではヒープの確保が重いのは知られてるけど、意外とスタック上の構造体のディープコピーが安易に使われてる、と定期的に話題にもなるし
Rustでは巨大なデータをスタックに置く文化がほとんどないから普段スタックでディープコピーを問題にすることはないけど、巨大なデータをスタックに置けばディープコピーは普通に問題になる
CやC++ではヒープの確保が重いのは知られてるけど、意外とスタック上の構造体のディープコピーが安易に使われてる、と定期的に話題にもなるし
811デフォルトの名無しさん
2026/07/22(水) 00:20:21.35ID:oj722HcK >>809
そんな定義はお前の頭の中にしかないけど勝手にそう思ってればw
そんな定義はお前の頭の中にしかないけど勝手にそう思ってればw
812デフォルトの名無しさん
2026/07/22(水) 00:21:21.41ID:yr5TLezq813デフォルトの名無しさん
2026/07/22(水) 00:22:43.54ID:yLaC1azO そもそもスタック領域の値を戻す時にコピーは発生し得ないと力説してた奴だからなあ
スタック上の構造体のディープコピーを安易に使う側なんだろ
スタック上の構造体のディープコピーを安易に使う側なんだろ
814デフォルトの名無しさん
2026/07/22(水) 00:23:15.66ID:4HblP/Gz >>812
そうだが……
そうだが……
815デフォルトの名無しさん
2026/07/22(水) 00:23:55.18ID:L1sn8Brj なんでこのスレの単発異様に殺気立ってるの?
816デフォルトの名無しさん
2026/07/22(水) 00:24:20.54ID:4HblP/Gz Deep copy (ディープコピー) - 用語集 | MDN
https://developer.mozilla.org/ja/docs/Glossary/Deep_copy
> プロパティがすべてプリミティブ値であるオブジェクトのコピーは、ディープコピーとシャローコピーの両方の定義に当てはまります。しかし、このようなコピーの深さについて話すのはやや無意味です。というのも、このコピーには入れ子プロパティがなく、ディープコピーについては通常、入れ子プロパティを変更するコンテキストで話すからです。
はっきり書いてますね
https://developer.mozilla.org/ja/docs/Glossary/Deep_copy
> プロパティがすべてプリミティブ値であるオブジェクトのコピーは、ディープコピーとシャローコピーの両方の定義に当てはまります。しかし、このようなコピーの深さについて話すのはやや無意味です。というのも、このコピーには入れ子プロパティがなく、ディープコピーについては通常、入れ子プロパティを変更するコンテキストで話すからです。
はっきり書いてますね
817デフォルトの名無しさん
2026/07/22(水) 00:25:03.62ID:4HblP/Gz >>815
そこの無茶苦茶な主張してる奴がもうこのスレで300以上は確実に書きこんでる荒らしだからだぞ
そこの無茶苦茶な主張してる奴がもうこのスレで300以上は確実に書きこんでる荒らしだからだぞ
818デフォルトの名無しさん
2026/07/22(水) 00:25:16.50ID:xdLXSwNC [i32; 2]がディープコピーではないのはわかるけど
[i32; 20]だとディープコピーなのかな?
サイズで変わるのはやっぱなんか変だよね
サイズが大きいとディープコピーは変
[i32; 20]だとディープコピーなのかな?
サイズで変わるのはやっぱなんか変だよね
サイズが大きいとディープコピーは変
819デフォルトの名無しさん
2026/07/22(水) 00:25:38.81ID:L1sn8Brj >>817
なんでそれで単発が殺気立つの?
なんでそれで単発が殺気立つの?
820デフォルトの名無しさん
2026/07/22(水) 00:26:17.20ID:LylUcC8d821デフォルトの名無しさん
2026/07/22(水) 00:26:54.66ID:PntR9YqK822デフォルトの名無しさん
2026/07/22(水) 00:28:20.94ID:xdLXSwNC i32とラッパー型X(i32)はどうなの
derive Copyしてもラッパー型はディープコピー??
derive Copyしてもラッパー型はディープコピー??
823デフォルトの名無しさん
2026/07/22(水) 00:28:46.52ID:PntR9YqK >>818
Deep copy (ディープコピー) - 用語集 | MDN
https://developer.mozilla.org/ja/docs/Glossary/Deep_copy
> プロパティがすべてプリミティブ値であるオブジェクトのコピーは、ディープコピーとシャローコピーの両方の定義に当てはまります。しかし、このようなコピーの深さについて話すのはやや無意味です。というのも、このコピーには入れ子プロパティがなく、ディープコピーについては通常、入れ子プロパティを変更するコンテキストで話すからです。
ここにも書いてるけど、どれだけ小さくてもデータごと丸ごとコピーして実体を複製する行いはディープコピー
ただ、それが問題になるのは大きなデータの時だけですよって話だ
Deep copy (ディープコピー) - 用語集 | MDN
https://developer.mozilla.org/ja/docs/Glossary/Deep_copy
> プロパティがすべてプリミティブ値であるオブジェクトのコピーは、ディープコピーとシャローコピーの両方の定義に当てはまります。しかし、このようなコピーの深さについて話すのはやや無意味です。というのも、このコピーには入れ子プロパティがなく、ディープコピーについては通常、入れ子プロパティを変更するコンテキストで話すからです。
ここにも書いてるけど、どれだけ小さくてもデータごと丸ごとコピーして実体を複製する行いはディープコピー
ただ、それが問題になるのは大きなデータの時だけですよって話だ
824デフォルトの名無しさん
2026/07/22(水) 00:29:33.48ID:PntR9YqK825デフォルトの名無しさん
2026/07/22(水) 00:31:06.33ID:xdLXSwNC スタックにあるi32をコピーするとディープコピーはちょっと違和感あるかな~
826デフォルトの名無しさん
2026/07/22(水) 00:31:45.29ID:PntR9YqK827sage
2026/07/22(水) 00:32:26.03ID:cmrJLzza ###まとめ
「ヒープ=ディープコピー、スタック=シャローコピー(または単なる代入)」という誤解は、「スタックにある変数はプリミティブか、ポインタサイズのものばかり」という暗黙の前提(あるいは特定の高水準言語の仕様)に囚われているからこそ生まれるものですね。メモリがスタックであろうとヒープであろうと、実体を伴う構造の複製を行えば、それは立派なディープコピーであり、コストの議論の対象になります。
「ヒープ=ディープコピー、スタック=シャローコピー(または単なる代入)」という誤解は、「スタックにある変数はプリミティブか、ポインタサイズのものばかり」という暗黙の前提(あるいは特定の高水準言語の仕様)に囚われているからこそ生まれるものですね。メモリがスタックであろうとヒープであろうと、実体を伴う構造の複製を行えば、それは立派なディープコピーであり、コストの議論の対象になります。
828デフォルトの名無しさん
2026/07/22(水) 00:32:43.32ID:xdLXSwNC ひっかけなぞなぞみたい
829デフォルトの名無しさん
2026/07/22(水) 00:32:52.81ID:L1sn8Brj #[derive(Clone, Copy)]
struct X<'a, T>(&'a T);
がスタックにあったとして、スタックにあるものをコピーすればディープコピーなんだ
へえ〜
struct X<'a, T>(&'a T);
がスタックにあったとして、スタックにあるものをコピーすればディープコピーなんだ
へえ〜
830デフォルトの名無しさん
2026/07/22(水) 00:33:02.34ID:PntR9YqK その上で大きなデータのディープコピーが問題になるのは、単純にそれを全部移し替えないといけないから遅いしメモリの無駄って話だね
RustはC/C++同様低レイヤの言語だから、一般にプログラマはそのあたりのことを考えることが多い
RustはC/C++同様低レイヤの言語だから、一般にプログラマはそのあたりのことを考えることが多い
831デフォルトの名無しさん
2026/07/22(水) 00:35:11.20ID:xdLXSwNC >>829
たしかにディープコピーとは言い難いかも
たしかにディープコピーとは言い難いかも
832デフォルトの名無しさん
2026/07/22(水) 00:35:22.70ID:d6JHHVBS スタック領域においてしまうと、戻り値でムーブする時にもこのディープコピーが発生してしまう(単純なケースであればコンパイラによる最適化で解消可能)
なぜなら、関数やスコープは開始時にスタックを積み上げて終了時にスタックを戻すからで、この中から外にムーブさせるとなるとアドレスを渡して済む問題ではなくなってしまう
これはスタックで実装されている場合に限った話だけど、基本的にはスタックで実装されているからね
なぜなら、関数やスコープは開始時にスタックを積み上げて終了時にスタックを戻すからで、この中から外にムーブさせるとなるとアドレスを渡して済む問題ではなくなってしまう
これはスタックで実装されている場合に限った話だけど、基本的にはスタックで実装されているからね
833デフォルトの名無しさん
2026/07/22(水) 00:36:20.23ID:d6JHHVBS834デフォルトの名無しさん
2026/07/22(水) 00:36:59.37ID:xdLXSwNC >>829
イメージとしてはTをコピーするとディープコピーかな
イメージとしてはTをコピーするとディープコピーかな
835デフォルトの名無しさん
2026/07/22(水) 00:37:32.30ID:d6JHHVBS >>832の続き
これに対して、ヒープ領域においておけばスタックに置かれているのはその領域の管理構造体だけなので、ムーブする時は無条件にこれだけコピーすればいい
これはシャローコピーではあるけどディープコピーではない
これに対して、ヒープ領域においておけばスタックに置かれているのはその領域の管理構造体だけなので、ムーブする時は無条件にこれだけコピーすればいい
これはシャローコピーではあるけどディープコピーではない
836デフォルトの名無しさん
2026/07/22(水) 00:38:56.38ID:d6JHHVBS なので同じ大きなデータをスタックとヒープに置いた時、ムーブで戻り値として返す場合はヒープに置く方がコピーするものが少なく、動作が高速になる
837デフォルトの名無しさん
2026/07/22(水) 00:42:33.61ID:blalnmjp838デフォルトの名無しさん
2026/07/22(水) 00:43:45.85ID:blalnmjp839デフォルトの名無しさん
2026/07/22(水) 00:48:25.38ID:iwo7j10o >>823-824, >>826-827,
>>830, >>832,
あとは>>835-836あたりに散ってしまっているからわかりにくいけど、要するに
* ディープコピーはデータ自体を含めて丸ごとコピーして実体を複製する行い
* どれだけ小さくてもスタック領域でも関係なくディープコピーになる
* ただし大きいデータの場合しか問題にはならないので、小さいデータに使うことはない
* 大きいデータの場合、借用(参照)やヒープ領域上のデータのムーブ、スタックを積み上げる時(スコープに入る時)のスタック領域上のデータのムーブは速いが、スタック領域上のデータの.clone()やスタックを戻す時のスタック領域上のデータのムーブはディープコピーになるので遅く(最適化で改善される場合アリ)、ヒープ領域上のデータの.clone()はシステムコールがあるのでそれよりはるかに遅い
こんな感じか
>>830, >>832,
あとは>>835-836あたりに散ってしまっているからわかりにくいけど、要するに
* ディープコピーはデータ自体を含めて丸ごとコピーして実体を複製する行い
* どれだけ小さくてもスタック領域でも関係なくディープコピーになる
* ただし大きいデータの場合しか問題にはならないので、小さいデータに使うことはない
* 大きいデータの場合、借用(参照)やヒープ領域上のデータのムーブ、スタックを積み上げる時(スコープに入る時)のスタック領域上のデータのムーブは速いが、スタック領域上のデータの.clone()やスタックを戻す時のスタック領域上のデータのムーブはディープコピーになるので遅く(最適化で改善される場合アリ)、ヒープ領域上のデータの.clone()はシステムコールがあるのでそれよりはるかに遅い
こんな感じか
840デフォルトの名無しさん
2026/07/22(水) 00:48:38.10ID:blalnmjp つまり、実体をヒープ領域に置いたほうが優れている、は間違いというか錯覚
841デフォルトの名無しさん
2026/07/22(水) 00:49:52.70ID:MXbcRWOz842デフォルトの名無しさん
2026/07/22(水) 00:50:38.19ID:OQXWNcQK843デフォルトの名無しさん
2026/07/22(水) 00:51:42.02ID:bjO+R+mh844デフォルトの名無しさん
2026/07/22(水) 00:52:32.07ID:blalnmjp845デフォルトの名無しさん
2026/07/22(水) 00:55:39.54ID:bjO+R+mh スタックはデータを後入れ先出しで保持するデータ構造で、スタック領域では通常これをスコープ(関数を含む)に入る時にプッシュし、スコープを抜ける時にポップする
つまりスコープに入る時にそのスタック領域で必要なメモリを確保して、スコープを抜ける時にそれをそのまま巻き戻すことで解放を行っている
なので、内側のスコープで生成したデータを外側のスコープに与える時にはコピーしなくてはならなくなる
つまりスコープに入る時にそのスタック領域で必要なメモリを確保して、スコープを抜ける時にそれをそのまま巻き戻すことで解放を行っている
なので、内側のスコープで生成したデータを外側のスコープに与える時にはコピーしなくてはならなくなる
846デフォルトの名無しさん
2026/07/22(水) 00:58:01.43ID:blalnmjp >>845
そこは静的に判っているからReturn Value Optimizationできそう
そこは静的に判っているからReturn Value Optimizationできそう
847デフォルトの名無しさん
2026/07/22(水) 00:59:07.03ID:DeO+WrPt >>844
まあ単純に戻す場合は最適化できるだろうけど、複雑なデータのやり取りがある場合は必ずしも既存のパターンだけで最適化できないことはある
最初からヒープ領域にデータを置いて管理構造体だけを移すムーブにすると、確実にシャロ―コピーとなることが保障されるので最適化頼みの賭けにならずに済む
まあ単純に戻す場合は最適化できるだろうけど、複雑なデータのやり取りがある場合は必ずしも既存のパターンだけで最適化できないことはある
最初からヒープ領域にデータを置いて管理構造体だけを移すムーブにすると、確実にシャロ―コピーとなることが保障されるので最適化頼みの賭けにならずに済む
848デフォルトの名無しさん
2026/07/22(水) 01:06:02.68ID:L1sn8Brj スタック巻き戻しってそういうことじゃないです
849デフォルトの名無しさん
2026/07/22(水) 01:08:33.80ID:iL1PKXjH また根拠のない否定か
もうみんな飽きてるよそれ
もうみんな飽きてるよそれ
850デフォルトの名無しさん
2026/07/22(水) 01:10:07.59ID:blalnmjp >>847
そこの最適化はRustなら大丈夫だと思う
戻値が16バイトまでならレジスタ2つで返すけど
それを超えると関数呼び出し元のスタックフレームに戻値の領域を確保してそのアドレスをレジスタリストの第一引数として渡すABIになってる
呼ばれた下の関数はその渡されたアドレスに戻値を書き込むRust ABI
そこの最適化はRustなら大丈夫だと思う
戻値が16バイトまでならレジスタ2つで返すけど
それを超えると関数呼び出し元のスタックフレームに戻値の領域を確保してそのアドレスをレジスタリストの第一引数として渡すABIになってる
呼ばれた下の関数はその渡されたアドレスに戻値を書き込むRust ABI
851デフォルトの名無しさん
2026/07/22(水) 01:15:29.52ID:o2cM4ZXa 必ずそうなるってわけではないからねえ
それだと不都合なこともあり得るし、アーキテクチャによっても最終的には変わってくるだろう
それだと不都合なこともあり得るし、アーキテクチャによっても最終的には変わってくるだろう
852デフォルトの名無しさん
2026/07/22(水) 01:19:39.84ID:blalnmjp853デフォルトの名無しさん
2026/07/22(水) 01:24:30.85ID:oB+DESr1 >>852
ライブラリは無駄があっても互換性優先だけど、全関数がそうかは別の問題
ライブラリは無駄があっても互換性優先だけど、全関数がそうかは別の問題
854デフォルトの名無しさん
2026/07/22(水) 01:27:55.98ID:blalnmjp >>853
動的リンクライブラリ以外の関数は静的にリンクだからもっと安心だと思うよ
動的リンクライブラリ以外の関数は静的にリンクだからもっと安心だと思うよ
855デフォルトの名無しさん
2026/07/22(水) 01:38:42.52ID:hheEkfdk >>854
また動くかどうかの話になってるけど、そんな話はしてないという
また動くかどうかの話になってるけど、そんな話はしてないという
856デフォルトの名無しさん
2026/07/22(水) 04:57:35.83ID:XaGJSnmH こんなにスレ伸ばしたって読まねぇぞ
857デフォルトの名無しさん
2026/07/22(水) 05:12:55.66ID:H8x9U9EL deep copyとshallow copyは2種類の異なるcopy方法が考えられる時にのみ
その使い分けに用いられる用語
1種類しかない時に用いたら失格
その使い分けに用いられる用語
1種類しかない時に用いたら失格
858デフォルトの名無しさん
2026/07/22(水) 07:28:52.11ID:bm8B9/Z+ 夏休みは海とか山とか友達なんかと遊びに行きなよ
人付き合いはできて困る事はないぞ多分
人付き合いはできて困る事はないぞ多分
859デフォルトの名無しさん
2026/07/22(水) 10:18:10.68ID:qLhff68A 仮に111レスしてるおじが本人の言う通り自演してないとしても
もう一人の無限湧きの単発のおじが自演ってだけだから、結局二人でずっとまったく成立してない会話してるんだよね
OpenClawでやってるにしろ人力にしろ、本当に海か山でも行ったほうがいいと思う
もう一人の無限湧きの単発のおじが自演ってだけだから、結局二人でずっとまったく成立してない会話してるんだよね
OpenClawでやってるにしろ人力にしろ、本当に海か山でも行ったほうがいいと思う
860デフォルトの名無しさん
2026/07/22(水) 12:08:53.98ID:d19KA9Tj 音大出身の女性がITディレクターやってたらしいんだが、あり得るの?
年収は600万
https://lavender.5ch.io/test/read.cgi/karaok/1784604629/625
年収は600万
https://lavender.5ch.io/test/read.cgi/karaok/1784604629/625
861デフォルトの名無しさん
2026/07/22(水) 12:10:09.72ID:d19KA9Tj 625 選曲してください sage 2026/07/22(水) 00:11:47.96 ID:5DADgvY5
>>608
その会社は入社1年目
そのままクライアント会社(上場)に新設されたWEB事業部に出向→移籍、社長プレゼン
我ながら特殊な経験をしてると思うよ
まだWEB専門卒の人とかも少ないし素人が現場で仕事を覚えていける時代だったから、今ではあり得ないやろね
紙媒体からWEBに移行した人も多くて、得体の知れない業界人がウヨウヨいた
>>608
その会社は入社1年目
そのままクライアント会社(上場)に新設されたWEB事業部に出向→移籍、社長プレゼン
我ながら特殊な経験をしてると思うよ
まだWEB専門卒の人とかも少ないし素人が現場で仕事を覚えていける時代だったから、今ではあり得ないやろね
紙媒体からWEBに移行した人も多くて、得体の知れない業界人がウヨウヨいた
862デフォルトの名無しさん
2026/07/22(水) 13:14:32.22ID:5C0qO59L 普通によくある構造体struct Xxx { ... }を生成する関数
impl Xxx {
fn new( ... ) -> Self {
...
}
}
fn foo {
let x = Xxx::new( ... );
}
これはもちろんこの関数new()の中で生成したXxx型の値が呼び出し元の関数foo()にある変数xへムーブされる
Rustの抽象概念としてはここまで
ムーブが現実にはどのように実現されているかを知ることなくRustのプログラミングができる
impl Xxx {
fn new( ... ) -> Self {
...
}
}
fn foo {
let x = Xxx::new( ... );
}
これはもちろんこの関数new()の中で生成したXxx型の値が呼び出し元の関数foo()にある変数xへムーブされる
Rustの抽象概念としてはここまで
ムーブが現実にはどのように実現されているかを知ることなくRustのプログラミングができる
863デフォルトの名無しさん
2026/07/22(水) 13:18:55.70ID:5C0qO59L Rustの抽象概念ムーブがどのように機械語で実装されるのか?
それがRustの高速性を決めている
普通によくあるx86-64bitのLinux環境で関数が値を返すときのムーブの実装について見てみよう
64bit二つ分までのサイズのデータを関数が返す時は64bitレジスタraxとrdxに入れて返す
しかし>>862の構造体Xxxのサイズがその128bit (=16byte)を超えていてレジスタ返しができない場合はどうなるだろう?
Rustでは関数f()でのデータ受け取り変数xのアドレスを隠れた引数として関数new()へレジスタ渡しする
new()ではそのアドレスへ直接データを書き込んでXxx構造体を作っていく
関数が多段で孫関数からXxxを返す場合でも子関数から孫関数へ隠れた引数としてアドレスが同様に渡される
孫関数は祖父関数のスタックフレームへ直接データを書き込むことになる
ムーブは抽象概念に過ぎないため実際にデータを移動(コピー)させる必要はない
最初から最終移動先へデータを書き込むことでRustは無駄なコピーを排除している
それがRustの高速性を決めている
普通によくあるx86-64bitのLinux環境で関数が値を返すときのムーブの実装について見てみよう
64bit二つ分までのサイズのデータを関数が返す時は64bitレジスタraxとrdxに入れて返す
しかし>>862の構造体Xxxのサイズがその128bit (=16byte)を超えていてレジスタ返しができない場合はどうなるだろう?
Rustでは関数f()でのデータ受け取り変数xのアドレスを隠れた引数として関数new()へレジスタ渡しする
new()ではそのアドレスへ直接データを書き込んでXxx構造体を作っていく
関数が多段で孫関数からXxxを返す場合でも子関数から孫関数へ隠れた引数としてアドレスが同様に渡される
孫関数は祖父関数のスタックフレームへ直接データを書き込むことになる
ムーブは抽象概念に過ぎないため実際にデータを移動(コピー)させる必要はない
最初から最終移動先へデータを書き込むことでRustは無駄なコピーを排除している
864デフォルトの名無しさん
2026/07/22(水) 13:20:20.48ID:IHEroBD/ 仮に額面通りmoveするんだったらコピーが入るから、効率重視のコードなら回避しないといけないでしょ
つまり最適化を理解する必要があるわけで、
> ムーブが現実にはどのように実現されているかを知ることなくRustのプログラミングができる
は誤りということになる
つまり最適化を理解する必要があるわけで、
> ムーブが現実にはどのように実現されているかを知ることなくRustのプログラミングができる
は誤りということになる
865デフォルトの名無しさん
2026/07/22(水) 14:07:07.48ID:P03AutQj ムーブという魔法でRustは上手いことやってくれるという抽象レベルの理解も重要
そのムーブ魔法がどう実現されているか知っておくことも重要
そのムーブ魔法がどう実現されているか知っておくことも重要
866デフォルトの名無しさん
2026/07/22(水) 14:35:10.94ID:YIjqgtY0 魔法を信じてプログラミングしても大丈夫だよ
もし遅いと感じたら測定する
ムーブの最適化が何らかの事情でできてなければ判明してそこで初めて対処すればいいんだよ
万が一に備えて最初からヒープ領域にデータを置くことは間違った早すぎる最適化であり愚かな行為
もし遅いと感じたら測定する
ムーブの最適化が何らかの事情でできてなければ判明してそこで初めて対処すればいいんだよ
万が一に備えて最初からヒープ領域にデータを置くことは間違った早すぎる最適化であり愚かな行為
867デフォルトの名無しさん
2026/07/22(水) 15:37:11.70ID:9kaHeq4d868デフォルトの名無しさん
2026/07/22(水) 15:38:48.11ID:6Gra50HL869デフォルトの名無しさん
2026/07/22(水) 15:41:08.01ID:8n0waISf >>863
値を返す時に必ずそうなるという主張はコンパイラを単純に考えすぎているし、そもそも出力されるアセンブリ言語や機械語はそのバージョンのコンパイラの解析能力で扱える範囲で最適化されるにすぎないことは知っておく必要がある
値を返す時に必ずそうなるという主張はコンパイラを単純に考えすぎているし、そもそも出力されるアセンブリ言語や機械語はそのバージョンのコンパイラの解析能力で扱える範囲で最適化されるにすぎないことは知っておく必要がある
870デフォルトの名無しさん
2026/07/22(水) 15:42:53.59ID:9kaHeq4d871デフォルトの名無しさん
2026/07/22(水) 15:44:31.94ID:JycBCTuD >>866
そもそもスタックに巨大データを置くことが誤った設計なんですけど
そもそもスタックに巨大データを置くことが誤った設計なんですけど
872デフォルトの名無しさん
2026/07/22(水) 15:49:37.99ID:n22ahHSU 旧来からの発想の転換で有利なスタック領域を活用することがRustの高速化に繋がった
873デフォルトの名無しさん
2026/07/22(水) 15:50:52.67ID:fqsfiDCR 流石に嘘すぎる
何のためにRustがヒープを安全に扱える仕組みを導入したのか完全に無視している
何のためにRustがヒープを安全に扱える仕組みを導入したのか完全に無視している
874デフォルトの名無しさん
2026/07/22(水) 15:53:09.53ID:fqsfiDCR スタック領域が有利なのは特定の条件下(確保/解放が多い、扱うデータが小さくコピーが起きても支障がない、決定論的な動作が必要でシステムコールが待てない)だけで、大きなデータを扱う場合には普通にヒープに置いた方が使い勝手はいい
875デフォルトの名無しさん
2026/07/22(水) 15:57:07.11ID:O01J+ZaE >>872
Rustが高速な理由は無駄な処理をしない、遅い処理を排除することに注力し、かつ言語仕様を厳格化することで最適化しやすいヒントを多く含むIRを生成して、LLVMに渡せるようにすることで実現されている
ヒープ領域はむしろ積極的に活用されている(たとえば、VecやStringはヒープの確保を伴う)し、スタックに大きなデータを置かないことを推奨してもいる
Rustが高速な理由は無駄な処理をしない、遅い処理を排除することに注力し、かつ言語仕様を厳格化することで最適化しやすいヒントを多く含むIRを生成して、LLVMに渡せるようにすることで実現されている
ヒープ領域はむしろ積極的に活用されている(たとえば、VecやStringはヒープの確保を伴う)し、スタックに大きなデータを置かないことを推奨してもいる
876デフォルトの名無しさん
2026/07/22(水) 16:01:13.48ID:nRzhKxoM Rc/Arcはヒープ領域を管轄するからこそ実現できる例のようにヒープ領域の利用は意味があるよ
基本はスタック領域を活用
必要に応じてヒープ領域
基本はスタック領域を活用
必要に応じてヒープ領域
877デフォルトの名無しさん
2026/07/22(水) 16:04:22.62ID:JKcxJ34H878デフォルトの名無しさん
2026/07/22(水) 16:10:10.68ID:Of/BcPgB879デフォルトの名無しさん
2026/07/22(水) 16:25:45.26ID:XYz54jbC880デフォルトの名無しさん
2026/07/22(水) 16:31:09.68ID:c7srhqru881デフォルトの名無しさん
2026/07/22(水) 16:59:58.86ID:Z37YkZf/ 言い争ってる内容のレベルが日々下がってくね
882デフォルトの名無しさん
2026/07/22(水) 17:15:11.12ID:XYz54jbC883デフォルトの名無しさん
2026/07/22(水) 17:16:51.37ID:XYz54jbC >>881
Rustろくに書いたことないのにゼロヒャクで断言したがる奴が多すぎるんだよな
Rustろくに書いたことないのにゼロヒャクで断言したがる奴が多すぎるんだよな
884デフォルトの名無しさん
2026/07/22(水) 17:22:27.60ID:XYz54jbC >>879の補足
CPUのキャッシュはヒープ領域のデータでも使用頻度が高ければキャッシュするので、スタック領域かヒープ領域かは関係がない
そのためにキャッシュラインに合わせてアラインメントしてヒープ領域を使うということも行われる
また、スタック領域に置かれていてもアラインメントがされていなければキャッシュ効率が悪くなることも普通にある
CPUのキャッシュはヒープ領域のデータでも使用頻度が高ければキャッシュするので、スタック領域かヒープ領域かは関係がない
そのためにキャッシュラインに合わせてアラインメントしてヒープ領域を使うということも行われる
また、スタック領域に置かれていてもアラインメントがされていなければキャッシュ効率が悪くなることも普通にある
885デフォルトの名無しさん
2026/07/22(水) 22:43:51.19ID:o2Jdm9L+ メモリ空間をOSが管理してると、ヒープ領域を使うのにいちいちシステムコールが必要になるから、欠点が目立つんだよな
でもスタック領域に欠点がないかと言えば、別にそんなこともないから使い分けが必要
でもスタック領域に欠点がないかと言えば、別にそんなこともないから使い分けが必要
886デフォルトの名無しさん
2026/07/22(水) 23:14:46.59ID:WzrqCFod >>879
スタック上で処理したほうが圧倒的に有利になっている理由は、他のローカル変数はスタック上にあり、関数呼び出し時もスタックを用いるため
メモリの使用範囲がスタック上のみに限定され、メモリキャッシュ効果が最大限に発揮されます
スタック上で処理したほうが圧倒的に有利になっている理由は、他のローカル変数はスタック上にあり、関数呼び出し時もスタックを用いるため
メモリの使用範囲がスタック上のみに限定され、メモリキャッシュ効果が最大限に発揮されます
887デフォルトの名無しさん
2026/07/23(木) 02:50:21.49ID:luqj8bdN >>886
そもそもスタック領域を大きくしたらスタック全体がキャッシュに乗らなくなるし、ヒープでも確保を工夫すればキャッシュに乗せられるので、ほとんど関係がない
そもそもスタック領域を大きくしたらスタック全体がキャッシュに乗らなくなるし、ヒープでも確保を工夫すればキャッシュに乗せられるので、ほとんど関係がない
888デフォルトの名無しさん
2026/07/23(木) 03:28:47.44ID:0/IAmlr6889デフォルトの名無しさん
2026/07/23(木) 07:58:46.98ID:rkdmRmzF 仮に (あくまでも仮に) スタックの多用が全面的にメリットばかりだとしてもたとえば Linux のデフォルトだとスタックの上限はたった 8MB だぞ。
上限を引き上げる設定をやったことなんてほとんどないだろ。みんなスタック 8MB でやりくりしてるんだよ。
上限を引き上げる設定をやったことなんてほとんどないだろ。みんなスタック 8MB でやりくりしてるんだよ。
890デフォルトの名無しさん
2026/07/23(木) 08:13:33.16ID:AUDDS2Ak > スタックの多用が全面的にメリットばかり
正にこれが間違い
ヒープ領域に確保する方が関係データを含めてアクセスローカリティを考慮したデータレイアウト設計が出来る
正にこれが間違い
ヒープ領域に確保する方が関係データを含めてアクセスローカリティを考慮したデータレイアウト設計が出来る
891デフォルトの名無しさん
2026/07/23(木) 08:19:49.70ID:z4+uszs5 組み込みだとスタックが浅いからって
関数呼び出しはするな
引数も使うな
全部グローバルでやりとりしろ
みたいな流儀があったらしいと聞くが
なんでそういう絶対的な制約があるわけでもないのに似たような縛りプレイやろうとしてるんだろう
関数呼び出しはするな
引数も使うな
全部グローバルでやりとりしろ
みたいな流儀があったらしいと聞くが
なんでそういう絶対的な制約があるわけでもないのに似たような縛りプレイやろうとしてるんだろう
892デフォルトの名無しさん
2026/07/23(木) 11:19:45.15ID:FxkCx1gi >>889
8MBはデフォルト値にすぎないから
起動プロセスのための環境変数を設定するタイミングと同じように
起動直前で例えばulimit -s 65536すれば子プロセスのみスタック領域を64MBに変えることができるよ
8MBはデフォルト値にすぎないから
起動プロセスのための環境変数を設定するタイミングと同じように
起動直前で例えばulimit -s 65536すれば子プロセスのみスタック領域を64MBに変えることができるよ
893デフォルトの名無しさん
2026/07/23(木) 11:33:58.96ID:rkdmRmzF894デフォルトの名無しさん
2026/07/23(木) 11:43:37.14ID:ZelaGfP0 スタック領域サイズだけに限らず諸々のリソースのパラメータは各用途に応じて設定して運用が行われている
895デフォルトの名無しさん
2026/07/23(木) 11:46:07.77ID:1wG4VbX9 Rustってすごい言語なんですね
896デフォルトの名無しさん
2026/07/23(木) 11:47:21.36ID:SaQIv/sp >各用途に応じて設定して運用が行われている
(つまり、各用途に応じた設定をして運用を行ったことはない)
(つまり、各用途に応じた設定をして運用を行ったことはない)
897デフォルトの名無しさん
2026/07/23(木) 11:55:01.09ID:RmZ5xdy6 >>895
リソースパラメタ変更して運用はRust登場以前から普通に行われている
リソースパラメタ変更して運用はRust登場以前から普通に行われている
898デフォルトの名無しさん
2026/07/23(木) 13:12:35.86ID:cxrYFfJU >>890
そもそもスタックが全てキャッシュに乗るわけでも、データが全てキャッシュに乗るわけでもなく、使ったものがキャッシュに乗る
なのでスタックにあるかどうかは関係ないし、そこに固執してるのは知識がないから
そもそもスタックが全てキャッシュに乗るわけでも、データが全てキャッシュに乗るわけでもなく、使ったものがキャッシュに乗る
なのでスタックにあるかどうかは関係ないし、そこに固執してるのは知識がないから
899デフォルトの名無しさん
2026/07/23(木) 13:13:10.18ID:cxrYFfJU ごめん、>>888だった
900デフォルトの名無しさん
2026/07/23(木) 13:13:53.08ID:cxrYFfJU 複おじの妄想は相手しなくていいよ
901デフォルトの名無しさん
2026/07/23(木) 13:16:21.80ID:VXCn4TUk >>898
スタックは必ず使われるからキャッシュに必ず乗り必ず有利になることは常識
スタックは必ず使われるからキャッシュに必ず乗り必ず有利になることは常識
902デフォルトの名無しさん
2026/07/23(木) 13:22:40.15ID:cxrYFfJU >>901
キャッシュはキャッシュラインの単位ごとにしか乗らないので、巨大データをスタックに置いたところで他の変数と一緒にキャッシュに乗ることは保証されない
一方でヒープに置いた場合でも、一度使えばキャッシュに乗るため繰り返し使う時に高速で扱える
キャッシュはキャッシュラインの単位ごとにしか乗らないので、巨大データをスタックに置いたところで他の変数と一緒にキャッシュに乗ることは保証されない
一方でヒープに置いた場合でも、一度使えばキャッシュに乗るため繰り返し使う時に高速で扱える
903デフォルトの名無しさん
2026/07/23(木) 13:23:01.90ID:m8CXPFD8 > 必ず乗り
そんなわけない
そんなわけない
904デフォルトの名無しさん
2026/07/23(木) 13:25:12.89ID:cxrYFfJU キャッシュが無限に容量があって無限に高速なメモリだとでも仮定しないと、必ず乗るなんて主張は成立させられないはずなのだが
それにヒープ領域はキャッシュに乗らないと頑なに信じているらしいが、CPU設計者をそこまでバカにする理由もよくわからない
わざわざ大量の計算をしてスタック領域だけを見分けてキャッシュに乗せる、そんな無意味なことをするとなぜ信じられるのだろうか
それにヒープ領域はキャッシュに乗らないと頑なに信じているらしいが、CPU設計者をそこまでバカにする理由もよくわからない
わざわざ大量の計算をしてスタック領域だけを見分けてキャッシュに乗せる、そんな無意味なことをするとなぜ信じられるのだろうか
905デフォルトの名無しさん
2026/07/23(木) 13:29:30.30ID:neKzl6rg レジスタ退避でいつもL1に乗るからスタック上にあるローカル変数は速いよね
906デフォルトの名無しさん
2026/07/23(木) 13:30:40.71ID:cxrYFfJU907デフォルトの名無しさん
2026/07/23(木) 13:57:52.08ID:qk0tjYWL >>905
レジスタ退避について勘違いしてるよ
レジスタ退避について勘違いしてるよ
908デフォルトの名無しさん
2026/07/23(木) 19:14:51.69ID:OLcLF/i1 >>905
シンプルに教えてほしいんだけど、レジスタやL1が8MiBもあるCPUってどこにあるんだい?
シンプルに教えてほしいんだけど、レジスタやL1が8MiBもあるCPUってどこにあるんだい?
909デフォルトの名無しさん
2026/07/23(木) 21:46:09.46ID:vX/zh6w3 topcoatてこれwasmじゃなくてjsに変換するらしいけど普通にjs書いたほうがよくね?
910デフォルトの名無しさん
2026/07/23(木) 22:01:21.86ID:1wG4VbX9 人類はいつまでJavaScriptに苦しめられるのでしょうか?
WASMを作った連中に覚悟があれば、今頃はC++でWebアプリを作れたでしょうに
WASMを作った連中に覚悟があれば、今頃はC++でWebアプリを作れたでしょうに
911sage
2026/07/23(木) 22:10:09.90ID:xivhFue3 Rustってハードパワーのゴリ押しみたいな側面もあるんで
そういうこと
そういうこと
912デフォルトの名無しさん
2026/07/23(木) 22:48:38.91ID:oRBJ/Nhk 来年WASMでDOM操作とfetchできるようになるから待ってて
913デフォルトの名無しさん
2026/07/23(木) 22:52:01.41ID:IHVi+hDe フロントエンドはJavaScript側のエコシステムで対応しないと
思ってる以上に早く負債になって失敗、後悔するというのは
これまでもRubyのほうのRailsが散々証明してくれてるからな
思ってる以上に早く負債になって失敗、後悔するというのは
これまでもRubyのほうのRailsが散々証明してくれてるからな
914デフォルトの名無しさん
2026/07/23(木) 22:54:25.22ID:vX/zh6w3 てか10日間で設計されたうんこスクリプトをWEBのデファクトにするて人類ガイジすぎやろ
915デフォルトの名無しさん
2026/07/23(木) 23:07:32.79ID:bEDi3eQt さすがにここまで来たら10日間で作った部分は消え去ってるんじゃねーの
916デフォルトの名無しさん
2026/07/23(木) 23:12:44.53ID:T3AzUbLt >>907
レジスタは明示的にpushしなくてもripなどの命令ポインタはcallすると自動的にスタックに退避されるよ
レジスタは明示的にpushしなくてもripなどの命令ポインタはcallすると自動的にスタックに退避されるよ
917デフォルトの名無しさん
2026/07/23(木) 23:29:45.68ID:sSI22omN918デフォルトの名無しさん
2026/07/23(木) 23:36:14.54ID:u5UkAy+5 >>916
関数を呼び出す時にスタックにレジスタの値を退避するというのは、スタックで現在処理中の値やプログラムの実行位置を管理してるからで、呼び出した関数から戻ってくるまでそれらの値をスタックに置いておくということでしかない
呼び出した関数から戻ってきた時にこれらの値をレジスタに戻すことで、同じ位置から処理を再開するというのがこの機能の目的であって、キャッシュとは何も関係がない
また、スタック領域に置かれた変数が全てレジスタに書きこまれているわけではない(それどころか、レジスタは全部合わせても大した数がなく、データ置き場としては使えない)し、スタック領域に置かれた変数が全てキャッシュに乗るといった事実もない(当然ながら、あまり使われなければキャッシュには置かない)
関数を呼び出す時にスタックにレジスタの値を退避するというのは、スタックで現在処理中の値やプログラムの実行位置を管理してるからで、呼び出した関数から戻ってくるまでそれらの値をスタックに置いておくということでしかない
呼び出した関数から戻ってきた時にこれらの値をレジスタに戻すことで、同じ位置から処理を再開するというのがこの機能の目的であって、キャッシュとは何も関係がない
また、スタック領域に置かれた変数が全てレジスタに書きこまれているわけではない(それどころか、レジスタは全部合わせても大した数がなく、データ置き場としては使えない)し、スタック領域に置かれた変数が全てキャッシュに乗るといった事実もない(当然ながら、あまり使われなければキャッシュには置かない)
919デフォルトの名無しさん
2026/07/23(木) 23:44:02.18ID:CqZb6B5+920デフォルトの名無しさん
2026/07/23(木) 23:51:27.31ID:oVCWnmQT キャッシュに載ってなかったら、キャッシュレス?
921デフォルトの名無しさん
2026/07/24(金) 00:05:19.44ID:YdTFtdBW >>919
> スタックに退避されるとスタックのその前後はキャッシュに載る
> その前後にはローカル変数がいる
> だから速さの恩恵を受ける
複数の誤謬が含まれている
まず第一に、レジスタがスタックに退避される時のキャッシュへの読み込みはキャッシュライン単位でしか行われないので、64バイトを超えた分はキャッシュに読み込まれない
そのため、巨大データをスタックに置くことでキャッシュ上有利に扱えるということは、この時点でなくなっている
次に、実際にはローカル変数だけでなく、戻りアドレスや呼び出し元のフレームポインタ、レジスタが不足した時の退避先などもスタックに置かれるため、実際には64バイトから8バイトのレジスタ分を引いて残りが全てローカル変数、ということにもならない
そのため、そこまで大きくないデータであってもスタックへのレジスタ退避でキャッシュに乗るとは限らない
更に、キャッシュはスタックへのレジスタ退避の時しか行われないわけではない
既に散々書かれているようにしか見えないのだが、スタックだろうがヒープだろうが読み書きすればキャッシュに乗り、使われ続ければ保持されるためスタックへのレジスタ退避とは無関係に、キャッシュの挙動に合わせたデータが有利に速さの恩恵を受ける
そして、スタックとローカル変数はこれに最適化されていない
> スタックに退避されるとスタックのその前後はキャッシュに載る
> その前後にはローカル変数がいる
> だから速さの恩恵を受ける
複数の誤謬が含まれている
まず第一に、レジスタがスタックに退避される時のキャッシュへの読み込みはキャッシュライン単位でしか行われないので、64バイトを超えた分はキャッシュに読み込まれない
そのため、巨大データをスタックに置くことでキャッシュ上有利に扱えるということは、この時点でなくなっている
次に、実際にはローカル変数だけでなく、戻りアドレスや呼び出し元のフレームポインタ、レジスタが不足した時の退避先などもスタックに置かれるため、実際には64バイトから8バイトのレジスタ分を引いて残りが全てローカル変数、ということにもならない
そのため、そこまで大きくないデータであってもスタックへのレジスタ退避でキャッシュに乗るとは限らない
更に、キャッシュはスタックへのレジスタ退避の時しか行われないわけではない
既に散々書かれているようにしか見えないのだが、スタックだろうがヒープだろうが読み書きすればキャッシュに乗り、使われ続ければ保持されるためスタックへのレジスタ退避とは無関係に、キャッシュの挙動に合わせたデータが有利に速さの恩恵を受ける
そして、スタックとローカル変数はこれに最適化されていない
922デフォルトの名無しさん
2026/07/24(金) 00:07:11.57ID:YdTFtdBW 説明もなく64バイトと書いてしまったが、これは一般的なCPUのL1キャッシュで比較的多く採用されている、キャッシュラインの大きさである
923デフォルトの名無しさん
2026/07/24(金) 00:51:48.87ID:8ekr92pQ > キャッシュはスタックへのレジスタ退避の時しか行われないわけではない
結局これよな
ずっと変なこと言ってる奴いるけど、レジスタ退避もスタック/ヒープも関係なく使っていればキャッシュはされる
結局これよな
ずっと変なこと言ってる奴いるけど、レジスタ退避もスタック/ヒープも関係なく使っていればキャッシュはされる
924デフォルトの名無しさん
2026/07/24(金) 00:59:27.67ID:SqDgs0gR スタックじゃないとキャッシュに乗らないとか、レジスタ退避の時にしかキャッシュに乗らないとか、とにかくCPUの設計者をバカだと思いすぎだよな
そんなバカな設計になってるわけないのに、頭を使ってない奴はこれだから
そんなバカな設計になってるわけないのに、頭を使ってない奴はこれだから
925デフォルトの名無しさん
2026/07/24(金) 01:12:00.30ID:9TfMzF0I 自演連投と論点ずらしの傾向がだんだんわかってきた
>>924はついに「スタックじゃないとキャッシュに乗らないとか、レジスタ退避の時にしかキャッシュに乗らないとか、」など
誰の書き込みにも存在していない方向へ話をずらしている
>>924はついに「スタックじゃないとキャッシュに乗らないとか、レジスタ退避の時にしかキャッシュに乗らないとか、」など
誰の書き込みにも存在していない方向へ話をずらしている
926デフォルトの名無しさん
2026/07/24(金) 01:48:18.05ID:c1YiTQq7 ディープコピー: 大きなサイズのメモリをコピーすること
スタック巻き戻し: ベースポインタの値をスタックからpopすること
レジスタ退避: リターンアドレスをスタックにpushすること
こりゃ大変だ
スタック巻き戻し: ベースポインタの値をスタックからpopすること
レジスタ退避: リターンアドレスをスタックにpushすること
こりゃ大変だ
927デフォルトの名無しさん
2026/07/24(金) 01:52:59.95ID:qgjP8TGu もういちいち追ってないけどなんか新情報出てたら教えてくれ
928デフォルトの名無しさん
2026/07/24(金) 01:57:07.03ID:QEapMI1v 相変わらずUIはGUIよりratatuiが圧倒的
929デフォルトの名無しさん
2026/07/24(金) 02:25:14.39ID:H84B0AqN930デフォルトの名無しさん
2026/07/24(金) 04:11:45.27ID:nkS/xplE931デフォルトの名無しさん
2026/07/24(金) 04:12:52.19ID:nkS/xplE >>926
たしかにお前の頭が大変だな、何一つ読めていないせいで全部間違ってるw
たしかにお前の頭が大変だな、何一つ読めていないせいで全部間違ってるw
932デフォルトの名無しさん
2026/07/24(金) 04:15:38.70ID:rWosD9Xv933デフォルトの名無しさん
2026/07/24(金) 04:19:18.33ID:lb0jFh4G 少なくともヒープだとキャッシュには乗らない、レジスタ退避がキャッシュ性能に大きな影響を与えるとは確実に言ってたな
> スタックじゃないとキャッシュに乗らないとか、レジスタ退避の時にしかキャッシュに乗らないとか
も曲解ではなく言い換えでしかない
> スタックじゃないとキャッシュに乗らないとか、レジスタ退避の時にしかキャッシュに乗らないとか
も曲解ではなく言い換えでしかない
934デフォルトの名無しさん
2026/07/24(金) 04:40:12.87ID:apVU3Uz6 >>929
そりゃそうよな
>>925-926
相変わらず書いてあることは読めないし、妄想力は豊かだよね
まあどうせ否定するだろうけど、https://mevius.5ch.io/test/read.cgi/tech/1774264073/679-683 でも散々言われてたように国語ができてなさすぎるよ君
すぐに自演バレするのは、毎回同じ誤読の仕方をするからなんだよ
そりゃそうよな
>>925-926
相変わらず書いてあることは読めないし、妄想力は豊かだよね
まあどうせ否定するだろうけど、https://mevius.5ch.io/test/read.cgi/tech/1774264073/679-683 でも散々言われてたように国語ができてなさすぎるよ君
すぐに自演バレするのは、毎回同じ誤読の仕方をするからなんだよ
935デフォルトの名無しさん
2026/07/24(金) 04:43:04.89ID:Wi2Ws13b >>要するに、文脈や構造を見ず文中の単語だけをつまみ食いして、「〜って言ってる!」と脳内変換してしまう、いわゆる**機能的文脈文盲**(単語は読めても構造が理解できない状態)ですね。
これAIの回答っぽいだけに辛辣すぎて笑った
これAIの回答っぽいだけに辛辣すぎて笑った
936デフォルトの名無しさん
2026/07/24(金) 04:48:34.54ID:CfttdDzL 決定的な認知のゆがみがある奴おるよな
某スレだと「〇おじ」とか
この板に限らずだと古くは「〇の壁」とか
思い込みの世界から一歩も外に出てこないのと
意固地になってるのか
もともと粘着質なのか知らんけど
いつでもどこでもいつまでも聖戦を繰り広げてる
某スレだと「〇おじ」とか
この板に限らずだと古くは「〇の壁」とか
思い込みの世界から一歩も外に出てこないのと
意固地になってるのか
もともと粘着質なのか知らんけど
いつでもどこでもいつまでも聖戦を繰り広げてる
937デフォルトの名無しさん
2026/07/24(金) 04:50:17.57ID:CfttdDzL バカはまともに文章を読めないくせに、そこに書いてる単語から自分にとって都合のいい物語を作ることには熱心だからな
938デフォルトの名無しさん
2026/07/24(金) 05:09:59.03ID:LN2X/GDi また複オジ4連投キタ
939デフォルトの名無しさん
2026/07/24(金) 05:24:36.34ID:FvT5yST4 >>938
お前やw
お前やw
940デフォルトの名無しさん
2026/07/24(金) 05:25:10.34ID:gO/X+gvB 複おじはやたら何連投って言いたがるけど、自分はID変えるからバレないと思ってるんだろうな
941デフォルトの名無しさん
2026/07/24(金) 05:31:13.14ID:CGZNp1qG どうぜ図星だったんだろw
942デフォルトの名無しさん
2026/07/24(金) 06:06:30.85ID:vznzDL0o どっちが複おじでどっちが複オジかしらんがまた真夜中ずっと争ってたのか
943デフォルトの名無しさん
2026/07/24(金) 07:20:47.88ID:c1YiTQq7 自演じゃないよ〜ん
伝えたいことはもともとびっくりするくらいシンプルなんだけど(大きいデータをコピーするとコストがかかるから気をつけよう!とか)
よく知らない専門用語を雑に当てはめてしまうから、本人以外はその専門用語が正確な意味で使われていると思って誤読してしまう、ということが発生しているんだろうなあと推測しました
伝えたいことはもともとびっくりするくらいシンプルなんだけど(大きいデータをコピーするとコストがかかるから気をつけよう!とか)
よく知らない専門用語を雑に当てはめてしまうから、本人以外はその専門用語が正確な意味で使われていると思って誤読してしまう、ということが発生しているんだろうなあと推測しました
944デフォルトの名無しさん
2026/07/24(金) 07:44:04.06ID:c1YiTQq7 >>929
これは単純に知らなかったからありがとうね
これは単純に知らなかったからありがとうね
945デフォルトの名無しさん
2026/07/24(金) 08:13:30.89ID:TlV0Uwzc IDコロコロの誰かさんも自演を訴え始めた今こそ満場一致でワッチョイに移行する好機なのでは?
946デフォルトの名無しさん
2026/07/24(金) 08:33:04.60ID:2FjN0coi947デフォルトの名無しさん
2026/07/24(金) 08:43:17.13ID:TA527/vs sp を bp (ebp, rbp) に退避するのは元から ABI の要求に含まれてない。
ABI はインターフェイスの規定なので呼び出し側にとって sp のつじつまが合っていればどんなやり方で実現してもどうでもいいから退避のやり方までは規定する必要がない。
bp を使っていたのは単なる慣例。
スタックトレースのやりやすさとかの都合で今でもデバッグモードではごく普通に bp を使うし、無用になったというわけでもない。
ABI はインターフェイスの規定なので呼び出し側にとって sp のつじつまが合っていればどんなやり方で実現してもどうでもいいから退避のやり方までは規定する必要がない。
bp を使っていたのは単なる慣例。
スタックトレースのやりやすさとかの都合で今でもデバッグモードではごく普通に bp を使うし、無用になったというわけでもない。
948デフォルトの名無しさん
2026/07/24(金) 10:22:56.20ID:OkaVr+Mc >>947
RustでもC++でもDWARF情報でデバッグできるから今はbp不要
RustでもC++でもDWARF情報でデバッグできるから今はbp不要
949デフォルトの名無しさん
2026/07/24(金) 15:06:00.00ID:WIK69ucb >>943
> よく知らない専門用語を雑に当てはめてしまうから、本人以外はその専門用語が正確な意味で使われていると思って誤読してしまう
逆では
毎回「そんな定義はない、こうだ!」って主張してる側が定義を間違えてる
> よく知らない専門用語を雑に当てはめてしまうから、本人以外はその専門用語が正確な意味で使われていると思って誤読してしまう
逆では
毎回「そんな定義はない、こうだ!」って主張してる側が定義を間違えてる
950デフォルトの名無しさん
2026/07/24(金) 15:11:25.65ID:CXHgHqXT >>要するに、文脈や構造を見ず文中の単語だけをつまみ食いして、「〜って言ってる!」と脳内変換してしまう、いわゆる**機能的文脈文盲**(単語は読めても構造が理解できない状態)ですね。
951デフォルトの名無しさん
2026/07/24(金) 15:54:25.25ID:QEfncnYQ ローカル変数のムーブをディープコピーだと言い張ったりな
952デフォルトの名無しさん
2026/07/24(金) 17:21:57.30ID:Baz7gtD0 参照を含むデータならば
moveやcopyはシャローコピー
参照先も処理するcloneならばディープコピー
参照を含まないデータならば
moveやcopyは単なるコピー
区別する2種類がないためシャローやディープは使われない
いずれにせよmoveをディープコピーと呼ぶことはない
moveやcopyはシャローコピー
参照先も処理するcloneならばディープコピー
参照を含まないデータならば
moveやcopyは単なるコピー
区別する2種類がないためシャローやディープは使われない
いずれにせよmoveをディープコピーと呼ぶことはない
953デフォルトの名無しさん
2026/07/24(金) 18:47:46.92ID:24e2kQId954デフォルトの名無しさん
2026/07/24(金) 18:49:07.49ID:o7aCA+Y6 >>952
コピーは発生しないって自信満々に言ってたのに……w
コピーは発生しないって自信満々に言ってたのに……w
955デフォルトの名無しさん
2026/07/24(金) 18:50:40.84ID:24e2kQId956デフォルトの名無しさん
2026/07/24(金) 18:53:17.62ID:ZfJkjuoc そもそも複オジはまともなプログラミング知識がないから、言われたことを覚えておけないのも仕方ない
こいつ間違ったことしか言わないし、誤読しかしない
こいつ間違ったことしか言わないし、誤読しかしない
957デフォルトの名無しさん
2026/07/24(金) 18:55:21.78ID:LwZ5WlVx 複おじの行動原理はAIに「自分の理解不足を相手の説明能力・理解力のせいにする方が楽だから」と言われてたよなw
958デフォルトの名無しさん
2026/07/24(金) 19:09:20.11ID:0PvzCVIX >>827は間違ってる
まずスタックやヒープなんて無関係でどこにあってもいい
そのデータをアドレス/ポインタ/参照などで指すデータがある時に、指す先のデータもコピーすればディープコピー
指す先がなければディープは存在しないためディープコピーと言わない
まずスタックやヒープなんて無関係でどこにあってもいい
そのデータをアドレス/ポインタ/参照などで指すデータがある時に、指す先のデータもコピーすればディープコピー
指す先がなければディープは存在しないためディープコピーと言わない
959デフォルトの名無しさん
2026/07/24(金) 19:10:16.36ID:Le5u61/j >>952
「複製する」というアクションを区別する話と
「複製物」という複製した結果として生じるオブジェクトを区別する話を混同してる
moveやcopyは対象が参照を含もうが含むまいが分岐はなくやることは同じ
つまり「複製する」というアクションの区別で言えばシャローコピー
複製された結果の「複製物」の区別で言えば
参照を含まないのであれば複製物がシャローかディープかを論じる意味はない
(これはMDNの定義に書いてある通り)
「複製する」というアクションを区別する話と
「複製物」という複製した結果として生じるオブジェクトを区別する話を混同してる
moveやcopyは対象が参照を含もうが含むまいが分岐はなくやることは同じ
つまり「複製する」というアクションの区別で言えばシャローコピー
複製された結果の「複製物」の区別で言えば
参照を含まないのであれば複製物がシャローかディープかを論じる意味はない
(これはMDNの定義に書いてある通り)
960デフォルトの名無しさん
2026/07/24(金) 19:11:18.43ID:3oZV/qUu961デフォルトの名無しさん
2026/07/24(金) 19:16:02.26ID:ziGmj28M962デフォルトの名無しさん
2026/07/24(金) 19:21:21.20ID:EbAMsdeM >>959
最後の段落はMDNの定義に書いてないし、むしろ矛盾してる
MDNではプリミティブ値についてはシャローコピーとディープコピーは同時に成立するため、通常この区別を論じる必要はないとしている
参照を含むかどうかといった話はされておらず、配列や構造体などプリミティブでないオブジェクトにおいて、この区別が論じられるものということになる
また、中段についてはcopyとmoveに対する誤解がある
copyの場合は値、つまり実体が複製されることになるためMDNの定義によるとディープコピー
一方でmoveは通常(ここは重要)管理構造体しかコピーしないのでシャローコピーとなる
moveにおいて「通常」と強調したのは、スタック領域に実体が置かれている場合、戻り値に指定するとmoveでも実体のコピーが発生する(仕様上の話。最適化の話はまた別)ため、ディープコピーの条件を満たすため
最後の段落はMDNの定義に書いてないし、むしろ矛盾してる
MDNではプリミティブ値についてはシャローコピーとディープコピーは同時に成立するため、通常この区別を論じる必要はないとしている
参照を含むかどうかといった話はされておらず、配列や構造体などプリミティブでないオブジェクトにおいて、この区別が論じられるものということになる
また、中段についてはcopyとmoveに対する誤解がある
copyの場合は値、つまり実体が複製されることになるためMDNの定義によるとディープコピー
一方でmoveは通常(ここは重要)管理構造体しかコピーしないのでシャローコピーとなる
moveにおいて「通常」と強調したのは、スタック領域に実体が置かれている場合、戻り値に指定するとmoveでも実体のコピーが発生する(仕様上の話。最適化の話はまた別)ため、ディープコピーの条件を満たすため
963デフォルトの名無しさん
2026/07/24(金) 19:22:08.99ID:EbAMsdeM964デフォルトの名無しさん
2026/07/24(金) 19:23:51.76ID:ubGLSJxU ディープコピー(深いコピー)とは - IT用語辞典 e-Words
https://e-words.jp/w/%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%82%B3%E3%83%94%E3%83%BC.html
> ディープコピーとは、配列やオブジェクトなどのデータ構造を複製する際、同じ構造の実体を新たに作成して対応するデータを写し取る方式。
Deep copy (ディープコピー) - 用語集 | MDN
https://developer.mozilla.org/ja/docs/Glossary/Deep_copy
> オブジェクトの ディープコピー とは、コピー先のオブジェクトのプロパティがコピー元のオブジェクトのプロパティと同一の参照(同じ値を指す)で共有しないコピー方法のことです。結果として、コピー元かコピー先のどちらかを変更しても、もう一方オブジェクトにも変更を及ぼしていないことを保証できます。すなわち、コピー元かコピー先に意図せずに予期しない変更が加えられるこはありません。この振る舞いはシャローコピーとは対照的です。シャローコピーでは、コピー元かコピー先のどちらかを変更するともう一方のオブジェクトも変更される可能性があります。
> プロパティがすべてプリミティブ値であるオブジェクトのコピーは、ディープコピーとシャローコピーの両方の定義に当てはまります。しかし、このようなコピーの深さについて話すのはやや無意味です。というのも、このコピーには入れ子プロパティがなく、ディープコピーについては通常、入れ子プロパティを変更するコンテキストで話すからです。
https://e-words.jp/w/%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%82%B3%E3%83%94%E3%83%BC.html
> ディープコピーとは、配列やオブジェクトなどのデータ構造を複製する際、同じ構造の実体を新たに作成して対応するデータを写し取る方式。
Deep copy (ディープコピー) - 用語集 | MDN
https://developer.mozilla.org/ja/docs/Glossary/Deep_copy
> オブジェクトの ディープコピー とは、コピー先のオブジェクトのプロパティがコピー元のオブジェクトのプロパティと同一の参照(同じ値を指す)で共有しないコピー方法のことです。結果として、コピー元かコピー先のどちらかを変更しても、もう一方オブジェクトにも変更を及ぼしていないことを保証できます。すなわち、コピー元かコピー先に意図せずに予期しない変更が加えられるこはありません。この振る舞いはシャローコピーとは対照的です。シャローコピーでは、コピー元かコピー先のどちらかを変更するともう一方のオブジェクトも変更される可能性があります。
> プロパティがすべてプリミティブ値であるオブジェクトのコピーは、ディープコピーとシャローコピーの両方の定義に当てはまります。しかし、このようなコピーの深さについて話すのはやや無意味です。というのも、このコピーには入れ子プロパティがなく、ディープコピーについては通常、入れ子プロパティを変更するコンテキストで話すからです。
965デフォルトの名無しさん
2026/07/24(金) 19:26:06.72ID:ubGLSJxU966デフォルトの名無しさん
2026/07/24(金) 19:26:37.26ID:ClG+7gyM967デフォルトの名無しさん
2026/07/24(金) 19:27:56.84ID:U8nohlki968デフォルトの名無しさん
2026/07/24(金) 19:30:12.36ID:B1bgDAdW Rustなら話は非常に簡単だよね
関数がVecなど構造体を返すのはシャローコピー
clone()して返すとディープコピー
関数がVecなど構造体を返すのはシャローコピー
clone()して返すとディープコピー
969デフォルトの名無しさん
2026/07/24(金) 19:33:33.78ID:Ut9H4FRI >>968
構造体にもいろいろあるからややこしい
データの実体をどう考えるかという話で、Vecはスタックに置かれる管理構造体は実体ではなくて、データの実体はヒープに置かれた可変長の配列データなので、シャローコピーになる
でも構造体自体がデータの実体なら、そのコピーはディープコピーとなる
構造体にもいろいろあるからややこしい
データの実体をどう考えるかという話で、Vecはスタックに置かれる管理構造体は実体ではなくて、データの実体はヒープに置かれた可変長の配列データなので、シャローコピーになる
でも構造体自体がデータの実体なら、そのコピーはディープコピーとなる
970デフォルトの名無しさん
2026/07/24(金) 19:33:57.79ID:1w4K/jCF >>968
Rustはディープコピーが必ずcloneになるから分かりやすいよな
Rustはディープコピーが必ずcloneになるから分かりやすいよな
971デフォルトの名無しさん
2026/07/24(金) 19:36:41.47ID:ElAURJKT .clone() は管理構造体だけでなくヒープに置かれた可変長の配列データという実体をコピーするので、当然ディープコピー
ただ、.clone() 以外の方法で実体をコピーすることもできて、それがCopyトレイトと呼ばれるもの
Rustの場合はこのCopyトレイトがあれば、.clone() でなく代入によってディープコピーを行うことができる
ただ、.clone() 以外の方法で実体をコピーすることもできて、それがCopyトレイトと呼ばれるもの
Rustの場合はこのCopyトレイトがあれば、.clone() でなく代入によってディープコピーを行うことができる
972デフォルトの名無しさん
2026/07/24(金) 19:38:29.79ID:ElAURJKT Rustではあくまで標準状態がmoveなだけで、copyが利用できないわけではないので、プリミティブ値にはこのCopyトレイトが用意されている
この場合必ずディープコピーが発生する(MDNの記述通り、プリミティブ値についてはシャローコピーとディープコピーは同時に成立するため、通常この区別を論じる必要はない)
この場合必ずディープコピーが発生する(MDNの記述通り、プリミティブ値についてはシャローコピーとディープコピーは同時に成立するため、通常この区別を論じる必要はない)
973デフォルトの名無しさん
2026/07/24(金) 19:41:06.80ID:ElAURJKT ただし、Copyトレイトはプログラマが定義した型に用意することもできるため、プリミティブ値でない値が必ずmoveすることは保証されない
この場合はシャローコピー(一部除くmove)とディープコピー(.clone() または Copyトレイト)が区別される必要がある
この場合はシャローコピー(一部除くmove)とディープコピー(.clone() または Copyトレイト)が区別される必要がある
974デフォルトの名無しさん
2026/07/24(金) 19:43:46.18ID:vUmL0DQY あれだよね、複オジが「そんなことするのはバカ」って言ってたけど実際はよくされている、moveで受け取ったデータを戻り値で返すを繰り返すパターンは、これがシャローコピーだから成り立っていると
975デフォルトの名無しさん
2026/07/24(金) 19:44:41.04ID:Tmh4AYKj せやな
976デフォルトの名無しさん
2026/07/24(金) 19:46:47.08ID:cRa7vLpB 一部、『構造体』と言った時にヒープの管理構造体しか思い浮かばない人が(複おじ以外にも)いるっぽいけど、Rustでは構造体は非常によく使われるので、データの実体を持っていることも普通にある
なので構造体がコピーされる = シャローコピーとは決まっていない
なので構造体がコピーされる = シャローコピーとは決まっていない
977デフォルトの名無しさん
2026/07/24(金) 19:53:33.69ID:24e2kQId >>962
> スタック領域に実体が置かれている場合、戻り値に指定するとmoveでも実体のコピーが発生する(仕様上の話。最適化の話はまた別)ため、ディープコピーの条件を満たす
ややこしいのはこれよな
ディープコピーというのはあくまで、実体を新たに作成して対応するデータを写し取る複製のことだから、スタックがpopされて実体の置き場所を変更する必要が生まれた時は、当然ディープコピーせざるを得ない
実際は先に、受け取る側のスタックに確保しておいてこのアドレスを使わせるという最適化が走るので、仕様上発生するはずのディープコピーは発生しないけど、これは最適化なのでできるパターンとできないパターンがある
> スタック領域に実体が置かれている場合、戻り値に指定するとmoveでも実体のコピーが発生する(仕様上の話。最適化の話はまた別)ため、ディープコピーの条件を満たす
ややこしいのはこれよな
ディープコピーというのはあくまで、実体を新たに作成して対応するデータを写し取る複製のことだから、スタックがpopされて実体の置き場所を変更する必要が生まれた時は、当然ディープコピーせざるを得ない
実際は先に、受け取る側のスタックに確保しておいてこのアドレスを使わせるという最適化が走るので、仕様上発生するはずのディープコピーは発生しないけど、これは最適化なのでできるパターンとできないパターンがある
978デフォルトの名無しさん
2026/07/24(金) 19:55:44.17ID:t7R+hAOc 複おじって荒らしたいマウント取りたいだけで責任は負いたくないタイプだから、どのスレでも980が近づいてくると静かになって、その後けたたましく喚き始めるよな
979デフォルトの名無しさん
2026/07/24(金) 19:56:54.14ID:24e2kQId980デフォルトの名無しさん
2026/07/24(金) 19:59:07.85ID:24e2kQId >>977なので、この話の発端になった複オジの「スタックにどれだけ大きいデータを置いても拡張すれば欠点皆無で使える」は正しくない
981デフォルトの名無しさん
2026/07/24(金) 19:59:42.01ID:24e2kQId ここから複おじの時間かな
982デフォルトの名無しさん
2026/07/24(金) 20:05:59.07ID:24e2kQId983デフォルトの名無しさん
2026/07/24(金) 20:08:56.96ID:TwOMBitv ホントに970超えてから急に、あれだけ「ディープコピーは参照を含む場合だけ!」と騒いでた複数のIDが無言になったな
984デフォルトの名無しさん
2026/07/24(金) 20:15:26.16ID:/OO5Vvu4 流石に露骨すぎてわかりやすいよな
前スレでも970あたりから黙ってたしw
前スレでも970あたりから黙ってたしw
985デフォルトの名無しさん
2026/07/24(金) 20:19:11.95ID:wbLRAqNe >>要するに、文脈や構造を見ず文中の単語だけをつまみ食いして、「〜って言ってる!」と脳内変換してしまう、いわゆる**機能的文脈文盲**(単語は読めても構造が理解できない状態)ですね。
これAIの回答っぽいだけに辛辣すぎて笑った
これAIの回答っぽいだけに辛辣すぎて笑った
986デフォルトの名無しさん
2026/07/24(金) 20:32:01.52ID:I7AzWuQz 複おじはこっちだと答え出すぎてるから新スレで暴れることにしたらしい
987デフォルトの名無しさん
2026/07/24(金) 20:36:14.40ID:I7AzWuQz 英語で書いてあったら国際的な定義、日本語で書いてあったら間違ってるらしいw
988デフォルトの名無しさん
2026/07/24(金) 20:38:23.89ID:KYRlA4KA 複オジ理論はよくわからん
989デフォルトの名無しさん
2026/07/24(金) 20:44:57.79ID:W/d7Mv2N あいつ変なことしか言わねえな
990デフォルトの名無しさん
2026/07/24(金) 20:46:06.35ID:e9l5scLb Rustを勉強したら儲かりますか?
991デフォルトの名無しさん
2026/07/24(金) 20:58:27.92ID:GMVtSP0X 君たちが正論で追い詰めるから複おじは黙ってしまいました
あーあ
あーあ
992デフォルトの名無しさん
2026/07/24(金) 20:58:44.31ID:WVcSNKWA 黙ってくれた方がうれしい定期
993デフォルトの名無しさん
2026/07/24(金) 21:08:21.43ID:c1YiTQq7 黙ったところで住民が残ってるわけじゃないし冷やかしで見に来てるだけなのでどっちでもいいです
994デフォルトの名無しさん
2026/07/24(金) 21:11:16.94ID:JtKQuH3B 何言ってんだこいつ
995デフォルトの名無しさん
2026/07/24(金) 21:16:08.14ID:8YZRBJlW 今度はプリミティブ値の入った構造体を丸ごとコピーしてもディープコピーじゃないと主張することで、相手を言い負かしたがってる模様
996デフォルトの名無しさん
2026/07/24(金) 21:19:53.12ID:WKAMhSVT もうめちゃくちゃで草
997デフォルトの名無しさん
2026/07/24(金) 21:34:41.28ID:/w/RcGUU コロコロ変わるなあ
998デフォルトの名無しさん
2026/07/24(金) 23:34:02.51ID:vZeGyDIK Rustのムーブがディープコピーになることはありません
999デフォルトの名無しさん
2026/07/25(土) 00:05:40.49ID:o/HmqDU4 そりゃ当たり前
1000デフォルトの名無しさん
2026/07/25(土) 00:06:50.44ID:kvAB/Upo こいつバカ?
>>671 デフォルトの名無しさん sage 2026/07/21(火) 16:03:56.55 ID:8y3GD3Tf
スタック領域に大きなデータを置くと関数の壁を跨ぐ度にディープコピーになる
>>671 デフォルトの名無しさん sage 2026/07/21(火) 16:03:56.55 ID:8y3GD3Tf
スタック領域に大きなデータを置くと関数の壁を跨ぐ度にディープコピーになる
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 7日 4時間 54分 20秒
新しいスレッドを立ててください。
life time: 7日 4時間 54分 20秒
10021002
Over 1000Thread 5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。
▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.io/
▼ UPLIFTログインはこちら ▼
https://uplift.5ch.io/login
運営にご協力お願いいたします。
───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。
▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.io/
▼ UPLIFTログインはこちら ▼
https://uplift.5ch.io/login
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【静岡】高級メロンを盗もうとして ベトナム国籍の男2人がハウスに侵入か ブランド「アローマメロン」すでに周辺で50個以上の被害 [煮卵★]
- timelesz猪俣周杜(25歳)「口論になってパニックに」 女性が鼻から出血し顔にアザ★2 [ヴァイヴァー★]
- 【アジア大会】バスケ男子、韓国が3大会ぶり金メダル 日本に逆転勝ち NBA挑戦イ・ヒョンジュンら兵役免除に [阿弥陀ヶ峰★]
- 【芸能】明石家さんま すぐ辞めてフリーになる女子アナに不満爆発 「許せないねん」「礼儀的なものが…」 [冬月記者★]
- 「白髪混じりのキョンキョン」小泉今日子(60) シミやシワもそのまま…すっぴんふうの自然体姿に反響「素敵な年の取り方」 [muffin★]
- 有吉弘行が「めっちゃ面白い」と絶賛する漫画とは?「野球好きなら、絶対に読んだ方がいい」 [muffin★]
- ウッドデッキに呪われて特定の単語を呪文のように唱えてる地縛霊いるでしょ?レスバ弱いハッタショに限ってレスバしたがりなのはなぜ?
- 【高市悲報】台風、来る前に終わる🥹 [616817505]
- 【高市絶望】千葉県さん、ド派手に逝く...😨 [616817505]
- 【画像】JSの膨らみかけたオッパイ [834922174]
- vtuberのファンって見てるvtuberが開示してるって分かったら見る気なくなったりしないの? [294785177]
- 【動画】40代独身日本人男性のたかしさん(顔は中の上)、悲惨すぎる… [668024367]