公式
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 part28
https://mevius.5ch.net/test/read.cgi/tech/1742805420/
ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
探検
Rust part29
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2025/05/03(土) 00:47:30.13ID:phVJ5tWC536デフォルトの名無しさん
2025/05/16(金) 19:35:12.11ID:b58fLBSS537デフォルトの名無しさん
2025/05/16(金) 19:39:18.59ID:zQbADFxC538デフォルトの名無しさん
2025/05/16(金) 19:45:26.73ID:b58fLBSS539デフォルトの名無しさん
2025/05/16(金) 19:48:17.71ID:zQbADFxC いつもの人間が判断するだけの事に名前を付けたのね
540デフォルトの名無しさん
2025/05/16(金) 19:49:07.71ID:zQbADFxC そうなると複オジ本人だなw
541デフォルトの名無しさん
2025/05/16(金) 20:03:38.49ID:CtDSSAzz >>537
一通り読んだけど、c2rustのunsafeコードを修正する際に適用することにしている、一般的に高速化に寄与すると考えられる作法を紹介しているだけで、
実行時のパフォーマンスについての詳細な分析結果は特に見つけられなかった
プロジェクトの概要なんかも見てると金貰って開発する上で結構厳しくQCD管理されてるみたいだから、
どうしても自分達で解決できないというよりは単に切羽詰まってるから助けてくれという感じなのかね
一通り読んだけど、c2rustのunsafeコードを修正する際に適用することにしている、一般的に高速化に寄与すると考えられる作法を紹介しているだけで、
実行時のパフォーマンスについての詳細な分析結果は特に見つけられなかった
プロジェクトの概要なんかも見てると金貰って開発する上で結構厳しくQCD管理されてるみたいだから、
どうしても自分達で解決できないというよりは単に切羽詰まってるから助けてくれという感じなのかね
542デフォルトの名無しさん
2025/05/16(金) 20:14:28.07ID:zQbADFxC 複オジは仮病だろうけど、最近の話題でこんな画像があった
統合失調症のブログが話題に「全てがわかる。すべてのすべて」
https://pbs.twimg.com/media/Gpy43ktaYAYMz9w.jpg
統合失調症のブログが話題に「全てがわかる。すべてのすべて」
https://pbs.twimg.com/media/Gpy43ktaYAYMz9w.jpg
543デフォルトの名無しさん
2025/05/16(金) 23:32:05.70ID:V5h5/o2J >>513
この種の速さ命のプログラミングではpanicコードを完全に排除するためその問題は起きない
この種の速さ命のプログラミングではpanicコードを完全に排除するためその問題は起きない
544デフォルトの名無しさん
2025/05/16(金) 23:35:06.70ID:ZEBLDPGc545デフォルトの名無しさん
2025/05/16(金) 23:48:27.11ID:+TOH8huo546デフォルトの名無しさん
2025/05/17(土) 02:16:37.18ID:hnIBgbwS >>545
頭おかしいのはみんな気づいてるからいいとして、せめてコテにしてNGさせてくれよな
延々中身のない仕様も理解していないレスバを目にするのも辛いしな
よりに寄ってこんな過疎スレに来なくていいのに
頭おかしいのはみんな気づいてるからいいとして、せめてコテにしてNGさせてくれよな
延々中身のない仕様も理解していないレスバを目にするのも辛いしな
よりに寄ってこんな過疎スレに来なくていいのに
547デフォルトの名無しさん
2025/05/17(土) 07:06:56.82ID:XtHNXmhB 科学 + 5ch
20種近くも検出された新しい「量子状態」は、量子コンピューター飛躍の鍵になるか [すらいむ★]
2025/05/16(金) 22:52:02.48
http://egg.5ch.net/test/read.cgi/scienceplus/1747403522/
>>これまで理論上の存在と考えられてきた量子状態の検出に、国際研究チームが初めて成功した。量子情報の保存や論理演算の基盤として応用することで、量子コンピューターの未来を変える鍵となるかもしれない。
※犯罪の手口が判明するのか
20種近くも検出された新しい「量子状態」は、量子コンピューター飛躍の鍵になるか [すらいむ★]
2025/05/16(金) 22:52:02.48
http://egg.5ch.net/test/read.cgi/scienceplus/1747403522/
>>これまで理論上の存在と考えられてきた量子状態の検出に、国際研究チームが初めて成功した。量子情報の保存や論理演算の基盤として応用することで、量子コンピューターの未来を変える鍵となるかもしれない。
※犯罪の手口が判明するのか
548デフォルトの名無しさん
2025/05/17(土) 07:42:04.23ID:lDt9R68w >延々中身のない仕様も理解していないレスバ
潰し屋だな
潰し屋だな
549デフォルトの名無しさん
2025/05/17(土) 08:40:26.34ID:qCs3WkDL 全能感があるだけ幸せなのでは?自分は真逆で老化がはじまったんかと思うぐらい
550デフォルトの名無しさん
2025/05/17(土) 10:25:49.04ID:+mXvyyg4 糖質というより発達系だろ
間違いを認めたら負けみたいな中華メンタルも持ち合わせてるけどあれは病気じゃなくて人間性の問題
間違いを認めたら負けみたいな中華メンタルも持ち合わせてるけどあれは病気じゃなくて人間性の問題
551デフォルトの名無しさん
2025/05/17(土) 10:34:31.56ID:9HrlEF5X キチガイの自白で荒らされてますが
Rust 1.0からちょうど10周年ですよ
おめでとう!
Rust 1.0からちょうど10周年ですよ
おめでとう!
552デフォルトの名無しさん
2025/05/17(土) 10:41:03.44ID:qCs3WkDL Rustのすべてが正しいという発想しかない異常者
553デフォルトの名無しさん
2025/05/17(土) 10:49:42.53ID:BnclY/n2 複オジ今日も快調に暴走
554デフォルトの名無しさん
2025/05/17(土) 15:50:10.71ID:P2bp1h/d 複ちゃん消したらもうこのスレの存在意義ないけど
555デフォルトの名無しさん
2025/05/17(土) 18:34:13.65ID:Vu4+Tz9e AI吹くちゃん二代目襲名
556デフォルトの名無しさん
2025/05/17(土) 19:44:04.18ID:t/yU0oIF 1.87で安定化したVec::extract_ifの機能がdrainに近いと思ったけど最初はdrain_filterの名前で提案されてたのね
自動で全部dropできないからdrain_filterとかdrain_ifだとだめらしい
drainが排出じゃなく吸収のイメージなのはFFが原因だな
自動で全部dropできないからdrain_filterとかdrain_ifだとだめらしい
drainが排出じゃなく吸収のイメージなのはFFが原因だな
557デフォルトの名無しさん
2025/05/17(土) 22:10:30.09ID:pKwTZqOi extract_if()はむしろretain()+捨てる分を取り出し(extract)と考えた方がいい
ただし残すをtrueか取り出すをtrueかで判定関数の真偽が逆に注意
ついでに判定関数の引数が&vec[i]から&mut vec[i]に変わってるため残すものも値書き換え可のおまけ付き
ただし残すをtrueか取り出すをtrueかで判定関数の真偽が逆に注意
ついでに判定関数の引数が&vec[i]から&mut vec[i]に変わってるため残すものも値書き換え可のおまけ付き
558デフォルトの名無しさん
2025/05/17(土) 22:46:26.94ID:t/yU0oIF 返されたイテレータを使い切らないと全部削除されないからretainとも微妙に違う
nextで取った分だけ削除だからpeekableとの取り合わせが悪そう
あと関数名はextract_ifじゃなくextractだけでよかった気がする
extractがないのにextract_ifがあるのは何かバランス悪い
drain_filterから紆余曲折あったみたいだから仕方ないけど
nextで取った分だけ削除だからpeekableとの取り合わせが悪そう
あと関数名はextract_ifじゃなくextractだけでよかった気がする
extractがないのにextract_ifがあるのは何かバランス悪い
drain_filterから紆余曲折あったみたいだから仕方ないけど
559デフォルトの名無しさん
2025/05/17(土) 23:12:09.74ID:pKwTZqOi >>558
書いた通り、retain()+捨てる分を取り出し(extract)
だから取り出さないと削除されない
イテレータが進んだ分だけretainと一致する
名前の_ifはすぐに類似のpop_ifが想起される
pop_ifでも条件判定の引数が可変参照で同じだからrangeをlastにしたものと見なすことができる
ifの付かないpopは無条件だから
ifの付かないextractも無条件となる
だからextract_ifというメソッド名が正解で一貫している
書いた通り、retain()+捨てる分を取り出し(extract)
だから取り出さないと削除されない
イテレータが進んだ分だけretainと一致する
名前の_ifはすぐに類似のpop_ifが想起される
pop_ifでも条件判定の引数が可変参照で同じだからrangeをlastにしたものと見なすことができる
ifの付かないpopは無条件だから
ifの付かないextractも無条件となる
だからextract_ifというメソッド名が正解で一貫している
560デフォルトの名無しさん
2025/05/18(日) 00:31:27.80ID:+SIFIDid すでにドレンフィルタって名称の一般的なものがあるけど…
排水管などのフィルター
排水管などのフィルター
561デフォルトの名無しさん
2025/05/18(日) 00:55:22.32ID:+SIFIDid coffee extractionはコーヒー豆の方を取り除いているのか液体(エキス?)を抽出しているのか
562デフォルトの名無しさん
2025/05/18(日) 01:05:08.64ID:GL3oFIgT extract は語源的には ex (外へ) - tract (引っ張る) だから、「取り出す・抽出する」といった意味合いが強い
563デフォルトの名無しさん
2025/05/18(日) 01:06:15.76ID:+SIFIDid コーヒー豆とコーヒーが混ざった物からコーヒーを抽出するよね
それをコーヒーを捨てているとは言わない
残ってる方は最後まで濾さないとコーヒー豆とコーヒーが混ざった物でしかないので無価値
一方で抽出したほうはコーヒーなので価値がある
この意味が判るかどうか?
それをコーヒーを捨てているとは言わない
残ってる方は最後まで濾さないとコーヒー豆とコーヒーが混ざった物でしかないので無価値
一方で抽出したほうはコーヒーなので価値がある
この意味が判るかどうか?
564デフォルトの名無しさん
2025/05/18(日) 07:46:36.17ID:AGGexLjT 企業献金、結論先送りへ 自公国法案、提出取りやめ [蚤の市★]
2025/05/17(土) 21:17:14.36
https://asahi.5ch.net/test/read.cgi/newsplus/1747484234/
全国1万1155の企業・団体の政治献金「97%」が自民へ、シンクタンク調査 [おっさん友の会★]
2025/05/14(水) 11:12:39.51
https://asahi.5ch.net/test/read.cgi/newsplus/1747188759/
2025/05/17(土) 21:17:14.36
https://asahi.5ch.net/test/read.cgi/newsplus/1747484234/
全国1万1155の企業・団体の政治献金「97%」が自民へ、シンクタンク調査 [おっさん友の会★]
2025/05/14(水) 11:12:39.51
https://asahi.5ch.net/test/read.cgi/newsplus/1747188759/
565デフォルトの名無しさん
2025/05/18(日) 09:41:45.81ID:6WAEpSNG Vecに含まれる構造体を参照しながら、別の構造体に変更を加える処理ってどれがベストでしょうか
566デフォルトの名無しさん
2025/05/18(日) 10:17:55.24ID:rfn3+MVd これは任意の方苦に向けて電波攻撃可能ということでしょうか?
プログラムの改造で下記が可能になるのでしょうか
「Xperia」が電波法違反、ソニーに行政指導--総務省
2024年12月13日 15時23分
https://japan.cnet.com/article/35227306/
>>スマートフォンにおいて「工事設計認証を受けた工事設計にない空中線を使用しての電波発射が可能な仕様となっている状態にあった事実が認められた」という。
プログラムの改造で下記が可能になるのでしょうか
「Xperia」が電波法違反、ソニーに行政指導--総務省
2024年12月13日 15時23分
https://japan.cnet.com/article/35227306/
>>スマートフォンにおいて「工事設計認証を受けた工事設計にない空中線を使用しての電波発射が可能な仕様となっている状態にあった事実が認められた」という。
567デフォルトの名無しさん
2025/05/18(日) 11:19:10.16ID:HgIqS8Uk >>565
色々方法があってどれがベストかは状況による
a. 変更内容を作成する処理と変更を適用する処理を分離する
b. split_mut系で更新部分と参照部分のスライスに分割する
c. takeとかreplaceで変更対象の構造体を一旦Vecから取り外す
d. Vec内の構造体を全部RefCellに入れる
可能ならaがベストかな
色々方法があってどれがベストかは状況による
a. 変更内容を作成する処理と変更を適用する処理を分離する
b. split_mut系で更新部分と参照部分のスライスに分割する
c. takeとかreplaceで変更対象の構造体を一旦Vecから取り外す
d. Vec内の構造体を全部RefCellに入れる
可能ならaがベストかな
568デフォルトの名無しさん
2025/05/18(日) 11:30:08.35ID:vhS9Z2b5 よくそんな意味不明な質問に答えられるなと思う
自分がアホなのか、予定された質問に予定された答えなのかわからない
本当にわからない
自分がアホなのか、予定された質問に予定された答えなのかわからない
本当にわからない
569デフォルトの名無しさん
2025/05/18(日) 11:41:01.25ID:6WAEpSNG >>567
かなり曖昧な質問に答えてくれてありがとう。
他の言語だとリストから参照で構造体を取り出して、他の構造体を変更したり色々できたけどRustだとかなり制限がキツくて躓いた。ChatGPTにも聞いたりだけどイマイチ納得できなくて、実際使ってる皆さんに聞きたくなったんだよね。
かなり曖昧な質問に答えてくれてありがとう。
他の言語だとリストから参照で構造体を取り出して、他の構造体を変更したり色々できたけどRustだとかなり制限がキツくて躓いた。ChatGPTにも聞いたりだけどイマイチ納得できなくて、実際使ってる皆さんに聞きたくなったんだよね。
570デフォルトの名無しさん
2025/05/18(日) 11:44:13.33ID:vhS9Z2b5 ChatGPTに聞いたなら質問を清書してくれただろ?
そっちを貼ればいいだろ?
謎すぎる
そっちを貼ればいいだろ?
謎すぎる
571デフォルトの名無しさん
2025/05/18(日) 11:45:25.47ID:wGoLP5Sv 意味不明な質問というのには完全に同意
質問と回答が矛盾してるので
さすがにこれは発達オジの自作自演ではないだろう
質問と回答が矛盾してるので
さすがにこれは発達オジの自作自演ではないだろう
572デフォルトの名無しさん
2025/05/18(日) 11:47:57.87ID:wGoLP5Sv あ・・・
自分の中では矛盾してなかったみたいww
自作自演発達オジの日本語能力の問題だったか
自分の中では矛盾してなかったみたいww
自作自演発達オジの日本語能力の問題だったか
573デフォルトの名無しさん
2025/05/18(日) 11:48:09.03ID:6WAEpSNG やりたいことは、構造体には関数も実装ししていて、その関数に大元のVecを渡してそれぞれの要素に変更をかけるみたいなやつだけど、ミニマムで質問してみた。一旦教えてもらったcに近い実装でコンパイル通ったけど、モヤモヤしたので聞いてみました。
574デフォルトの名無しさん
2025/05/18(日) 11:48:46.66ID:6WAEpSNG >>570
確かに、、、すまぬ
確かに、、、すまぬ
575デフォルトの名無しさん
2025/05/18(日) 11:52:57.81ID:GL3oFIgT 「別の構造体」というのは「同じVecの別の位置にある要素」という意味?
values[0] を参照しながら values[1] を変更するみたいな
values[0] を参照しながら values[1] を変更するみたいな
576デフォルトの名無しさん
2025/05/18(日) 11:57:42.82ID:zQyjSV37577デフォルトの名無しさん
2025/05/18(日) 11:58:51.15ID:vhS9Z2b5 書き方が回りくどいね わかりやすく
578デフォルトの名無しさん
2025/05/18(日) 12:05:59.38ID:6WAEpSNG >>575
そうです、言葉足らずでした。。。
そうです、言葉足らずでした。。。
579デフォルトの名無しさん
2025/05/18(日) 12:21:21.33ID:GL3oFIgT >>578
それはRustだと面倒なパターンなので仕方ない
{} でブロックを作って借用のスコープを短くする等でなんとかする
ここはボローチェッカーの気持ちの理解が必要
(なぜダメなのかはエラーメッセージが教えてくれてるから、そこは既に分かってるかもしれないけど)
同じことは構造体の別のフィールドを参照する場合も言える
構造体のフィールドaを可変借用しつつ別のフィールドbを参照するなど
それはRustだと面倒なパターンなので仕方ない
{} でブロックを作って借用のスコープを短くする等でなんとかする
ここはボローチェッカーの気持ちの理解が必要
(なぜダメなのかはエラーメッセージが教えてくれてるから、そこは既に分かってるかもしれないけど)
同じことは構造体の別のフィールドを参照する場合も言える
構造体のフィールドaを可変借用しつつ別のフィールドbを参照するなど
580デフォルトの名無しさん
2025/05/18(日) 12:26:55.54ID:vhS9Z2b5 う~ん
何が言いたいかわからる人にはわかるだろ?
何が言いたいかわからる人にはわかるだろ?
581デフォルトの名無しさん
2025/05/18(日) 12:29:43.83ID:NJShdjf5 何がやりたいのか全然わからん。
コードで示してよ。
コンパイル通らなくてもいいから Rust 風擬似コードって感じで。
コードで示してよ。
コンパイル通らなくてもいいから Rust 風擬似コードって感じで。
582デフォルトの名無しさん
2025/05/18(日) 12:54:12.76ID:uzz3fg67 複おじちゃんは今日もやらかしてるね
特有の癖が出てるのに自分ではバレてないと思ってるから面白い
特有の癖が出てるのに自分ではバレてないと思ってるから面白い
583デフォルトの名無しさん
2025/05/18(日) 13:00:12.37ID:zQyjSV37 困ったことが起きたらその問題が再現する最低限の最小構成コードを書いてみる
すると本質的な構造が見えてくる
その過程で自己解決することも多いだろう
わからなくてもその最小構成コードを貼って質問すればよい
すると本質的な構造が見えてくる
その過程で自己解決することも多いだろう
わからなくてもその最小構成コードを貼って質問すればよい
584デフォルトの名無しさん
2025/05/18(日) 13:58:46.67ID:6WAEpSNG >>579
やはりそうなんですね。ありがとうございます。
>>581
>>583
助言ありがとうございます。
ChatGPTにサンプルコード作ってもらいました。コンパイルは通らないですが、やりたいイメージはこんな感じです。
struct Unit {
id: usize,
hp: i32,
}
impl Unit {
fn act(&mut self, all_units: &mut Vec<Unit>) {
// 自分以外のユニットに攻撃したい
for unit in all_units.iter_mut() {
if unit.id != self.id {
unit.hp -= 10;
}
}
}
}
fn main() {
let mut units = vec![
Unit { id: 0, hp: 100 },
Unit { id: 1, hp: 80 },
Unit { id: 2, hp: 60 },
];
for unit in units.iter_mut() {
unit.act(&mut units); // ❌ コンパイルエラーになるが、やりたいことはこんな感じ
}
}
やはりそうなんですね。ありがとうございます。
>>581
>>583
助言ありがとうございます。
ChatGPTにサンプルコード作ってもらいました。コンパイルは通らないですが、やりたいイメージはこんな感じです。
struct Unit {
id: usize,
hp: i32,
}
impl Unit {
fn act(&mut self, all_units: &mut Vec<Unit>) {
// 自分以外のユニットに攻撃したい
for unit in all_units.iter_mut() {
if unit.id != self.id {
unit.hp -= 10;
}
}
}
}
fn main() {
let mut units = vec![
Unit { id: 0, hp: 100 },
Unit { id: 1, hp: 80 },
Unit { id: 2, hp: 60 },
];
for unit in units.iter_mut() {
unit.act(&mut units); // ❌ コンパイルエラーになるが、やりたいことはこんな感じ
}
}
585デフォルトの名無しさん
2025/05/18(日) 14:03:53.58ID:UzOJGd+R >>584
これも追加
// 自分以外のユニットに攻撃したい
↓
// 自分以外のユニットから奪い取る
if unit.id != self.id {
unit.hp -= 10;
self.hp += 10;
}
これも追加
// 自分以外のユニットに攻撃したい
↓
// 自分以外のユニットから奪い取る
if unit.id != self.id {
unit.hp -= 10;
self.hp += 10;
}
586デフォルトの名無しさん
2025/05/18(日) 14:16:39.01ID:UG4F7Ocv 自作自演スレ
587デフォルトの名無しさん
2025/05/18(日) 16:37:58.98ID:GL3oFIgT >>585
こんなのでどうだろう
https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=871e0b5209dab043741c765000be6e5a
他言語からすると面倒に感じるかも
「要素 i への可変参照を持ちつつ、Vec全体への可変参照を持つ」のは借用チェッカーに引っかかるパターン
if unit.id != self.id の判定が必要なように「all_unitsの中にunitがいるかもしれない」という状況をそもそも借用チェッカーは防ぎたいので
なので、 split_at_mut() を使って参照範囲を ([i] への可変参照, 他の要素への可変参照) に分けてみた
他には Cell (内部可変性) を使うパターンもあるけど、このケースでこれを使うのはちょっと微妙な気がする
こんなのでどうだろう
https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=871e0b5209dab043741c765000be6e5a
他言語からすると面倒に感じるかも
「要素 i への可変参照を持ちつつ、Vec全体への可変参照を持つ」のは借用チェッカーに引っかかるパターン
if unit.id != self.id の判定が必要なように「all_unitsの中にunitがいるかもしれない」という状況をそもそも借用チェッカーは防ぎたいので
なので、 split_at_mut() を使って参照範囲を ([i] への可変参照, 他の要素への可変参照) に分けてみた
他には Cell (内部可変性) を使うパターンもあるけど、このケースでこれを使うのはちょっと微妙な気がする
588デフォルトの名無しさん
2025/05/18(日) 16:40:13.34ID:GL3oFIgT >「all_unitsの中にunitがいるかもしれない」という状況
訂正:「all_unitsの中に自身がいるかもしれない」という状況
訂正:「all_unitsの中に自身がいるかもしれない」という状況
589デフォルトの名無しさん
2025/05/18(日) 16:59:42.16ID:tbHjRPms あんまりアドホックな対応で頑張ってもまた同様の問題でいちいち詰むよ
エンティティなんだから素直に内部可変性を使っておいた方が無難
僅かに遅くはなるだろうが、メモリアクセス効率まで気にするならECSパターンでも覚えた方がいい
エンティティなんだから素直に内部可変性を使っておいた方が無難
僅かに遅くはなるだろうが、メモリアクセス効率まで気にするならECSパターンでも覚えた方がいい
590デフォルトの名無しさん
2025/05/18(日) 17:43:23.59ID:HgIqS8Uk スライスを(init, mid, tail): (&[T], &T, &[T])に分割するsplit_midがほしいな
何かで似たような戻り値の型を見た記憶があるけど
何かで似たような戻り値の型を見た記憶があるけど
591デフォルトの名無しさん
2025/05/18(日) 18:24:32.38ID:UkfPMCWK 1つだけ外したい場合はOption+mem::take/replace使うのが自然だと思う
https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=a84a532ace40d2bb6603510ca1307756
https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=a84a532ace40d2bb6603510ca1307756
592デフォルトの名無しさん
2025/05/18(日) 19:24:49.27ID:HgIqS8Uk 590だけど1.86で追加されたget_disjoint_mutが使えるかもしれない
少し癖があるけどsplitの代替になるかな
fn main() {
let mut v = vec![1, 2, 3, 4, 5];
let len = v.len();
for i in 0..len {
let Ok([init, [mid], tail]) = v.get_disjoint_mut([0..i, i..i + 1, i + 1..len]) else {
panic!();
};
*mid *= 2;
println!("{init:?} {mid} {tail:?}");
}
}
少し癖があるけどsplitの代替になるかな
fn main() {
let mut v = vec![1, 2, 3, 4, 5];
let len = v.len();
for i in 0..len {
let Ok([init, [mid], tail]) = v.get_disjoint_mut([0..i, i..i + 1, i + 1..len]) else {
panic!();
};
*mid *= 2;
println!("{init:?} {mid} {tail:?}");
}
}
593デフォルトの名無しさん
2025/05/18(日) 21:02:54.43ID:tnDwO9ym594デフォルトの名無しさん
2025/05/18(日) 21:12:32.00ID:6WAEpSNG595デフォルトの名無しさん
2025/05/18(日) 21:37:30.85ID:GL3oFIgT 借用チェッカの気持ちとしては、同じオブジェクトへの可変参照が複数ある状態を防ごうとするんだよね
fn act(&mut self, others: &mut [Unit]) { }
の中で、 self を操作しただけで others に影響が出たり、 others への操作が self に影響したりするというのは
潜在的なバグの原因になり得る (読み手にとって意図せぬ動作になり得る) から、そうならないことをコンパイル時に保証しようとする
なので >>587 では、act に渡された時点で self と others は確実に違うものだと分かるコードにすることで、借用チェックの条件をクリアしている
内部可変性は逆に、コンパイル時はいったん不変参照ということにしておいて、実行時に可変借用として取り出すための型
これは「同じオブジェクトへの可変参照は同時に一つまで」というルールを、借用チェッカーではなく自己責任で行うという考え
(「可変参照は同時に一つまで」というルールは変わらないし、実行時にこれを検査する動作になるので、若干のオーバーヘッドはある)
個人的には >>589 も納得できる考えで、エンティティ (idで同一性を検査するオブジェクト) ならそれでいいよねとも思う
Async が絡むと Mutex という別の型 (これも内部可変性と関係する) が出てくるけど、これはまた別のトピックになるので割愛
fn act(&mut self, others: &mut [Unit]) { }
の中で、 self を操作しただけで others に影響が出たり、 others への操作が self に影響したりするというのは
潜在的なバグの原因になり得る (読み手にとって意図せぬ動作になり得る) から、そうならないことをコンパイル時に保証しようとする
なので >>587 では、act に渡された時点で self と others は確実に違うものだと分かるコードにすることで、借用チェックの条件をクリアしている
内部可変性は逆に、コンパイル時はいったん不変参照ということにしておいて、実行時に可変借用として取り出すための型
これは「同じオブジェクトへの可変参照は同時に一つまで」というルールを、借用チェッカーではなく自己責任で行うという考え
(「可変参照は同時に一つまで」というルールは変わらないし、実行時にこれを検査する動作になるので、若干のオーバーヘッドはある)
個人的には >>589 も納得できる考えで、エンティティ (idで同一性を検査するオブジェクト) ならそれでいいよねとも思う
Async が絡むと Mutex という別の型 (これも内部可変性と関係する) が出てくるけど、これはまた別のトピックになるので割愛
596デフォルトの名無しさん
2025/05/18(日) 22:38:23.16ID:vhS9Z2b5 なにかへまったら話題変更のために自演を始めるんかな?
と思ってしまう
いつも大体そんな流れだし急にポップしてくるこのスレの話題は理論寄りが多いのも変な感じする
と思ってしまう
いつも大体そんな流れだし急にポップしてくるこのスレの話題は理論寄りが多いのも変な感じする
597デフォルトの名無しさん
2025/05/18(日) 22:57:08.60ID:wIHSiY7i >>592
使えるけど今回のような用途だと分けた後に前後を足してから処理するところがちょっと重く感じる
https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=9d999080fc4b58f68252699e3ba79edf
使えるけど今回のような用途だと分けた後に前後を足してから処理するところがちょっと重く感じる
https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=9d999080fc4b58f68252699e3ba79edf
598デフォルトの名無しさん
2025/05/18(日) 23:29:42.52ID:HgIqS8Uk >>597
left.iter_mut().chain(right)
はflatten使って
[left, right].into_iter().flatten()
にすれば多少は軽い感じになるかな
処理的には変わらないと思うけど
left.iter_mut().chain(right)
はflatten使って
[left, right].into_iter().flatten()
にすれば多少は軽い感じになるかな
処理的には変わらないと思うけど
599デフォルトの名無しさん
2025/05/19(月) 10:12:45.15ID:NvwVFQDL レスパオジはGoスレに引っ越したらしい
600デフォルトの名無しさん
2025/05/19(月) 10:30:17.58ID:NvwVFQDL >>596
私も同じ匂いを感じます
私も同じ匂いを感じます
601デフォルトの名無しさん
2025/05/19(月) 10:33:51.23ID:ushmtLpU >>596
だよなあ
だよなあ
602デフォルトの名無しさん
2025/05/19(月) 10:55:55.29ID:8M8piIAN 言語が変わっても複オジは変わらんな
自分勝手な間違った解釈を正しいと思い込む病気なのか
間違ってるとわかってもマウントを取り続けないと自我が崩壊する病気なのか
自分勝手な間違った解釈を正しいと思い込む病気なのか
間違ってるとわかってもマウントを取り続けないと自我が崩壊する病気なのか
603デフォルトの名無しさん
2025/05/19(月) 11:52:44.35ID:Xa4RMtJ3604デフォルトの名無しさん
2025/05/19(月) 12:49:02.69ID:3mHCp29v Rustといえどもある程度大きな規模のプロジェクトになってくると、スマポの使用が増えてきてJava/C#/C++あたりとの差異が縮まってくる印象はある
人間の認知能力の限界なんだろうけど、AIによってボローチェッカーが積極的に大域的に活用されるようになったら、人間がついていくのがだんだん厳しくなりそう
人間の認知能力の限界なんだろうけど、AIによってボローチェッカーが積極的に大域的に活用されるようになったら、人間がついていくのがだんだん厳しくなりそう
605デフォルトの名無しさん
2025/05/19(月) 16:44:14.27ID:BXqI3NP/ Rustで100万行クラスの規模のコード書いたからって別に破綻せんよ
依存関係整理して注意して使わないといけないのは規模に関係ない
依存関係整理して注意して使わないといけないのは規模に関係ない
606デフォルトの名無しさん
2025/05/19(月) 17:30:52.93ID:fVYXsIor607デフォルトの名無しさん
2025/05/19(月) 19:00:04.76ID:MIwIfdvI Rust標準ライブラリがcore+alloc+stdで現在34万行
クレイトだと例えばtokioが12万行
クレイトだと例えばtokioが12万行
608デフォルトの名無しさん
2025/05/19(月) 19:20:41.87ID:IV1y8O7J rust-lang/rustのrsファイルだとsrc/(ツール系)が91万行でcompiler/(内部ライブラリ)が69万行
rustcとかrustdocとか混在してて多分同じライブラリ共有してるから個々の正確な数字は出せないね
rustcとかrustdocとか混在してて多分同じライブラリ共有してるから個々の正確な数字は出せないね
609デフォルトの名無しさん
2025/05/19(月) 19:34:29.26ID:2NJk+oE9 新設のmozilla-firefox/firefox内はFF固有コードだとして
>>466の外部crateで実質FF固有なものだけ集めると実は大したこと無いのでは
>>466の外部crateで実質FF固有なものだけ集めると実は大したこと無いのでは
610デフォルトの名無しさん
2025/05/19(月) 20:02:00.34ID:pY+vVO2I 100万行はたとえだろ
何の言語でも100万行になると設計を極限まで綺麗にしないと地獄だわ
何の言語でも100万行になると設計を極限まで綺麗にしないと地獄だわ
611デフォルトの名無しさん
2025/05/19(月) 20:11:56.59ID:l+7bKGMu >>604
> ある程度大きな規模のプロジェクトになってくると、スマポの使用が増えてきて
コンパイラやCLIツールなど比較的短時間でプロセス終了するプログラムなら
life timeを'staticにして逃げる場合があるけど
pure Rust GUIアプリでメモリー使用量を考慮したアプリだとスマポの使用が多そうね
> ある程度大きな規模のプロジェクトになってくると、スマポの使用が増えてきて
コンパイラやCLIツールなど比較的短時間でプロセス終了するプログラムなら
life timeを'staticにして逃げる場合があるけど
pure Rust GUIアプリでメモリー使用量を考慮したアプリだとスマポの使用が多そうね
612デフォルトの名無しさん
2025/05/19(月) 22:29:21.37ID:UKNF/IJC なんか怪しいので自分でも計測してみた
rust/library/core+alloc+stdは18.6万
tokioは8.4万
rust/srcは81.6万
rust/compilerは57.1万
.mdファイルの行数やドキュメントコメント行・ブランク行・コメント行とか水増ししずぎじゃない?
rust/library/core+alloc+stdは18.6万
tokioは8.4万
rust/srcは81.6万
rust/compilerは57.1万
.mdファイルの行数やドキュメントコメント行・ブランク行・コメント行とか水増ししずぎじゃない?
613デフォルトの名無しさん
2025/05/19(月) 22:41:19.70ID:UKNF/IJC614デフォルトの名無しさん
2025/05/19(月) 22:52:59.01ID:afGGDVx/ C/C++製のソフトウェアたちがプログラマのうっかり見逃しミスによるセキュリティホールなどのレポートが常に絶えない原因はその規模と関連がある
かなり小規模なものを除いて人間の手でチェックしている限り一定のミスが入り込む
コンパイラが全体の安全性を保証してくれるRustは規模が大きくなっても有利だろう
かなり小規模なものを除いて人間の手でチェックしている限り一定のミスが入り込む
コンパイラが全体の安全性を保証してくれるRustは規模が大きくなっても有利だろう
615デフォルトの名無しさん
2025/05/20(火) 00:32:14.76ID:ChvDIWk1 普通に規模が大きくなれば一般的に設計と実装の複雑度は変わるよ
どのアプリでも言語でも変わらない
rustはメモリ関連のバグが起こりにくいだけ
どのアプリでも言語でも変わらない
rustはメモリ関連のバグが起こりにくいだけ
616デフォルトの名無しさん
2025/05/20(火) 05:04:51.52ID:bvf2nVKI617デフォルトの名無しさん
2025/05/20(火) 06:00:38.75ID:cDXA4bE/ 「Xperia」が電波法違反、ソニーに行政指導--総務省
2024年12月13日 15時23分
https://japan.cnet.com/article/35227306/
>>スマートフォンにおいて「工事設計認証を受けた工事設計にない空中線を使用しての電波発射が可能な仕様となっている状態にあった事実が認められた」という。
※全携帯とスマートフォンのプログラム改造で人の場所に照射可能になる?
※場合にもよりますがAIと併用して個人を追跡しているのなら24時間商社可能
6Gの候補であるテラヘルツ帯の電波を脳の神経細胞に照射すると細胞が異常な成長を遂げたことが明らかに
2022/08/15
https://gigazine.net/news/20220815-terahertz-radiation-boosts-brain-cell/
携帯電話の使用で「精子の数が減少」の可能性、スイスの研究者が指摘
2023/11/27
https://forbesjapan.com/articles/detail/67083
携帯電話の電磁波が神経や細胞の損傷を引き起こすと主張するロバート・F・ケネディ・ジュニア保健福祉長官が学校での携帯電話の規制を称賛
2025年03月25日 06時00分
https://gigazine.net/news/20250325-rfkjr-kids-cell-phone-schools/
>>ケネディ・ジュニア氏は子どもが携帯電話を使用することについて独自の視点から語り、携帯電話やソーシャルメディアの利用と、うつ病、学業成績の悪さ、薬物乱用との関連性について言及。その中で、「携帯電話は電磁波を発し、一日中携帯電話を身近に置いていると子どもたちの神経にダメージを与え、細胞損傷やがんを引き起こすことが示されている」と指摘しました。
設立 1998年
テクノロジー犯罪の撲滅
Https://media.toriaez.jp/s2972/32686.pdf
P77-身体・運動機能が遠隔から操作される P78-五感が遠隔から操作される
上記が本当だった場合統合失調症操作
統合失調症のう動きがわかるエリアの人はそれを体験中
平衡感覚は別のふらつき缶
視覚感覚なら別の何かを見ている
聴覚感覚なら別の何かの声を聴いている
味覚なら別の味を感じている
触覚なら別の感触を感じている
温覚冷覚なら別の温冷覚感じている
このようになるのですよ
2024年12月13日 15時23分
https://japan.cnet.com/article/35227306/
>>スマートフォンにおいて「工事設計認証を受けた工事設計にない空中線を使用しての電波発射が可能な仕様となっている状態にあった事実が認められた」という。
※全携帯とスマートフォンのプログラム改造で人の場所に照射可能になる?
※場合にもよりますがAIと併用して個人を追跡しているのなら24時間商社可能
6Gの候補であるテラヘルツ帯の電波を脳の神経細胞に照射すると細胞が異常な成長を遂げたことが明らかに
2022/08/15
https://gigazine.net/news/20220815-terahertz-radiation-boosts-brain-cell/
携帯電話の使用で「精子の数が減少」の可能性、スイスの研究者が指摘
2023/11/27
https://forbesjapan.com/articles/detail/67083
携帯電話の電磁波が神経や細胞の損傷を引き起こすと主張するロバート・F・ケネディ・ジュニア保健福祉長官が学校での携帯電話の規制を称賛
2025年03月25日 06時00分
https://gigazine.net/news/20250325-rfkjr-kids-cell-phone-schools/
>>ケネディ・ジュニア氏は子どもが携帯電話を使用することについて独自の視点から語り、携帯電話やソーシャルメディアの利用と、うつ病、学業成績の悪さ、薬物乱用との関連性について言及。その中で、「携帯電話は電磁波を発し、一日中携帯電話を身近に置いていると子どもたちの神経にダメージを与え、細胞損傷やがんを引き起こすことが示されている」と指摘しました。
設立 1998年
テクノロジー犯罪の撲滅
Https://media.toriaez.jp/s2972/32686.pdf
P77-身体・運動機能が遠隔から操作される P78-五感が遠隔から操作される
上記が本当だった場合統合失調症操作
統合失調症のう動きがわかるエリアの人はそれを体験中
平衡感覚は別のふらつき缶
視覚感覚なら別の何かを見ている
聴覚感覚なら別の何かの声を聴いている
味覚なら別の味を感じている
触覚なら別の感触を感じている
温覚冷覚なら別の温冷覚感じている
このようになるのですよ
618デフォルトの名無しさん
2025/05/20(火) 08:02:42.80ID:9y393mCm 幻聴で悪用していると話していました
オープンソースでアニメ動画を自動生成できるAIツール「AniSora」を中国・bilibiliの開発チームが発表
2025年05月19日 19時00分
https://gigazine.net/news/20250519-anisora/
1枚の画像からアニメーションを作成するAIツール「AniSora」を発表しました。
Microsoft CopilotがついにGPT-4oの画像生成をサポート
掲載日 2025/05/19 18:56
https://news.mynavi.jp/techplus/article/20250519-3327017/
Microsoftの公式Xアカウントによる投稿では、2025年5月16日に「4o Image Generationがついにリリースされました」というコメントと共に、Copilotで次のことができるようになったと伝えている。
• 正確で読みやすいテキストをレンダリングする
• 作成したものを編集する
• 複雑な指示に従う
• 既存の画像のスタイルを変換する
• フォトリアリスティックな画像を作成する
同アカウントは、実際にテキストによる指示で画像を微調整していく様子も投稿している。
オープンソースでアニメ動画を自動生成できるAIツール「AniSora」を中国・bilibiliの開発チームが発表
2025年05月19日 19時00分
https://gigazine.net/news/20250519-anisora/
1枚の画像からアニメーションを作成するAIツール「AniSora」を発表しました。
Microsoft CopilotがついにGPT-4oの画像生成をサポート
掲載日 2025/05/19 18:56
https://news.mynavi.jp/techplus/article/20250519-3327017/
Microsoftの公式Xアカウントによる投稿では、2025年5月16日に「4o Image Generationがついにリリースされました」というコメントと共に、Copilotで次のことができるようになったと伝えている。
• 正確で読みやすいテキストをレンダリングする
• 作成したものを編集する
• 複雑な指示に従う
• 既存の画像のスタイルを変換する
• フォトリアリスティックな画像を作成する
同アカウントは、実際にテキストによる指示で画像を微調整していく様子も投稿している。
619デフォルトの名無しさん
2025/05/20(火) 09:44:44.40ID:iko9UpUR620デフォルトの名無しさん
2025/05/20(火) 10:54:31.93ID:XnKVhLuZ 車輪の再発明は再発明であって作り直しのことじゃないよ。
「丸くしたらめっちゃ速く移動できることを発見したぞ!」って今の世の中で言うやつがいたらアホじゃん (そこらにいくらでもあるものが見えてないから) ということを説明してるのが車輪の再発明という言い回し。
「俺も車輪を作れるようになったぞ」とか「別の素材で車輪を作ってみた」みたいなのは再発明ではない。
「丸くしたらめっちゃ速く移動できることを発見したぞ!」って今の世の中で言うやつがいたらアホじゃん (そこらにいくらでもあるものが見えてないから) ということを説明してるのが車輪の再発明という言い回し。
「俺も車輪を作れるようになったぞ」とか「別の素材で車輪を作ってみた」みたいなのは再発明ではない。
621デフォルトの名無しさん
2025/05/20(火) 11:19:42.09ID:S2V0Z25J FirefoxのRust化は本体よりServoあたりを見とけばいいんじゃね?
実用化の目途が立ったら乗り換えるでしょ
ブラウザエンジンはCSSもスクリプトも動画再生も全部面倒見るから1から作るのは大変そう
実用化の目途が立ったら乗り換えるでしょ
ブラウザエンジンはCSSもスクリプトも動画再生も全部面倒見るから1から作るのは大変そう
622デフォルトの名無しさん
2025/05/20(火) 11:21:03.24ID:70z+Wgsn623デフォルトの名無しさん
2025/05/20(火) 11:34:05.86ID:70z+Wgsn >>620
関係ないけど、「別の素材で車輪を作ってみた」は発明じゃね?
関係ないけど、「別の素材で車輪を作ってみた」は発明じゃね?
624デフォルトの名無しさん
2025/05/20(火) 11:36:15.63ID:sS1iaU5A625デフォルトの名無しさん
2025/05/20(火) 12:25:37.28ID:LU0N+B9o servoの努力を馬鹿にはしないけど
experimentalよりもアリバイ作りに見える位なので
servoの成果を当てにするのはどうかと思う
experimentalよりもアリバイ作りに見える位なので
servoの成果を当てにするのはどうかと思う
626デフォルトの名無しさん
2025/05/20(火) 12:30:48.46ID:18JQhe8j servoは、tauriで使うために開発再開したんじゃなかったっけ?
その後チェックしてないけど
その後チェックしてないけど
627デフォルトの名無しさん
2025/05/20(火) 12:35:54.41ID:uYNL9fZG 車輪の再発明/servoの話で想起されたけど時々、高校生がピタゴラスの定理の新証明を発見的なニュースがある
高校生だから良いけど素人オジだったら大分印象変わる
高校生だから良いけど素人オジだったら大分印象変わる
628デフォルトの名無しさん
2025/05/20(火) 12:43:24.47ID:uYNL9fZG629デフォルトの名無しさん
2025/05/20(火) 12:46:23.55ID:ZQMuhpil というかfirefoxのリポジトリを取ってきて*.rsの行数数えるだけで400万行超えるんだが…
630デフォルトの名無しさん
2025/05/20(火) 13:28:39.47ID:bKts0GWq >>629
言う奴いると思ってたら...
tokei -C -t=Rust -e third_party
Language Files Lines Code Comments Blanks
Rust 1193 416629 348374 23629 44626
コンパイラ入ってら
tokei -C -t=Rust third_party/rust
Language Files Lines Code Comments Blanks
Rust 10915 3845860 3397959 148316 299585
言う奴いると思ってたら...
tokei -C -t=Rust -e third_party
Language Files Lines Code Comments Blanks
Rust 1193 416629 348374 23629 44626
コンパイラ入ってら
tokei -C -t=Rust third_party/rust
Language Files Lines Code Comments Blanks
Rust 10915 3845860 3397959 148316 299585
631デフォルトの名無しさん
2025/05/20(火) 13:31:22.64ID:pdWnkKc/ >>623
発明だが車輪を発明したわけではない。
発明だが車輪を発明したわけではない。
632デフォルトの名無しさん
2025/05/20(火) 13:32:11.96ID:bKts0GWq コンパイラ本体の実数は>>612
633デフォルトの名無しさん
2025/05/20(火) 13:35:06.85ID:bKts0GWq >>631
面白いね
起源:
紀元前3500年頃、メソポタミア文明(現在のイラク地域)のシュメール人によって車輪が発明されたとされています。
初期の車輪:
固い木材を丸く削り出しただけの単純な構造で、主に陶器の製作や物資の運搬に使用されていた。
発明者:
車輪の発明者として特定の人物が特定されているわけではなく、シュメール文明における技術革新の成果として捉えられています。
面白いね
起源:
紀元前3500年頃、メソポタミア文明(現在のイラク地域)のシュメール人によって車輪が発明されたとされています。
初期の車輪:
固い木材を丸く削り出しただけの単純な構造で、主に陶器の製作や物資の運搬に使用されていた。
発明者:
車輪の発明者として特定の人物が特定されているわけではなく、シュメール文明における技術革新の成果として捉えられています。
634デフォルトの名無しさん
2025/05/20(火) 13:35:22.56ID:EJYGGfjm635デフォルトの名無しさん
2025/05/20(火) 13:38:36.14ID:bKts0GWq なるへそ
でも趣旨は同じです
でも趣旨は同じです
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】トランプ大統領、中国の習近平国家主席を「国賓」として招待することに ★2 [ニョキニョキ★]
- 日本と中国を結ぶ12航空路線で全便欠航 中国人に最も人気の海外旅行先は日本から韓国に [ぐれ★]
- 米中電話会談、トランプ氏は「米国側は中国にとっての台湾問題の重要性を理解する」 [1ゲットロボ★]
- 【東京・足立の車暴走】赤信号無視か 危険運転致死傷疑いも視野に捜査 逮捕された職業不詳の男性(37)は精神疾患で通院歴も ★3 [ぐれ★]
- 【音楽】「なんでこんなバカが国のトップなの?」 若者に人気のバンド「GEZAN」のマヒトゥ・ザ・ピーポーが高市総理に苦言 [シャチ★]
- 【国際】トランプ氏、来年4月に中国を訪問する招待を受け入れる 習氏も国賓で訪米へ 電話会談 [ぐれ★]
- 【画像】なんか模型屋さんにいかにもお前らが好んでそうなアキバ系のアニメ?のキャラいたけどこれなに?
- VIPでアズールレーン
- 【高市悲報】来年、習近平主席がアメリカに「国賓」として訪米。どうするんだよ高市・・・アメリカも敵に回すのか? [483862913]
- フィフィ「外国人だろうが日本人だろうが反日は要らんのよ、この国に…自分にとって住みやすい国に行け。」 [856698234]
- 【悲報】有名配信者さん、公式大会で小学生の前で奇行して炎上して逆ギレwwwwwwwwwwwwwwwwww [856698234]
- 猟友会ハンター「警察や自衛隊の力を借りてのクマ駆除は大歓迎。肉の加工など 駆除の後についてもしっかりと話を進めてほしい」 [932029429]
