公式
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 part25
https://mevius.5ch.net/test/read.cgi/tech/1722354386/
ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
探検
Rust part26
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2024/09/20(金) 22:18:38.38ID:c48cFuZJ2024/10/02(水) 23:32:21.66ID:5rx4Z4Pt
>>92
そこに着目して各個別の境界チェックを無くしてCと同じ速さが出るようにしたのがRustだね
そこに着目して各個別の境界チェックを無くしてCと同じ速さが出るようにしたのがRustだね
2024/10/02(水) 23:52:48.74ID:iTWoI127
2024/10/02(水) 23:59:36.32ID:iTWoI127
あった、前スレ930
Zig 0.107
g++ 0.115
Rust 0.129 (bit-vect)
clang++ 0.131
Go 0.202 (godropbox/container/bitvector)
Rust 0.284 (Vec<bool>)
Go 0.326 ([]bool)
Zig 0.107
g++ 0.115
Rust 0.129 (bit-vect)
clang++ 0.131
Go 0.202 (godropbox/container/bitvector)
Rust 0.284 (Vec<bool>)
Go 0.326 ([]bool)
2024/10/03(木) 00:25:43.29ID:ooCKJPq8
>>94
Zigは境界チェックをしていないダメな言語側なので論外
Zigは境界チェックをしていないダメな言語側なので論外
2024/10/03(木) 00:29:43.46ID:Zb2tT7+Y
オプションで境界チェック消すのはRustと一緒じゃん
2024/10/03(木) 00:36:59.84ID:Zb2tT7+Y
>>95
よく見たら、これはインデックスでのランダムアクセスが必要なアルゴリズムだから
Rust側はオプションで境界チェック消さないとclangにも追い付かない
ダメな言語側避けると、RustとGoが同レベルなんじゃないかな
よく見たら、これはインデックスでのランダムアクセスが必要なアルゴリズムだから
Rust側はオプションで境界チェック消さないとclangにも追い付かない
ダメな言語側避けると、RustとGoが同レベルなんじゃないかな
99デフォルトの名無しさん
2024/10/03(木) 01:45:50.92ID:dz5L3Xqm >>87
>「普通にやったらこうなる」という比較のほうが
>日常的なユースケースでは意味のある比較に思える。
SNSでRustとC++でベンチマークを書いている人、
C++では、「普通のやり方」が書けてないケースが
ほとんど。
そもそも、C++がCよりも数%を超えるような
大幅に遅い結果が出ている時点で書き方がおかしい。
>「普通にやったらこうなる」という比較のほうが
>日常的なユースケースでは意味のある比較に思える。
SNSでRustとC++でベンチマークを書いている人、
C++では、「普通のやり方」が書けてないケースが
ほとんど。
そもそも、C++がCよりも数%を超えるような
大幅に遅い結果が出ている時点で書き方がおかしい。
100デフォルトの名無しさん
2024/10/03(木) 01:56:21.29ID:03B8BtDx >>99
妄想じゃないなら参考までに2,3見繕ってくれよ
妄想じゃないなら参考までに2,3見繕ってくれよ
101デフォルトの名無しさん
2024/10/03(木) 01:58:36.94ID:dz5L3Xqm Rust信者は自分が間違っていることに気付かない。
102デフォルトの名無しさん
2024/10/03(木) 01:59:28.46ID:ooCKJPq8103デフォルトの名無しさん
2024/10/03(木) 02:04:50.11ID:03B8BtDx104デフォルトの名無しさん
2024/10/03(木) 02:06:36.38ID:03B8BtDx C++でもborrow checkerがcompiler explorerで動いてるし色々動き出すな
Safe C++ Proposal P3390R0
Safe C++ Proposal P3390R0
105デフォルトの名無しさん
2024/10/03(木) 02:09:42.83ID:ooCKJPq8 >>103
妄想でないならソースコードとその時の生成コード例を出してみて
妄想でないならソースコードとその時の生成コード例を出してみて
106デフォルトの名無しさん
2024/10/03(木) 02:15:34.65ID:/vd3aRJZ ?
前スレで出てたgithubとタイム見ただけだから自分で確かめてよネ > 105
前スレで出てたgithubとタイム見ただけだから自分で確かめてよネ > 105
107デフォルトの名無しさん
2024/10/03(木) 02:15:50.14ID:dz5L3Xqm 先生に対して、仕事を要求する馬鹿な生徒。
108デフォルトの名無しさん
2024/10/03(木) 02:16:52.99ID:dz5L3Xqm109デフォルトの名無しさん
2024/10/03(木) 02:20:51.39ID:/vd3aRJZ Rust関係なさ過ぎて熱が冷めたからSafe C++ Proposal P3390R0に移るかな
110デフォルトの名無しさん
2024/10/03(木) 02:20:55.67ID:dz5L3Xqm Rust信者は自分が優秀だと思い込んでいる人が多いらしい。
しかし、実態はそうでもない。
しかし、実態はそうでもない。
111デフォルトの名無しさん
2024/10/03(木) 02:24:53.89ID:/vd3aRJZ それは良くないw
数時間前のHaskellスレを見てしみじみ思ったw
数時間前のHaskellスレを見てしみじみ思ったw
112デフォルトの名無しさん
2024/10/03(木) 02:29:35.48ID:dz5L3Xqm113デフォルトの名無しさん
2024/10/03(木) 02:31:10.25ID:/vd3aRJZ safecpp.org/P3390R0.html
114デフォルトの名無しさん
2024/10/03(木) 02:32:32.82ID:dz5L3Xqm Rust信者は、どんどんどんどん、間違ったベンチマークや
間違った情報を発信してくる。
それに対していちいち正すことはできない。
次から次へと間違ったうそ情報を垂れ流し続ける相手に
対して、どうして優秀な人材が貴重な時間を割いて正さなきゃ
ならないのか。
それは世界的損失だ。
間違った情報を発信してくる。
それに対していちいち正すことはできない。
次から次へと間違ったうそ情報を垂れ流し続ける相手に
対して、どうして優秀な人材が貴重な時間を割いて正さなきゃ
ならないのか。
それは世界的損失だ。
115デフォルトの名無しさん
2024/10/03(木) 02:39:54.40ID:/vd3aRJZ116デフォルトの名無しさん
2024/10/03(木) 02:43:43.51ID:/vd3aRJZ117デフォルトの名無しさん
2024/10/03(木) 02:54:00.24ID:ooCKJPq8 言語によって標準ライブラリの範囲が異なり意味がないのにこのルールだからね
[Rules and limits]
No external library dependencies may be used. That means no lodash, no numpy, no Boost, no nothing. You're limited to the standard library of your language.
[Rules and limits]
No external library dependencies may be used. That means no lodash, no numpy, no Boost, no nothing. You're limited to the standard library of your language.
118デフォルトの名無しさん
2024/10/03(木) 02:58:26.34ID:ooCKJPq8 Rustでは普通によく使われるこのあたりのライブラリすら使ってはいけないことになる
https://github.com/tumdum/1brc/blob/main/Cargo.toml
https://github.com/tumdum/1brc/blob/main/Cargo.toml
119デフォルトの名無しさん
2024/10/03(木) 02:58:57.45ID:dz5L3Xqm 最悪のケースだと、こういうところで、最初間違った
ことを散々書いていて、痺れを切らした優秀な人
に時間をかけて情報を提示させ、しれっと
それを論文にまとめて自分の手柄にしてしまうような
不届き者が出てくる。
ことを散々書いていて、痺れを切らした優秀な人
に時間をかけて情報を提示させ、しれっと
それを論文にまとめて自分の手柄にしてしまうような
不届き者が出てくる。
120デフォルトの名無しさん
2024/10/03(木) 06:10:20.97ID:2hL7NSan 各IT大手だけでなくホワイトハウスや国防総省までC/C++を捨ててRustへ移行と言っている
少なくともRustと同レベルの安全性を備えない限りこの流れは止まらないだろう
少なくともRustと同レベルの安全性を備えない限りこの流れは止まらないだろう
121デフォルトの名無しさん
2024/10/03(木) 07:37:36.99ID:xd7ZayaC122デフォルトの名無しさん
2024/10/03(木) 07:48:32.16ID:2hL7NSan Rustでコードが将来動かなくなる可能性はない
ましてやバージョン1未満かどうかなんて関係ない
ましてやバージョン1未満かどうかなんて関係ない
123デフォルトの名無しさん
2024/10/03(木) 10:29:08.64ID:J18SNG72 バージョンや環境を塩漬けにしてただ動けばいいだけという話じゃないだろ
コードの変更を伴わずに継続的に本番運用できる期間の長さが重要
rust自身やstdのAPIの後方互換性の保証だったり
脆弱性対応の修正数の少なさだったりはいいけど
3rd partyライブラリはそうもいかない
1.0未満はもちろん1.0以降でも
永久に過去バージョンの対応ができるわけでもない
コードの変更を伴わずに継続的に本番運用できる期間の長さが重要
rust自身やstdのAPIの後方互換性の保証だったり
脆弱性対応の修正数の少なさだったりはいいけど
3rd partyライブラリはそうもいかない
1.0未満はもちろん1.0以降でも
永久に過去バージョンの対応ができるわけでもない
124デフォルトの名無しさん
2024/10/03(木) 10:48:04.49ID:Z/ktGrzU >>99
Cは速いけどC++はどちらかと言うと遅い言語の部類に入る
Cは速いけどC++はどちらかと言うと遅い言語の部類に入る
125デフォルトの名無しさん
2024/10/03(木) 10:55:54.38ID:Z/ktGrzU >>110
本当に優秀ならRust使う必要無いもんな
本当に優秀ならRust使う必要無いもんな
126デフォルトの名無しさん
2024/10/03(木) 11:00:18.13ID:Z/ktGrzU >>119
chatGPTのことですねω判りますωωω=2πf
chatGPTのことですねω判りますωωω=2πf
127デフォルトの名無しさん
2024/10/03(木) 11:06:17.98ID:Z/ktGrzU >>122
Cargoで管理してればある程度はそうだけど
それも暗黙のルールに期待した場合の話に限るから
絶対描き換えなしで動き続けるかというとそうでもない
最低でもCargo.tomlの描き替えが必要だったりする
この辺はRustの責任ではないがCargoにもRustのメモリ安全ωの姿勢を見習って欲しい
Cargoで管理してればある程度はそうだけど
それも暗黙のルールに期待した場合の話に限るから
絶対描き換えなしで動き続けるかというとそうでもない
最低でもCargo.tomlの描き替えが必要だったりする
この辺はRustの責任ではないがCargoにもRustのメモリ安全ωの姿勢を見習って欲しい
128デフォルトの名無しさん
2024/10/03(木) 12:14:17.60ID:ooCKJPq8 バージョンを指定した
上でCargo.tomlを書き換えなければ
自分で書いたソースコードは外部ライブラリに影響されずに永久に動くところがRustの利点なんだよ
上でCargo.tomlを書き換えなければ
自分で書いたソースコードは外部ライブラリに影響されずに永久に動くところがRustの利点なんだよ
129sage
2024/10/03(木) 12:33:12.38ID:Z/ktGrzU >バージョンを指定した上でCargo.tomlを書き換えなければ
>自分で書いたソースコードは外部ライブラリに影響されずに永久に動く
version = "0.1.0"
じゃなくて
version = "=0.1.0"
と描いた場合に限る
>自分で書いたソースコードは外部ライブラリに影響されずに永久に動く
version = "0.1.0"
じゃなくて
version = "=0.1.0"
と描いた場合に限る
130デフォルトの名無しさん
2024/10/03(木) 12:34:26.98ID:Z/ktGrzU version = "0.1.0"
だと
外部ライブラリに影響される
外部ライブラリに影響されないのは
暗黙のルールに期待した場合の話に限る
だと
外部ライブラリに影響される
外部ライブラリに影響されないのは
暗黙のルールに期待した場合の話に限る
131デフォルトの名無しさん
2024/10/03(木) 12:36:20.68ID:Z/ktGrzU もちろん
version = "=0.1.0"
と描くのは現実的ではないが
>バージョンを指定した上でCargo.tomlを書き換えなければ
を満たすための矛盾
従って"暗黙のルールに期待した"Cargoは糞
version = "=0.1.0"
と描くのは現実的ではないが
>バージョンを指定した上でCargo.tomlを書き換えなければ
を満たすための矛盾
従って"暗黙のルールに期待した"Cargoは糞
132デフォルトの名無しさん
2024/10/03(木) 13:08:08.08ID:fMIIfXl3 繰り返し構文の直前だけで行うように最適化されたにしろ
Rustだと配列の範囲をはみ出してないかの検査が
リリース版アプリでも入り続けるのだろうが、
それで不合格になるとアプリはダウンするから、
自動運転では人が死ぬので意味無い。
Rustだと配列の範囲をはみ出してないかの検査が
リリース版アプリでも入り続けるのだろうが、
それで不合格になるとアプリはダウンするから、
自動運転では人が死ぬので意味無い。
133デフォルトの名無しさん
2024/10/03(木) 14:18:38.46ID:J18SNG72134デフォルトの名無しさん
2024/10/03(木) 18:08:46.17ID:vqUXT4xx おまいら愚痴ってないでcode書け
書いて書いて書き捲れ
書いて書いて書き捲れ
135デフォルトの名無しさん
2024/10/03(木) 21:40:37.20ID:xd7ZayaC >>124
C++で遅いというなら「どちらかというと速い言語」って何が残るんだ
C++で遅いというなら「どちらかというと速い言語」って何が残るんだ
136デフォルトの名無しさん
2024/10/04(金) 17:31:48.28ID:8BYffXd4 ざっくり速い遅いとか言ってるやつは雑魚でしょ
相手しなくていい
相手しなくていい
137デフォルトの名無しさん
2024/10/04(金) 22:11:50.25ID:DHhd1aGk 十倍とか百倍とかいうレベルで露骨に差があるものならざっくりした比較でいいよ。
細かい数値が必要になるのは差が微妙だからで、その微妙な差を素人が適切に評価できるんかって話だわ。
データを出したってどうせそのデータを適切に読み取るのは無理だ。
そりゃ Rust が実行時にも境界チェックをする場合がある (実行コストが上がる) のは本当だけど、
Rust のほうが C++ より最適化しやすい (エイリアス解析がやりやすいので) というのはあるし、
その一方ではまだ C++ の処理系のほうが歴史の積み重ねが多くて強いというのもある。
ざっくりは無意味だが細かい数値も要因が絡み合いすぎてどうせ意味わからんから無意味。
細かい数値が必要になるのは差が微妙だからで、その微妙な差を素人が適切に評価できるんかって話だわ。
データを出したってどうせそのデータを適切に読み取るのは無理だ。
そりゃ Rust が実行時にも境界チェックをする場合がある (実行コストが上がる) のは本当だけど、
Rust のほうが C++ より最適化しやすい (エイリアス解析がやりやすいので) というのはあるし、
その一方ではまだ C++ の処理系のほうが歴史の積み重ねが多くて強いというのもある。
ざっくりは無意味だが細かい数値も要因が絡み合いすぎてどうせ意味わからんから無意味。
138デフォルトの名無しさん
2024/10/04(金) 22:21:16.42ID:JAupTFkx >>136が言ってるのはそういう「ざっくり」ではないと思われ
139デフォルトの名無しさん
2024/10/04(金) 22:40:51.60ID:jgzzZHCa ざっくりどころか明白にC++はCより遅いしRustはさらにもっと遅い
140デフォルトの名無しさん
2024/10/04(金) 22:59:19.40ID:VBc4dd6u C以外を全て「遅い部類」というならもうそれ部類って言葉が合わないんじゃないかな
141デフォルトの名無しさん
2024/10/04(金) 23:37:34.19ID:cfR7b6v5 ほとんどのケースでRustはCと同程度の速さを出せる
安全性はもとよりモダンな抽象による開発効率と保守性の高さによりRustへの移行が進められている
安全性はもとよりモダンな抽象による開発効率と保守性の高さによりRustへの移行が進められている
142デフォルトの名無しさん
2024/10/05(土) 10:53:01.80ID:RULYnmJH BoxやVecって、データを一旦スタックに書いてからヒープに渡されるよね
Bnx::new(でかい構造体)
のようなことをやる際に、直接ヒープに構築したいんだけど、unsafeを使えばできる?
Bnx::new(でかい構造体)
のようなことをやる際に、直接ヒープに構築したいんだけど、unsafeを使えばできる?
143デフォルトの名無しさん
2024/10/05(土) 11:04:55.83ID:tM0+DMRb >>142
box演算子を使う
box演算子を使う
144デフォルトの名無しさん
2024/10/05(土) 13:18:05.42ID:YtzMlx/f >BoxやVecって、データを一旦スタックに書いてからヒープに渡されるよね
うそーん?
そのくらいは最適化されるやろ?
うそーん?
そのくらいは最適化されるやろ?
145デフォルトの名無しさん
2024/10/05(土) 14:23:20.89ID:ntqlGNr5 >>141
そんなこと言う人は多いけど、その人たちはアルゴリズムを理解してない。
そんなこと言う人は多いけど、その人たちはアルゴリズムを理解してない。
146デフォルトの名無しさん
2024/10/05(土) 15:12:54.52ID:u1hwkRNd Rustは境界検査ある分Cよりは遅くなるよね
境界検査オフにしたらベンチマークのスコア上がったみたいな記事がZennにあった気がする
境界検査オフにしたらベンチマークのスコア上がったみたいな記事がZennにあった気がする
147デフォルトの名無しさん
2024/10/05(土) 15:18:00.36ID:Whmox1cd そんなことしたらコーダーが勝手に最適化()するから駄目だろ。
148デフォルトの名無しさん
2024/10/05(土) 16:20:58.85ID:SPb9kptA >>146
Rustに境界検査オフにするオプションはないからそれは別の言動の話でしょう
Rustでは常に行われますが論理的に安全だと判定できる場合に最適化されて消えます
一方で境界検査がない言語では必要な境界検査をプログラマーが手動でする必要があります
それを忘れると深刻なセキュリティホールになる可能性があります
レアな特殊な状況が揃って初めて発生することもあるためサニタイザーでは見つけることが困難です
Rustに境界検査オフにするオプションはないからそれは別の言動の話でしょう
Rustでは常に行われますが論理的に安全だと判定できる場合に最適化されて消えます
一方で境界検査がない言語では必要な境界検査をプログラマーが手動でする必要があります
それを忘れると深刻なセキュリティホールになる可能性があります
レアな特殊な状況が揃って初めて発生することもあるためサニタイザーでは見つけることが困難です
149デフォルトの名無しさん
2024/10/05(土) 17:01:50.15ID:RULYnmJH150デフォルトの名無しさん
2024/10/05(土) 17:08:36.51ID:7dJZ4c51 >>148
get_uncheckedとかあるやろ
get_uncheckedとかあるやろ
151デフォルトの名無しさん
2024/10/05(土) 17:33:09.63ID:MY6FIQ9N >>149
少なくとも stable には無い。
現時点では box が予約語扱いになってるが、将来に使用するための予約であって現時点では使ってないと名言されてる。
https://doc.rust-lang.org/reference/keywords.html
以前に検討したけど取り下げた記録はある。
https://rust-lang.github.io/rfcs/0809-box-and-in-for-stdlib.html
今はどうなってるんやろね?
少なくとも stable には無い。
現時点では box が予約語扱いになってるが、将来に使用するための予約であって現時点では使ってないと名言されてる。
https://doc.rust-lang.org/reference/keywords.html
以前に検討したけど取り下げた記録はある。
https://rust-lang.github.io/rfcs/0809-box-and-in-for-stdlib.html
今はどうなってるんやろね?
152デフォルトの名無しさん
2024/10/05(土) 17:40:46.65ID:MY6FIQ9N × 名言
〇 明言
〇 明言
153デフォルトの名無しさん
2024/10/05(土) 17:53:26.30ID:YGXhd2d0154デフォルトの名無しさん
2024/10/05(土) 22:25:00.84ID:nBMiTSwQ155デフォルトの名無しさん
2024/10/05(土) 23:58:02.93ID:aBfTO+dT たしかbox記法をやめて
#[rustc_box]へ変えたはず
#[rustc_box]へ変えたはず
156デフォルトの名無しさん
2024/10/06(日) 02:23:22.08ID:Fc/J32B0157デフォルトの名無しさん
2024/10/06(日) 02:59:36.25ID:Uy2TM6oP ボツになった box キーワードを使ったやりかただと C++ でいう new みたいなのを想定していたんだと思う。
同じコンストラクタでスタック上にもヒープにもオブジェクトを構築できるようにってことね。
今の Rust の stable 内でやろうとすると未初期化のヒープ領域を確保してからそれに書き込むという段階を踏む必要があって同じ生成関数をキーワードひとつで切り替えてつかうということは出来ない。
そういうちょっとした不恰好さを呑む必要はある。
同じコンストラクタでスタック上にもヒープにもオブジェクトを構築できるようにってことね。
今の Rust の stable 内でやろうとすると未初期化のヒープ領域を確保してからそれに書き込むという段階を踏む必要があって同じ生成関数をキーワードひとつで切り替えてつかうということは出来ない。
そういうちょっとした不恰好さを呑む必要はある。
158デフォルトの名無しさん
2024/10/06(日) 10:41:43.35ID:pGBP5yto >>156
コンパイラや標準ライブラリの開発者は#[rustc_box] + Box::new()を使うのに一般開発者はBox::new_uninit() + unsafeブロックで手動初期化しなきゃいけないというのはなんとも微妙だね
コンパイラや標準ライブラリの開発者は#[rustc_box] + Box::new()を使うのに一般開発者はBox::new_uninit() + unsafeブロックで手動初期化しなきゃいけないというのはなんとも微妙だね
159デフォルトの名無しさん
2024/10/06(日) 11:07:22.09ID:jCq2z3ec160デフォルトの名無しさん
2024/10/06(日) 13:00:12.28ID:RTiROZJD >>159
実行毎に数十msはブレる処理でC++より数ms速くなりましたとか微妙すぎるな
実行毎に数十msはブレる処理でC++より数ms速くなりましたとか微妙すぎるな
161デフォルトの名無しさん
2024/10/06(日) 14:13:57.31ID:WBd7Gzjc >>160
同感、20~40msはぶれる
>>159
Rustシングルスレッド版のcommit:23807a67df266ac8c6ba065801616a4012555344に戻して
単一実装毎に10回計測した最速値
SequentialNative, PreProcess, 3.328, Solve, 767.845, PostProcess, 0.521 <- C++/g++
SequentialNative, PreProcess, 3.679, Solve, 785.951, PostProcess, 0.502 <- C++/clang++
Rust, PreProcess, 3.407, Solve, 796.38, PostProcess, 0.599 <- Rust
同感、20~40msはぶれる
>>159
Rustシングルスレッド版のcommit:23807a67df266ac8c6ba065801616a4012555344に戻して
単一実装毎に10回計測した最速値
SequentialNative, PreProcess, 3.328, Solve, 767.845, PostProcess, 0.521 <- C++/g++
SequentialNative, PreProcess, 3.679, Solve, 785.951, PostProcess, 0.502 <- C++/clang++
Rust, PreProcess, 3.407, Solve, 796.38, PostProcess, 0.599 <- Rust
162デフォルトの名無しさん
2024/10/06(日) 14:32:01.49ID:SXFzPwbD 一番下の方にリンクしてあるQiitaの追試記事も読むといい
163デフォルトの名無しさん
2024/10/06(日) 14:47:13.76ID:x2YI0jj4164デフォルトの名無しさん
2024/10/06(日) 14:48:25.28ID:x2YI0jj4165デフォルトの名無しさん
2024/10/06(日) 22:43:06.06ID:yDkn3TVj Rustコンパイラが通常の機能として論理的に安全と解析できた時は境界検査を省略しているのに加えて
プログラマーがさらにヒントを与えることで境界検査を安全に無くしたり減少させたりする方法もありかなりをカバーできる
それでもカバーできない範囲は人間が安全性を保証する形でunsafeを用いて関数やモジュール内に閉じ込める最後の手段がある
プログラムのそれ以外の部分は依然としてRustが安全性を保証するためRustを用いたほうが断然に有利
プログラマーがさらにヒントを与えることで境界検査を安全に無くしたり減少させたりする方法もありかなりをカバーできる
それでもカバーできない範囲は人間が安全性を保証する形でunsafeを用いて関数やモジュール内に閉じ込める最後の手段がある
プログラムのそれ以外の部分は依然としてRustが安全性を保証するためRustを用いたほうが断然に有利
166デフォルトの名無しさん
2024/10/06(日) 22:58:46.94ID:xpAyDRS+ 相変わらず非論理的やな
167デフォルトの名無しさん
2024/10/07(月) 01:41:44.93ID:q99irmJP 基本をどっち側に倒してるかって話だわな。
チェックするのを基本にする (けど必要ならチェックを除くことも出来る) のか
チェックしないのを基本にする (けど必要ならチェックすることも出来る) のかって話で、
やりやきゃどっちも出来るんだから場合によって自分で判断しろよ。
チェックするのを基本にする (けど必要ならチェックを除くことも出来る) のか
チェックしないのを基本にする (けど必要ならチェックすることも出来る) のかって話で、
やりやきゃどっちも出来るんだから場合によって自分で判断しろよ。
168デフォルトの名無しさん
2024/10/07(月) 02:43:52.62ID:X74uBgxx これはさすがに釣りだよね
169デフォルトの名無しさん
2024/10/07(月) 04:55:29.89ID:JLiQrglj もしかしてRustってコンパイルめちゃくちゃ遅い?
170デフォルトの名無しさん
2024/10/07(月) 10:41:01.74ID:AsZpJSRX 一回コンパイル済みなら、2回目はそれなりの時間
初回のsdk-ec2は遅すぎて何度中断しようかと思ったわ
初回のsdk-ec2は遅すぎて何度中断しようかと思ったわ
171デフォルトの名無しさん
2024/10/07(月) 15:40:05.30ID:m+p7ApSZ cargo update するとすぐ破綻する
172デフォルトの名無しさん
2024/10/07(月) 16:27:42.48ID:meOfPwUY sccacheで二度目以降はもう少し改善した
コンパイル速度はC++同様遅い部類だと思う
コンパイル速度はC++同様遅い部類だと思う
173デフォルトの名無しさん
2024/10/07(月) 17:01:46.54ID:89HfDe1C >>163
それの具体例を示せてない時点でね…
それの具体例を示せてない時点でね…
174デフォルトの名無しさん
2024/10/07(月) 23:19:03.68ID:TZwLk8HD 安全に境界検査不要をassert!でRustコンパイラに伝える方法が意外に効くね
175デフォルトの名無しさん
2024/10/07(月) 23:26:15.84ID:dfTx2VFf >>173
馬鹿には示す必要ない。
馬鹿には示す必要ない。
176デフォルトの名無しさん
2024/10/08(火) 08:44:17.05ID:eFef5p6V >>174
詳しく
詳しく
177デフォルトの名無しさん
2024/10/08(火) 09:34:58.32ID:+McDiVVz 自分で定義してないtrait(T)を自分で定義してないstruct(S)に定義したい
impl T for S {
}
impl T for S {
}
178デフォルトの名無しさん
2024/10/08(火) 10:04:39.98ID:A/U5l8w3 >>177
できないのでどちらかをwrapして下さい
できないのでどちらかをwrapして下さい
179デフォルトの名無しさん
2024/10/08(火) 10:36:24.86ID:8N0aYuJN180デフォルトの名無しさん
2024/10/08(火) 21:24:47.85ID:pQ+vP70p >>175
知らないだけw
知らないだけw
181デフォルトの名無しさん
2024/10/08(火) 21:26:47.09ID:CJF5aBIv182デフォルトの名無しさん
2024/10/08(火) 23:19:20.44ID:0gkuNx2u183デフォルトの名無しさん
2024/10/09(水) 08:10:07.07ID:6t9Q00Al >>182
thx
thx
184デフォルトの名無しさん
2024/10/09(水) 14:24:59.18ID:SE80KZZv 慈円乙
185デフォルトの名無しさん
2024/10/09(水) 18:17:45.48ID:9TrJQGOx186デフォルトの名無しさん
2024/10/09(水) 21:57:24.09ID:O1I2MdzM 実験と質問の境界がなくなりかけている
質問なら自己解決もありうる
実験の場合、自分で考えた実験結果というのはただのデータ改竄
質問なら自己解決もありうる
実験の場合、自分で考えた実験結果というのはただのデータ改竄
187デフォルトの名無しさん
2024/10/09(水) 22:10:40.53ID:cHg2rcow >>185
もしかして7回も打ってるの?
もしかして7回も打ってるの?
188デフォルトの名無しさん
2024/10/09(水) 23:54:32.05ID:uqNnLm2k 米ホワイトハウス「ソフトウェアはメモリ安全でなければならない」との声明を発表:「C」「C++」よりも「Rust」などの言語を推奨
https://atmarkit.itmedia.co.jp/ait/articles/2403/18/news045.html
https://atmarkit.itmedia.co.jp/ait/articles/2403/18/news045.html
189デフォルトの名無しさん
2024/10/10(木) 02:18:50.02ID:zQjmpUKF190デフォルトの名無しさん
2024/10/10(木) 02:21:09.33ID:zQjmpUKF コンピュータの分野は権力介入が少なかったので、面白かったのに、
政治家やマスコミが入り込んできてめちゃくちゃになってきている。
政治家やマスコミが入り込んできてめちゃくちゃになってきている。
191デフォルトの名無しさん
2024/10/10(木) 07:08:10.03ID:UwcyK+WZ 与党が介入するなら野党に投票すればいい
192デフォルトの名無しさん
2024/10/10(木) 09:15:33.28ID:bwO1aVtU コンピュータープログラムのアルゴリズムごときでノーベル賞とか
最近はホント可笑しい
最近はホント可笑しい
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 中国国営メディア「沖縄は日本ではない」…★7 [BFU★]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 高市早苗、岸田政権(当時)に「台湾有事は日本の有事か」という質問をしていた [175344491]
- ケンタッキーの○○○バーガーという予告がアレを想起すると話題に [523957489]
- 【悲報】中国→日本行きの航空チケット、高市有事の影響で50万人分がキャンセルされる [834922174]
- 【乞食速報】UFJが5万円配ってる。これもう早苗給付金だろwwwwwwww [201193242]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
