公式
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 part22
https://mevius.5ch.net/test/read.cgi/tech/1705760500/
ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.2ch.net/test/read.cgi/tech/1514107621/
探検
Rust part23
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2024/02/23(金) 17:37:52.13ID:CheDQupm273デフォルトの名無しさん
2024/03/12(火) 01:05:51.45ID:YqCvYydB 常に論点ずらし
何の生産性もない
何の生産性もない
274デフォルトの名無しさん
2024/03/12(火) 01:42:25.91ID:O5aTP+Ks いつもRustを叩いてRustスレを荒らしてるアンチの言動はいつもワンパターン
今回のHashMapの件で例えると
もしデフォルトのハッシュ関数が安全でなく速いものだと「Rustはデフォルトが安全でない!」と叩く
もしデフォルトのハッシュ関数が安全で遅いものだと「Rustはデフォルトが遅い!」と叩く
どちらになっていても叩くことが目的のキチガイ
今回のHashMapの件で例えると
もしデフォルトのハッシュ関数が安全でなく速いものだと「Rustはデフォルトが安全でない!」と叩く
もしデフォルトのハッシュ関数が安全で遅いものだと「Rustはデフォルトが遅い!」と叩く
どちらになっていても叩くことが目的のキチガイ
275デフォルトの名無しさん
2024/03/12(火) 09:25:30.86ID:2ftxmqwc 「俺が高速なプログラムを作れるのは言語のおかげ」は合ってるが
「俺が低速なプログラムしか作れないのは言語のせい」は間違ってる
「俺が低速なプログラムしか作れないのは言語のせい」は間違ってる
276デフォルトの名無しさん
2024/03/12(火) 15:42:43.44ID:qP6Ph9LT 『「俺が低速なプログラムしか作れないのは言語のせい」は間違っている』という立場、ユーザーが充分賢いことを仮定しているのでそれならPythonとC++で良い
277デフォルトの名無しさん
2024/03/12(火) 16:02:50.20ID:O51IPiXd ほんとどうでもいいな
自転車置き場というより豚小屋の議論
自転車置き場というより豚小屋の議論
278デフォルトの名無しさん
2024/03/12(火) 16:28:46.76ID:6k71yQCv プログラムしかしない人はこういうことしか考えることがないんよ
279デフォルトの名無しさん
2024/03/12(火) 17:33:47.15ID:+dm3OZRm 知識があれば高速化が可能な場合があるのは、言語や項目に関わらず一般的な話。
安全方針のRustとしては、ハッシュ衝突強度を知らなくてもデフォルトで安全がベター。
安全方針のRustとしては、ハッシュ衝突強度を知らなくてもデフォルトで安全がベター。
280デフォルトの名無しさん
2024/03/12(火) 18:00:43.49ID:ZUpYWJV7 デフォルトいらんが
ハッシュも自分で選べんガイジがハッシュマップ使うな
ハッシュも自分で選べんガイジがハッシュマップ使うな
281デフォルトの名無しさん
2024/03/12(火) 18:49:06.95ID:hIsWcrJS282デフォルトの名無しさん
2024/03/12(火) 18:51:51.27ID:wv71s4mp 弱いハッシュでも困るようなプログラム書く人は、自分で判断できるんじゃないの?デフォルトはパフォーマンス優先で良いと思うけどな。
283デフォルトの名無しさん
2024/03/12(火) 19:50:55.41ID:WtXn1sYk 攻撃で困るかどうか攻撃されるまで初心者は判断できないと思う。
そして攻撃されてから対処するのでは遅いかもしれない。
パフォーマンスチューニングは遅いことが問題になってからやるので深刻ではなかろう。
そして攻撃されてから対処するのでは遅いかもしれない。
パフォーマンスチューニングは遅いことが問題になってからやるので深刻ではなかろう。
284デフォルトの名無しさん
2024/03/12(火) 19:59:05.75ID:1eKk9IjK >>283
同意
同意
285デフォルトの名無しさん
2024/03/12(火) 20:00:13.63ID:uVbV4a/I RustのDefaultHasherは安全かつパフォーマンスのいいSipHashを使っているので普通は気にする必要ない
もちろんPythonやJavaScript(v8)やSwiftなど多くの言語がこのSipHashを使っている
そのうえでRustは必要とするHashMap毎にFxHashなどさらに高速なものを簡単に指定できる
もちろんPythonやJavaScript(v8)やSwiftなど多くの言語がこのSipHashを使っている
そのうえでRustは必要とするHashMap毎にFxHashなどさらに高速なものを簡単に指定できる
286デフォルトの名無しさん
2024/03/12(火) 20:49:08.64ID:NxLZ8TT6 Pythonはハッシュ値計算したらオブジェクトに保存してるでしょ
287デフォルトの名無しさん
2024/03/12(火) 20:49:29.65ID:+yrdVDIt 他の言語たちがRustを参考に同じように後追いしているのね
>Pythonの文字列やバイト列に対するハッシュアルゴリズムは、HashDoS対策としてPython 3.4から SipHash24が使われていました。
>その後、ラウンド数を減らしたSipHash13でも十分に安全だとして2015年にRustが、2016年にRubyが、SipHash24からSipHash13への切り替えを行いました。
>Rust や Ruby からは数年遅れましたが、Pythonもデフォルトの文字列ハッシュアルゴリズムがSipHash13に切り替わりました。
>Pythonの文字列やバイト列に対するハッシュアルゴリズムは、HashDoS対策としてPython 3.4から SipHash24が使われていました。
>その後、ラウンド数を減らしたSipHash13でも十分に安全だとして2015年にRustが、2016年にRubyが、SipHash24からSipHash13への切り替えを行いました。
>Rust や Ruby からは数年遅れましたが、Pythonもデフォルトの文字列ハッシュアルゴリズムがSipHash13に切り替わりました。
288デフォルトの名無しさん
2024/03/12(火) 20:56:37.07ID:Bo/PtDeL289デフォルトの名無しさん
2024/03/12(火) 22:08:56.94ID:qGjx1B49290デフォルトの名無しさん
2024/03/12(火) 22:13:42.86ID:qGjx1B49 Python Ruby スクリプト系言語
291デフォルトの名無しさん
2024/03/12(火) 22:30:53.75ID:QLhbtBPI 他の言語もRustと同じハッシュ関数を用いていることが判明したのにRust叩きを続ける一匹
292デフォルトの名無しさん
2024/03/13(水) 01:06:52.67ID:l12NsVZP 他の言語の例としてPythonやRubyのような遅いこと前提でとにかく初心者が書いても動けば良いという思想の言語を持ち出してくるのはおかしいでしょう
293デフォルトの名無しさん
2024/03/13(水) 01:36:16.81ID:yq4Sx3eg Swiftも同じSipHash13だよ
294デフォルトの名無しさん
2024/03/13(水) 06:48:44.81ID:vtWyM3VT >>292
じゃあRustの思想は?
じゃあRustの思想は?
295デフォルトの名無しさん
2024/03/13(水) 07:26:54.50ID:W15vpPlq296デフォルトの名無しさん
2024/03/13(水) 08:05:27.17ID:7ftIQ2tM 必要なことしかやりませんって言語は他にあるからそちら使えばいいのでは?
297デフォルトの名無しさん
2024/03/13(水) 11:53:59.71ID:k71lJTPU 安全と速度は両立するかそれともトレードオフか
トレードしかしない人にとって、コストは支払うと決めたら絶対にキャンセルできない印象があるよね
有償かと思ったけどよく考えたらやっぱゼロコストだったという現象は許せない
トレードしかしない人にとって、コストは支払うと決めたら絶対にキャンセルできない印象があるよね
有償かと思ったけどよく考えたらやっぱゼロコストだったという現象は許せない
298デフォルトの名無しさん
2024/03/13(水) 13:08:21.45ID:zcdQDtji Rustなんかに手を出すのはC++まともに書けない馬鹿なんだから、「充分賢ければ速く書ける」は実質「速く書けない」なんだよな
賢いならRustなんかやらない
賢いならRustなんかやらない
299デフォルトの名無しさん
2024/03/13(水) 13:52:10.04ID:k71lJTPU 自由があればデフォルト設定を強制されないのは自明な事実
ただし、賢い人間が自由を所有しているのか、道具自体が自由度を持っているのか
そもそも「所有している」というのはただの感想なのか客観的事実なのか
ただし、賢い人間が自由を所有しているのか、道具自体が自由度を持っているのか
そもそも「所有している」というのはただの感想なのか客観的事実なのか
300デフォルトの名無しさん
2024/03/13(水) 15:08:41.44ID:EtYMYlMl アホ vs バカの不毛な争いが続くのは隔離スレにワッチョイつけたやつの責任だからな
301デフォルトの名無しさん
2024/03/13(水) 17:12:52.60ID:2jYqKDsd 本スレにワッチョイつけず隔離スレと称して余計なスレ立ててそっちにワッチョイつけるバカども。
5chでRust使ってるって言ってるやつらはそんなもの
5chでRust使ってるって言ってるやつらはそんなもの
302デフォルトの名無しさん
2024/03/13(水) 17:32:48.34ID:k71lJTPU 不毛の判断が早いなあ
後世の歴史家が判断するという定型文に縛られないから早いんだな
後世の歴史家が判断するという定型文に縛られないから早いんだな
303デフォルトの名無しさん
2024/03/13(水) 17:40:34.76ID:EfEhvhMh 安全と速度を両立させたのが
RustやPythonなどが採用しているSipHash13
RustやPythonなどが採用しているSipHash13
304デフォルトの名無しさん
2024/03/13(水) 18:38:09.42ID:9N462qty >>295
いや、unsafeは判断できる人が使うものだろ。
いや、unsafeは判断できる人が使うものだろ。
305デフォルトの名無しさん
2024/03/13(水) 21:22:31.53ID:cNV/vVTe >>300
分かってるんならワッチョイ付きRustスレの盛り上げに協力してくれんかえ
分かってるんならワッチョイ付きRustスレの盛り上げに協力してくれんかえ
306デフォルトの名無しさん
2024/03/13(水) 21:54:19.69ID:Ay/UTMuM ワッチョイなんか盛り上がる訳ねえ
そんな話題あったらこのスレに投下してつまらない議論を流した方が余程生産的
そんな話題あったらこのスレに投下してつまらない議論を流した方が余程生産的
307デフォルトの名無しさん
2024/03/13(水) 22:31:42.96ID:/twoPXVD 高齢化でコーディングできなくなったおじいさんを叩くのは良くないと言う話
308デフォルトの名無しさん
2024/03/13(水) 22:39:35.15ID:vtWyM3VT 30後半でコーディングしてるやつなんて9割コミュ障で出世できなかったやつだろ
309デフォルトの名無しさん
2024/03/13(水) 22:42:16.17ID:6IE1D2aF 出世出来ましたか?
310デフォルトの名無しさん
2024/03/13(水) 22:52:25.45ID:/twoPXVD 能力が低下してコーディングできないのとしないのでは大違い
311デフォルトの名無しさん
2024/03/14(木) 00:41:25.89ID:2hurvpo9 結局スクリプト言語で書かれた原作が必要か
他のジャンルでも原作なしのオリジナルは難しそうだろう
他のジャンルでも原作なしのオリジナルは難しそうだろう
312デフォルトの名無しさん
2024/03/14(木) 12:30:54.13ID:HuCxvvOv Rustで書き直してパフォーマンスが上がったので注目浴びる!みたいなプロダクトはなんか白けるよな。
JSとかPythonの基盤ツールをRustで書き換えて激速!みたいなのはもう汎用言語としてのアイデンティティ捨てられててオワットル。
JSとかPythonの基盤ツールをRustで書き換えて激速!みたいなのはもう汎用言語としてのアイデンティティ捨てられててオワットル。
313デフォルトの名無しさん
2024/03/14(木) 12:34:38.63ID:GaNa4vYx 日本みたいに、何とかするには人投入しよう!スキルどうでもいいからとにかく人集めて!なところじゃね~。
314デフォルトの名無しさん
2024/03/14(木) 13:45:31.80ID:zTrHTca+ おそらく植山類が新しいリンカを作ったあたりが開発ツール高速化の機運の始まりだと思う。
歴史的事情でごちゃごちゃしてて遅いのが仕方がないと思われていたものについて
速度を意識して書いてみたら数百倍単位で速くなってわひゃーーというのが強烈なインパクトだった。
(それは C++ で書かれてるんだけどね。)
商売で開発ツールを提供している会社にとっては少なくともそれと同程度のものを出さないと面子が立たない。
リンカを作ってるところはこぞって高速化に努めた。
リンカ以外にもその機運が波及しているのが今。
で、高速化のキモはデータ構造であるというのが明瞭になったんだけど
メモリ管理の部分を処理系 (ランタイムサポート) の側でやるようなものだとそこんところのチューニングが出来ない。
Rust である必然性が強いわけではないけど C++ とかよりは今なら Rust のほうがいいかなってのはまあ自然な判断ではある。
歴史的事情でごちゃごちゃしてて遅いのが仕方がないと思われていたものについて
速度を意識して書いてみたら数百倍単位で速くなってわひゃーーというのが強烈なインパクトだった。
(それは C++ で書かれてるんだけどね。)
商売で開発ツールを提供している会社にとっては少なくともそれと同程度のものを出さないと面子が立たない。
リンカを作ってるところはこぞって高速化に努めた。
リンカ以外にもその機運が波及しているのが今。
で、高速化のキモはデータ構造であるというのが明瞭になったんだけど
メモリ管理の部分を処理系 (ランタイムサポート) の側でやるようなものだとそこんところのチューニングが出来ない。
Rust である必然性が強いわけではないけど C++ とかよりは今なら Rust のほうがいいかなってのはまあ自然な判断ではある。
315デフォルトの名無しさん
2024/03/15(金) 00:47:31.57ID:eu7fnAy5 コードを書けない
プログラムできなくなるとこういうことしか書けなくなると言う見本
プログラムできなくなるとこういうことしか書けなくなると言う見本
316デフォルトの名無しさん
2024/03/15(金) 10:43:30.71ID:5CgUbd5q だが読むより書くほうが優れているという前提から
原作を正しく読解するよりも正しくない二次創作のほうが優れているという結論が出てくる
原作を正しく読解するよりも正しくない二次創作のほうが優れているという結論が出てくる
317デフォルトの名無しさん
2024/03/15(金) 11:53:24.75ID:94MXVgRN 春だなぁw
318デフォルトの名無しさん
2024/03/15(金) 18:26:51.96ID:5N0PtL1J ai bot
319デフォルトの名無しさん
2024/03/15(金) 20:40:42.93ID:W8LQpOAr320デフォルトの名無しさん
2024/03/15(金) 21:07:06.30ID:8+Y0uCh5 Rustコードを書けない似非技術者系おじいちゃんたちは他のスレでやりとりしなさい
ここはRust専用スレ
ここはRust専用スレ
321デフォルトの名無しさん
2024/03/15(金) 21:26:31.60ID:PnOJWcC7 コーディングが出来なくなると人生はつらいと思うけどな…
322デフォルトの名無しさん
2024/03/15(金) 21:36:49.30ID:3GkeGGWK323デフォルトの名無しさん
2024/03/16(土) 00:23:32.44ID:/iia2JvS 人はいつか何もできなくなって死んでいくんだよな
つまらないね
つまらないね
324デフォルトの名無しさん
2024/03/16(土) 08:54:22.01ID:aeWu0EgX 肉屋がレッドオーシャンになれば豚はブルーだからこれでいい
325デフォルトの名無しさん
2024/03/17(日) 19:33:58.02ID:1VtyMVPz Rust書けるやつ集めるの大変すぎ
326デフォルトの名無しさん
2024/03/17(日) 22:06:35.75ID:BMZldfUE Rustで書けば速くてリソースコスト下げられるうえに保守性も良くていいことずくめだからだな
ただしまともなプログラマーしか使い こなせない
ただしまともなプログラマーしか使い こなせない
327デフォルトの名無しさん
2024/03/18(月) 09:59:50.17ID:ySp1yGcK むしろ変なやつしか使ってない感じだけど…
328デフォルトの名無しさん
2024/03/18(月) 10:20:48.83ID:JObkxwF0 しょーもないこだわり持ってるやつしか使ってない
329デフォルトの名無しさん
2024/03/18(月) 13:49:12.09ID:lCCxn1Q7 今後の仕事考えたらRustだね
330デフォルトの名無しさん
2024/03/18(月) 14:26:36.03ID:1+ObkRXf メモリ安全性ってなんなの?
331デフォルトの名無しさん
2024/03/18(月) 14:49:59.91ID:RRSB5dTk 無効なアドレスを参照しない
運が良ければSegmentation Fault、運が悪ければ変な値が使われて何か起こる
無効なアドレスを更新しない
運が良ければSegmentation Fault、運が悪ければそこの値が壊れて何か起こる
メモリリークは割とどうでもいい
運が良ければSegmentation Fault、運が悪ければ変な値が使われて何か起こる
無効なアドレスを更新しない
運が良ければSegmentation Fault、運が悪ければそこの値が壊れて何か起こる
メモリリークは割とどうでもいい
332デフォルトの名無しさん
2024/03/18(月) 15:00:45.39ID:ZJ4hMg34 >>330
メモリ安全性のうち特に重要な一つがメモリ競合の安全性
まだ使っている値を意図せずに書き換えてしまい矛盾してしまう
プログラミングで起こるバグの代表的な一つ
Rustではこれを防ぐことができる
メモリ安全性のうち特に重要な一つがメモリ競合の安全性
まだ使っている値を意図せずに書き換えてしまい矛盾してしまう
プログラミングで起こるバグの代表的な一つ
Rustではこれを防ぐことができる
333デフォルトの名無しさん
2024/03/18(月) 15:02:35.53ID:1+ObkRXf334デフォルトの名無しさん
2024/03/18(月) 15:07:28.37ID:1+ObkRXf335デフォルトの名無しさん
2024/03/18(月) 18:35:36.34ID:utey1W8X セルフコントならもう少し面白いやつを頼む
336デフォルトの名無しさん
2024/03/20(水) 01:19:02.24ID:6E76csi8 WebAssemblyバイナリの実行環境を提供する「Rust」で作成されたランタイム「Wasmi」に脆弱性が明らかになった。
ttps://www.security-next.com/154875
ttps://www.security-next.com/154875
337デフォルトの名無しさん
2024/03/20(水) 05:37:59.51ID:wTR4SIFK デフォルトで制限よりも多くのパラメーターを指定すると域外に書き込みを行うおそれがある「CVE-2024-28123」が明らかとなった。
2023年12月にリリースされた「同0.31.1」にて脆弱性は修正された。
パラメーターが128個以下であることを確認する回避策についてもアナウンスしている。
2023年12月にリリースされた「同0.31.1」にて脆弱性は修正された。
パラメーターが128個以下であることを確認する回避策についてもアナウンスしている。
338デフォルトの名無しさん
2024/03/20(水) 12:50:32.15ID:/slJg93x >>336
そういうのRust関係ないからわざわざここに書かなくてもいいよ
そういうのRust関係ないからわざわざここに書かなくてもいいよ
339デフォルトの名無しさん
2024/03/20(水) 13:00:27.22ID:3fTCja3E 関係無いわけないでしょw
rustで書かれてたら安全なんじゃなかったん?w
rustで書かれてたら安全なんじゃなかったん?w
340デフォルトの名無しさん
2024/03/20(水) 13:48:07.28ID:i9d3tzeg ガベージコレクションのあるスクリプト言語であるPythonですら脆弱性でCVE出まくってるよ
341デフォルトの名無しさん
2024/03/20(水) 14:22:40.25ID:HLjoI2yW これは「メモリ安全」の外の話?中の話?
342デフォルトの名無しさん
2024/03/20(水) 16:11:18.74ID:sC/F3tDJ unsafe使用箇所だからメモリ安全の外だろうな
インタプリタのスタックフレーム参照で毎回境界チェックする実装も微妙だししゃーない
インタプリタのスタックフレーム参照で毎回境界チェックする実装も微妙だししゃーない
343デフォルトの名無しさん
2024/03/20(水) 16:33:56.60ID:pz7pPV/0 jsonの方も?
344デフォルトの名無しさん
2024/03/20(水) 17:50:49.65ID:w9jt/Hdz コード見てみたが言語関係なくダメな書き方の見本ってだけだな
ttps://github.com/wasmi-labs/wasmi/commit/f7b3200e9f3dc9e2cbca966cb255c228453c792f
ttps://github.com/wasmi-labs/wasmi/blob/v0.31.0/crates/wasmi/src/engine/stack/values/mod.rs#L158-L163
修正コードは毎回境界チェックしてるのと同じ
extendする前に必ずreserve呼ばなければいけないとか反省の色が見られない
ttps://github.com/wasmi-labs/wasmi/commit/f7b3200e9f3dc9e2cbca966cb255c228453c792f
ttps://github.com/wasmi-labs/wasmi/blob/v0.31.0/crates/wasmi/src/engine/stack/values/mod.rs#L158-L163
修正コードは毎回境界チェックしてるのと同じ
extendする前に必ずreserve呼ばなければいけないとか反省の色が見られない
345デフォルトの名無しさん
2024/03/20(水) 18:13:46.74ID:ASk8Mk2n extendという名前も実体と違ってバクの素
346デフォルトの名無しさん
2024/03/20(水) 18:19:15.64ID:sC/F3tDJ 修正コードはhotfixでしょ
masterブランチの方は結構手が入ってると思う
masterブランチの方は結構手が入ってると思う
347デフォルトの名無しさん
2024/03/20(水) 18:27:22.61ID:ihbrcjwp その知識やスキルを活かして出世して欲しい
348デフォルトの名無しさん
2024/03/20(水) 20:04:41.25ID:TrbgWl+Z ダメな書き方でもコンパイルが通れば安全なはずなのではw
349デフォルトの名無しさん
2024/03/20(水) 20:32:22.01ID:sC/F3tDJ んなこたない
ダメなunsafeの使い方すれば安全じゃなくてもコンパイルは通せる
ダメなunsafeの使い方すれば安全じゃなくてもコンパイルは通せる
350デフォルトの名無しさん
2024/03/21(木) 01:05:26.83ID:CBfowBe/ 直接の原因はunsafeなメソッドをsafeメソッドにしたこと
unsafeのsafe wrapperの質は大事
今のコードもunsafeの使い方が怪しくて信頼できない
fn get_release_unchecked_mut(&mut self, index: usize) -> &mut UntypedValue {
debug_assert!(index < self.capacity());
// Safety: This is safe since all wasmi bytecode has been validated
// during translation and therefore cannot result in out of
// bounds accesses.
unsafe { self.entries.get_unchecked_mut(index) }
}
unsafeのsafe wrapperの質は大事
今のコードもunsafeの使い方が怪しくて信頼できない
fn get_release_unchecked_mut(&mut self, index: usize) -> &mut UntypedValue {
debug_assert!(index < self.capacity());
// Safety: This is safe since all wasmi bytecode has been validated
// during translation and therefore cannot result in out of
// bounds accesses.
unsafe { self.entries.get_unchecked_mut(index) }
}
351デフォルトの名無しさん
2024/03/21(木) 01:39:19.40ID:t5wrhqh7 >>350
俺んとこもそのコードはよく書くけれど
今回の敗因は引数のindexが生のusizeであること
そこをusize直接ではなくそのラッピングの専用型にする
そしてその専用型が動く範囲が必ず範囲内であることを保証する形で
get_uncheckefのunsafeを使う関数をsafeに仕上げる
俺んとこもそのコードはよく書くけれど
今回の敗因は引数のindexが生のusizeであること
そこをusize直接ではなくそのラッピングの専用型にする
そしてその専用型が動く範囲が必ず範囲内であることを保証する形で
get_uncheckefのunsafeを使う関数をsafeに仕上げる
352デフォルトの名無しさん
2024/03/21(木) 19:05:54.93ID:QWnK+qvS unsafeを適切に使えないプログラマが書くと全然安全じゃないという事?
353デフォルトの名無しさん
2024/03/21(木) 19:57:12.18ID:7RDAu5V5 全然そういう事
Rustで無闇にunsafeを使うのは日本語で無闇に「全然」を使うくらいやばい
Rustで無闇にunsafeを使うのは日本語で無闇に「全然」を使うくらいやばい
354デフォルトの名無しさん
2024/03/21(木) 20:09:58.67ID:gM/gTjZ5355デフォルトの名無しさん
2024/03/21(木) 20:26:53.11ID:1l7zk65j 俺はむやみに「全然」とか「ヤバい」を使ってるけどトラブルになったことはないな
ガンガンunsafe使ってこーぜ!!
ガンガンunsafe使ってこーぜ!!
356デフォルトの名無しさん
2024/03/21(木) 20:28:39.30ID:7RDAu5V5 >>354
それだと単なる自己言及だから352に対する答えとして不十分では
それだと単なる自己言及だから352に対する答えとして不十分では
357デフォルトの名無しさん
2024/03/21(木) 20:45:04.06ID:t5wrhqh7 少なくとも>>350のindex: usizeは
何らかラッピング { index: usize }と別型にすべきところ
まず範囲外のusizeでうっかり使っても型エラーにできる
そしてラッピング型の動作が必ず範囲内に収まるコードであることを注視するだけで安全性を保証できる
何らかラッピング { index: usize }と別型にすべきところ
まず範囲外のusizeでうっかり使っても型エラーにできる
そしてラッピング型の動作が必ず範囲内に収まるコードであることを注視するだけで安全性を保証できる
358デフォルトの名無しさん
2024/03/21(木) 21:05:14.02ID:7RDAu5V5 NonZeroとかNonNullみたいな固定条件ならいいけど
範囲みたいな可変条件だと型だけじゃ厳しいでしょ
別の条件で作られた同じ型の値を使われるかもしれないし
ライフタイムで条件と関連付けるのも限界がある
結局テストパターン増やしてdebug_assert踏むしかない
範囲みたいな可変条件だと型だけじゃ厳しいでしょ
別の条件で作られた同じ型の値を使われるかもしれないし
ライフタイムで条件と関連付けるのも限界がある
結局テストパターン増やしてdebug_assert踏むしかない
359デフォルトの名無しさん
2024/03/21(木) 21:44:37.76ID:t5wrhqh7360デフォルトの名無しさん
2024/03/21(木) 22:18:44.86ID:cOunjWn7 unsafeをsafeでないのにsafeにしておいて
ある型が使い方によってはunsafeになるかもしれないから注視しろってのはちょっとキツイです
ある型が使い方によってはunsafeになるかもしれないから注視しろってのはちょっとキツイです
361デフォルトの名無しさん
2024/03/21(木) 22:27:42.27ID:WuGieKPN 結局プログラマが色々意識してコーディングしないと安全にはならないのね
こういうのもコンパイラがエラーにしてくれてそれを直していけば安全になるものだと思ってたんですけど
こういうのもコンパイラがエラーにしてくれてそれを直していけば安全になるものだと思ってたんですけど
362デフォルトの名無しさん
2024/03/21(木) 23:07:15.31ID:7RDAu5V5 unsafeに手を出さなければ最悪でも暴走する前にpanicで停止する安全性は確保できる
実際は安全の為でもpanicで止まると困るから色々注意しないといけないし
unsafeで余計なチェック省いたり黒魔術使ったりもする
Rustの安全性のサポートは選択と集中がしやすくなる程度で万能ではない
実際は安全の為でもpanicで止まると困るから色々注意しないといけないし
unsafeで余計なチェック省いたり黒魔術使ったりもする
Rustの安全性のサポートは選択と集中がしやすくなる程度で万能ではない
363デフォルトの名無しさん
2024/03/21(木) 23:12:07.53ID:v/mpoJJ8 >>361
unsafeを使わなれば自動的に安全が保証される
unsafeを使うならその関連箇所に人間による安全保証が必要、それ以外は自動的に安全が保証される
C/C++はすべてのコードがunsafe状態なので自動的に安全が保証されるところがない
unsafeを使わなれば自動的に安全が保証される
unsafeを使うならその関連箇所に人間による安全保証が必要、それ以外は自動的に安全が保証される
C/C++はすべてのコードがunsafe状態なので自動的に安全が保証されるところがない
364デフォルトの名無しさん
2024/03/21(木) 23:22:25.34ID:WuGieKPN いつもの人がきたw
結局レベルの低い人が書くとunsafeも不適切に使われて今回のように脆弱性が出てしまうでしょ
Rustであれば安全と思ってる人が多そうなのでかえってunsafeによる脆弱性が見落とされたり発覚しにくくなって問題だと思うんですけど
結局レベルの低い人が書くとunsafeも不適切に使われて今回のように脆弱性が出てしまうでしょ
Rustであれば安全と思ってる人が多そうなのでかえってunsafeによる脆弱性が見落とされたり発覚しにくくなって問題だと思うんですけど
365デフォルトの名無しさん
2024/03/21(木) 23:58:23.31ID:z414Bs3I > Rustであれば安全と思ってる人が多そう
いや一応言っとくけど多くはないよ流石にw
一部の人が連呼してるだけ
ほかの人はもっと現実的だろな
いや一応言っとくけど多くはないよ流石にw
一部の人が連呼してるだけ
ほかの人はもっと現実的だろな
366デフォルトの名無しさん
2024/03/21(木) 23:59:21.08ID:t5wrhqh7 原則はunsafeを使うな!
これだけだ
理解できていてunsafeを使う場合も
とにかく閉じ込めろ!
専用のクレートを作れ
専用のモジュールを作れ
専用の型を作れ
これだけだ
理解できていてunsafeを使う場合も
とにかく閉じ込めろ!
専用のクレートを作れ
専用のモジュールを作れ
専用の型を作れ
367デフォルトの名無しさん
2024/03/21(木) 23:59:51.15ID:XJ9dJAV6 unsafe使わなければ安全
368デフォルトの名無しさん
2024/03/22(金) 09:16:28.77ID:IQ7X1X+j まあ実際rustはコンパイル通ればいいの思想を強める傾向にはある。
それは意識して気をつけた方がいい。
それは意識して気をつけた方がいい。
369デフォルトの名無しさん
2024/03/22(金) 10:19:34.77ID:avPqaarP ロジックや言語仕様を考えずにコンパイルが通るまでひたすらいじくり回すタイプの人間は本当にいる。
チュートリアルすら読まずに書き始めてなんもわからんから教えてと質問サイトに投稿しちゃうやつはいる。
そういうやつは早めに脱落して欲しいし大抵は脱落していくんだけどどういうわけか生き残ってあらゆるところをワヤにしていく狂人がたまにいるんだよ……
普通に現実を見ながらちゃんと学べる人なら (たまにはミスることもあるだろうけど) 大丈夫だよ。
チュートリアルすら読まずに書き始めてなんもわからんから教えてと質問サイトに投稿しちゃうやつはいる。
そういうやつは早めに脱落して欲しいし大抵は脱落していくんだけどどういうわけか生き残ってあらゆるところをワヤにしていく狂人がたまにいるんだよ……
普通に現実を見ながらちゃんと学べる人なら (たまにはミスることもあるだろうけど) 大丈夫だよ。
370デフォルトの名無しさん
2024/03/22(金) 11:58:26.79ID:7Rs7masV371デフォルトの名無しさん
2024/03/22(金) 12:34:01.41ID:TbCMvv+/ 実行時に範囲が変動するといっても制御下にあるのだからindexがその範囲にある時のみ有効な型を実装すればよい
そうすればその型に対して常に安全にget_uncheckedを使える
そうすればその型に対して常に安全にget_uncheckedを使える
372デフォルトの名無しさん
2024/03/22(金) 14:04:42.65ID:ZrfX32kv Rustは失敗言語
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- ハゲがレジやってるコンビニって
- 4時だから窓から4回ちんこ出した
- クマどもが冬眠拒否
- さわやかって
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- イギリス「日本でニュースに関するインフルエンサーを順位付けした」 1位ひろゆき 4位ガレソ 5位池上彰 ガチで終わってると話題に [279254606]
