プログラミング言語 Rust 4【ワッチョイ】 (301レス)
1-

1
(1): (ワッチョイ 83b3-KDL3) 2017/12/24(日)18:27 ID:EGydBhQv0(1) AAS
Mozilla発のプログラミング言語「Rust」のスレです

■公式
外部リンク:www.rust-lang.org
外部リンク:blog.rust-lang.org
外部リンク:github.com

■ワッチョイ
スレ建て時、一行目に
!extend:on:vvvvv:1000:512
を入れること

■派生元スレ
省2
175
(1): (ワッチョイ d3c9-c71v) 2023/01/11(水)20:45 ID:+OHiCBbi0(1) AAS
>>174
標準ライブラリでiteratorのメソッドならそうなんだろうな、って他言語でも溜め込んだ知識で何とかなるけどさ、
例えばwarpっていうWebフレームワークはリクエストの解決にfilterを使ってるんだけど、
外部リンク[html]:docs.rs
↑ここからたどって、例えばリクエストのパスにマッチするフィルタを作成するwarp::filters::pathってのがあるんだけど、
こいつの戻り値が独自型のExactってやつなのね

warp作ってる人はここに様々な条件を追加できるようにしているんだけど、pathの戻り値にどう組み合わせられるかってのをどう探せるんだろっていつもなってる
他のcrateも、単機能で目的果たせるライブラリならまだいいけど、高階関数で機能組み合わせてねってやつはrustdoc見ても意味が分からなくなってる
176
(1): (ワッチョイ 1301-nt2E) 2023/01/11(水)23:31 ID:B6T7GQUU0(1) AAS
>>175
ExactがFilterだと分かれば別のFilterを組み合わせられることはわかるでしょ?

warpのFilterシステムを理解させるための解説ドキュメントが不足してるのと
他で類似の仕組みをあまり経験したことがないのが理由なんじゃないのかな?

型が入れ子の形でチェインされてる状態に慣れてないから
それがわかりにくさの原因のように感じるかもしれないけど
JavaやgoのReader/Writerみたいにデコレータ的に型を重ねていくのはそんな特殊なことじゃないよ
177: (ワッチョイ 119b-EcXc) 2023/01/12(木)07:36 ID:fjq3kaV70(1) AAS
iterator系の処理はどんな言語でもやりすぎると意味不明なんでいい単位で説明変数や関数に切り出すのは大事だよ。
178
(1): (ワッチョイ dbda-xq+Q) 2023/01/12(木)10:57 ID:yHqsf2Vi0(1) AAS
関数単位で切り出す場合はimpl TraitやBox<dyn Trait>使った方が良いと思う
実装の詳細が型として露出してしまうのはよろしくないし
何より長い型を書き下すのはめんどくさい
179
(1): (ワッチョイ d3c9-tb1I) 2023/01/13(金)00:49 ID:Eg8x4Zf+0(1/2) AAS
>>176 いやExactがFilterかどうかが分からないんだ。自信が無い
外部リンク[html]:docs.rs
外部リンク[html]:docs.rs
↑2つを見ても、ExactがFilterをimplしているとは書いてないんだ
知ってたらマジで教えてほしいんだが、どこ見ればいいの?

>>178 そう思うのは人情だが、じゃあどういう型の関数にすればいいのかって話
ググらずに分かる?俺は分からなかった
180: (ワッチョイ 795f-H4iZ) 2023/01/13(金)01:52 ID:USdCnak/0(1) AAS
>>179
非公開の(だけど実装が漏れている)FilterBaseトレイトを介してFilterを実装してるんだね……
FilterBaseが公開されていればExactのblanket implementationsに出てくるはず

同じことは指摘されているが放置されている模様
外部リンク:github.com
181: (ワッチョイ d3c9-RZrR) 2023/01/13(金)20:16 ID:Eg8x4Zf+0(2/2) AAS
もしかして特段に分かりづらい構造だったのかWarp
182: (ワッチョイ 1301-nt2E) 2023/01/13(金)21:03 ID:4YqzJ2Gc0(1) AAS
Sealed TraitっていうユーザーにTraitを実装させないための一般的なパターンなんだけど
privateなTraitはドキュメントには現れないのでExactがFilterBaseを実装してることを確かめたければソースを見るしかない

でも関数や構造体の説明にFilterだよって書いてるんだからまずはそこからじゃないか?
path()「Create an exact match path segment Filter.」
Exact「A Filter matching an exact path segment.」
183: (ワッチョイ eac9-KPE0) 2023/01/14(土)03:14 ID:4QhVLL220(1) AAS
いや型の説明がコメントにしか無いかったら疑うのが基本じゃないか…?
説明にある通りの使い方はできるけど、何故そう使えるのか分からない、となった上での話
前にもちらっと書いたところもそうなんだけど、impl Filterを返す関数のシグネチャも独力だと分からなかったんだよ。もっと情報の少ないクレートでやる必要が出てきたら詰んじゃう
184: (ワッチョイ 595f-qxpo) 2023/01/19(木)13:09 ID:CHvJHSS40(1) AAS
[T]と[T; N]があるように
strに対するSizedなstr<N>とかできんかね
185
(1): (ワッチョイ a75f-+rQD) 2023/01/29(日)03:46 ID:qSgQK/Ke0(1) AAS
外部リンク[html]:doc.rust-lang.org

名前の元ネタがよくわからん
186: (ワッチョイ db9b-kLGU) 2023/01/29(日)04:28 ID:iZgCgX3R0(1) AAS
>>185
trY Early-ExiT で yeet じゃない?
experimental だからわざとクソ命名してそう。
187: (ワッチョイ f6da-RqI+) 2023/01/29(日)08:29 ID:VTBemk9l0(1) AAS
意味合いとしては
> Yeet is a slang phrase meaning to throw with force
とのことらしい
外部リンク:internals.rust-lang.org
外部リンク[php]:www.urbandictionary.com

yeetの初出はここらしい
Twitterリンク:josh_triplett
命名に関するbikeshedを避けつつ機能を実験するために導入するみたいね
Twitterリンク:5chan_nel (5ch newer account)
188: (ワッチョイ 0f5f-xW4J) 2023/02/04(土)16:11 ID:4OrKEijd0(1) AAS
Servoプロジェクトが再始動
外部リンク:servo.org
外部リンク:servo.org
189: (ドコグロ MM49-+MOc) 2023/02/26(日)21:57 ID:vJeOsMT8M(1) AAS
新スレとして再利用と聞いてage
190: (ワッチョイ 615f-+MOc) 2023/03/02(木)01:57 ID:9x7ptNRV0(1) AAS
ProviderとDemandってCOMのQueryInterface的な使い方もできるのかな
191: (ワッチョイ 715f-BZjt) 2023/03/07(火)03:24 ID:CjRtBzJ10(1) AAS
Bevy 0.10 is out now!
外部リンク:bevyengine.org
192: (ワッチョイ 715f-h7+G) 2023/03/10(金)03:58 ID:9+yNdzD90(1) AAS
Announcing Rust 1.68.0
外部リンク[html]:blog.rust-lang.org

今回は小粒?
193: (ワッチョイ fbda-8+Io) 2023/03/10(金)11:19 ID:Rc7TQThZ0(1) AAS
cargoのsparse protocolは嬉しい
194: (テテンテンテン MMee-qnN+) 2023/03/15(水)08:26 ID:L9HRqQqHM(1) AAS
Default alloc error handlerはLinus指摘の取り込みかな。
195
(1): (ワッチョイ 4eda-Wvvr) 2023/03/15(水)10:58 ID:efRde3jV0(1) AAS
Linusの話は、メモリアロケーション失敗時にpanicするなという話だと思うけど、今回の変更とは全く関係ない

今回の変更でalloc crateがalloc_error_handlerのデフォルト実装を提供するようになった
新たに提供されたalloc_error_handlerはpanicする実装になっているので、メモリアロケーション失敗時にpanicになることは変わらない
単に、利用者がalloc_error_handlerを独自に実装する必要がなくなったというだけ

Linusの指摘に対しては、Box::try_newなどのアロケーション失敗を呼び出し元に通知するAPIを用意することで対応している
196: (テテンテンテン MMee-qnN+) 2023/03/15(水)12:35 ID:i0vzrjRpM(1) AAS
>>195
サンクス。
Linusは「単にエラーを返せ」と言っていたから、error handlerじゃ確かに駄目だね。
197
(1): (ワッチョイ 715f-SGwy) 2023/03/15(水)13:35 ID:jUGp7X9a0(1) AAS
Rust製の高速なwebpack互換バンドラ「Rspack」登場。現時点で5倍から10倍の性能向上
外部リンク[html]:www.publickey1.jp

> Rust製の高速なバンドラとしては、webpackの主要な開発者がNext.jsに入社してwebpackの後継として開発している「Turbopack」もあります。
> 現時点ではまだwebpackが抜きん出た人気を得ていますが、現時点で主要な開発者が抜けてしまったwebpack後継の座を狙った競争が始まったといえそうです。
198: (ワッチョイ 4d23-/phF) 2023/03/26(日)17:12 ID:EfkiJTmm0(1) AAS
>>197
ちょっとスレチ気味だけれど
Turbopack(新調で700倍高速) vs Rspack(互換性維持で5~10倍高速)
webpackからの乗り換えはしばらく様子見
199: (ワッチョイ e510-t3VU) 2023/03/27(月)08:53 ID:ZY+RQ7940(1) AAS
一度普及したソフトの作者自身が後継プロジェクトを立ち上げてもなぜかうまくいかない法則
200
(1): (ワッチョイ 9901-3uzD) 2023/03/27(月)09:40 ID:AuSpH/AF0(1) AAS
Rust遅くね?
201
(1): (ワンミングク MM92-WVM1) 2023/03/27(月)10:40 ID:jab4un3HM(1) AAS
速度遅くてもウケたプロダクトの動作速度上げたところで
現行をリプレイスする理由にならないからな
それにRustがいかに速かろうと今の時代ネックはIOである可能性が高いし
202: (ワッチョイ ed9c-dC9y) 2023/03/27(月)12:01 ID:eSvQrfce0(1) AAS
>>200
詳しく見ていないけど、ロジックにボトルネックがあるのかもね。
203: (ワッチョイ c6da-/i8d) 2023/03/27(月)16:02 ID:IjV2Ctjk0(1) AAS
10倍のオーダーで速度差出るなら性能がリプレース理由になる場合も増えると思うよ
数分かかる処理が数秒で終わると快適さが全然違うだろうし
204: (ワッチョイ 453e-wSlO) 2023/03/27(月)16:27 ID:Fq2x4U//0(1) AAS
>>201
どうせ IO がネックだからってのは昔から言われてることだけど
クラウドサービスを前提にすると事情が違うと聞いたことがある。

レスポンスタイムにあまり差が無かったとしても課金は演算量 (CPU の使用量) に対して
だからなるべく効率的に実行できる言語を使ったほうが安く上がるんだとさ。
205: (アウアウウー Saa5-jS6D) 2023/03/27(月)23:41 ID:t8oeSgw5a(1) AAS
Ruby on Rails 6 では、webpack が標準だったけど、
Rails 7 では、Import Maps で、CDN から直接インポートするように変わった。
脱webpack/node.js

ES2015 に対応していないブラウザ用に、バンドルする方法もある。
バンドラーは、esbuild, rollup, webpackの3つ
206: (ワッチョイ a75f-iKPJ) 2023/04/17(月)10:02 ID:Dh5lk+HW0(1) AAS
ドキュメントコメントを reStructuredText で書きたい
207: (ワッチョイ a95f-mr0i) 2023/04/24(月)12:17 ID:LQT8UQ2a0(1) AAS
let-else の else ブロックの中だけ rustfmt 効かなくて設定間違えたかと思ったら
フツーに未対応だった
外部リンク:github.com
208: (ブーイモ MM8e-sjlm) 2023/04/24(月)18:39 ID:75I/tfQdM(1) AAS
let-elseは鬼っ子だから
改行位置決めるのも大変
209: (オイコラミネオ MMb5-+3Ti) 2023/04/24(月)18:43 ID:3hT7+QpVM(1/3) AAS
横から済みませんがが、
Rust で Vec に要素を追加した場合にメモリー不足になったかどうかを検出
するのはどうしたらよいんでしたっけ?
210
(1): (ブーイモ MM8e-sjlm) 2023/04/24(月)18:47 ID:fDr9n68aM(1) AAS
try_reserve
211
(1): (オイコラミネオ MMb5-+3Ti) 2023/04/24(月)18:53 ID:3hT7+QpVM(2/3) AAS
>>210
それは予め領域を確保しておく関数で、確保できなかった場合には、
Result<(), TryReserveError>
という戻り値を返す関数と言うことですか?
そして、関数呼び出しの直後に ? を書くと、エラー発生時にそこで
アプリをダウンさせると言うことですか?
212: (オイコラミネオ MMb5-+3Ti) 2023/04/24(月)19:00 ID:3hT7+QpVM(3/3) AAS
>>211
事故レスですが、? 演算子は、x ? と書くと、x の値が Err(y) だったら、
return Err(From::from(y)),
というような動作をする関数のようですね。
213: (ブーイモ MM0a-sjlm) 2023/04/24(月)19:01 ID:ELtZniCQM(1) AAS
いろいろ違う
落としたいならpanicさせとけばいい
214
(1): (ワッチョイ 1eda-2ihv) 2023/04/25(火)00:44 ID:hB6+7TeQ0(1/2) AAS
メモリ不足を検出した場合に何をしたいかで適切な対応は変わってくるけど、何をしたいの?
215
(1): (オイコラミネオ MMb5-+3Ti) 2023/04/25(火)01:46 ID:ICFLZD9/M(1/2) AAS
>>214
メモリー不足の時にメモリー不足である旨のエラーメッセージを出して、
なんらかの自作の処理コードを動かしたいです。
216: (オイコラミネオ MMb5-+3Ti) 2023/04/25(火)01:47 ID:ICFLZD9/M(2/2) AAS
>>215
なお、Vecに追加する動作を行なった関数の中で処理をしたいです。
217: (ワッチョイ a95f-U0+R) 2023/04/25(火)07:31 ID:S/F8mIrU0(1) AAS
重要:
メモリ不足だからと言ってmallocが失敗するとは限らない
218: (ワッチョイ 2a3e-ASru) 2023/04/25(火)09:38 ID:ug7UW9j70(1) AAS
今の Linux カーネルだとアプリケーションからオーバーコミットを無効にすることは出来るようになってるぞ。
219: (ワッチョイ 1eda-2ihv) 2023/04/25(火)10:43 ID:hB6+7TeQ0(2/2) AAS
try_reserveの戻り値がErrだったら処理を実行するだけだよ
この説明で分からないならenumやResult型について勉強した方が良いよ

あとtry_reserveの失敗要因はメモリ不足だけじゃないけど、エラー種別はnightlyじゃないと取得できないみたいね
220
(1): (ワッチョイ 375f-k3Rv) 2023/04/29(土)19:47 ID:OSQfAzE+0(1) AAS
RefMut <-> Ref にも Rc <-> Weak みたいな相互変換メソッドがあればいいのに
221
(1): (ワッチョイ bfda-qKNM) 2023/04/30(日)04:06 ID:5bTJo9fJ0(1) AAS
>>220
RefCell自体を取り回して必要なところで都度RefやRefMutを作れば良いのでは
222
(1): (ワッチョイ 375f-k3Rv) 2023/04/30(日)11:51 ID:cNEEfLAb0(1) AAS
>>221
実際今はそれでやってて、別に問題になるほどじゃないんが、ちょっと無駄だよなあと
Ref/RefMutってあんまりあちこち取り回す用にできてないよね
223: (アウアウウー Sa1b-qKNM) 2023/04/30(日)13:58 ID:ZqZbVcjya(1) AAS
>>222
RefやRefMutはMutexのGuardみたいなもんなんだから取り回す範囲は極力狭くするべきなんじゃね
224: (ワッチョイ 375f-k3Rv) 2023/05/03(水)20:42 ID:CZOik0F40(1) AAS
Rustにもこんなのあるんか……ええな
外部リンク:zenn.dev
225: (ワッチョイ 335f-awLq) 2023/05/19(金)17:46 ID:vnYwlZ+00(1) AAS
Rust for Linux updates! More pin-init and refactoring! - YouTube
動画リンク[YouTube]
226: (ワッチョイ 7b5f-e8Lq) 2023/06/02(金)02:43 ID:w12tfZkT0(1) AAS
The RustConf Keynote Fiasco, explained
外部リンク:fasterthanli.me

一連の事件は結局不幸な伝言ゲームの結果だったということだろうか
227: (ワッチョイ 7d5f-vCKA) 2023/06/04(日)13:53 ID:xOmzDhxR0(1) AAS
以前からCodeLLDBでたまに値がちゃんと表示されないことがあるなーと思ってたら再帰型が原因だったんですね
今ほとんど再帰でできてる部分触ってるせいで困ってる……
dbg!書けばいいだけではあるんだけど泥臭くて嫌だわね
外部リンク:github.com
228: (ワッチョイ d336-IjPS) 2023/07/29(土)22:43 ID:nwVMjVJQ0(1) AAS
いつのまにかrust-specがマージされてる。まだ作業終わってないけど。
外部リンク:github.com
外部リンク:github.com
rustにもようやく仕様が。
229: (ワッチョイ eada-0btC) 2023/07/30(日)17:17 ID:9Mwyt07S0(1) AAS
これから編集者雇うみたいだからまだまだ時間は掛かりそうだけど、前進だね
230: (ワッチョイ 0f5f-4nYy) 2023/08/10(木)03:13 ID:cXfKj1l90(1) AAS
Hugging FaceがPyTorch的なRust製フレームワークを作り始めたらしい
外部リンク:github.com
231
(1): (ワッチョイ 275f-orer) 2023/08/16(水)18:13 ID:Wd6XOYTc0(1) AAS
>> 2chスレ:tech

rustupを使わないクロスコンパイル環境の構築方法あるらしいよ
外部リンク:users.rust-lang.org

大人しくrustup使っておけよとしか思わんが一応……
232: (ワッチョイ bb36-3sKl) 2023/08/16(水)19:50 ID:e6GDzmE20(1) AAS
githubにrustupのソースコードあるから読めばいいよ。
233: (ワッチョイ 8b01-1ZN1) 2023/08/16(水)23:13 ID:1NDN9ysp0(1) AAS
>>231
サンキュ。試してみます
234: (ワッチョイ f9a9-75c1) 2023/08/22(火)03:24 ID:Fec2bVY90(1) AAS
おおきに、感謝やで!
235: (ワッチョイ d95f-GBSa) 2023/08/30(水)12:04 ID:LqLNxSZ40(1) AAS
Debugを上位トレイトに持たないトレイトのオブジェクトをなんとかしてdbg!する方法は無いもんじゃろか
236: (ワッチョイ 3536-8/Q7) 2023/08/30(水)15:40 ID:lfrnRSB90(1) AAS
ない。基本的なトレイトを実装してないのはバグ。
237: (ワッチョイ 4ada-0cXD) 2023/08/30(水)20:29 ID:y+HDByBG0(1/2) AAS
参照をポインタにしてアドレスを表示してみるとか
238: (ワッチョイ 4ada-0cXD) 2023/08/30(水)20:30 ID:y+HDByBG0(2/2) AAS
構造体フィールドの中身を知りたいという事ならAnyを継承させてダウンキャストするかDebugを継承したtraitにするしかないね
239: (ワッチョイ b3bc-yE7J) 2023/09/12(火)06:34 ID:8vWycgZc0(1) AAS
アノ店、今日は休みやねんな
240: (ワッチョイ 0f36-8z3m) 2023/09/21(木)01:15 ID:d9SQw4Jt0(1) AAS
intellij rustからRustRoverギリギリ燃えてないな。プラグインもIDEAもバグが増えたのが懸念とか言われてるけど。
241
(1): (ワッチョイ 0f01-w8tn) 2023/09/21(木)23:43 ID:2whQHU6y0(1) AAS
RustのコンパイルターゲットはTierで分けられているけど
x86_64-pc-windows-msvc ←Tier1
x86_64-unknown-none ←Tier2
この違いって何?
Tier1の条件を見るとすべてのテストに合格すること的な事が書いてあるしプラットフォームが不明の状態でそれは不可能はなず
組み込み向けなどの低レイヤー用途を想定したターゲットにTier1のものはなくすべてTier2以下になっている
もしこれが理由なら自分が書いたコードはTier1と同レベルに翻訳される(実行できなかったり実行結果が不正なコードは生成されない)事が
期待できるけどそう考えて問題ないのだろうか
242
(1): (ワッチョイ 3fda-n7kY) 2023/09/22(金)01:00 ID:J+8eUZUM0(1) AAS
>>241
x86_64なら現実的にはほぼ動くとは思う
ただ、あくまでもrust側ではコンパイルが通ることしか確認してなくて、生成されたコードが正しく動作するかは未確認の状態
利用者側が動作確認をきちんとやる必要があるよ
243: (ワッチョイ 0f01-w8tn) 2023/09/22(金)02:06 ID:/khf3L7K0(1/3) AAS
>>242
例えばベアメタル開発用などでOSとインターフェイスしないコードのみほしい場合
x86_64-pc-windows-msvc(x86_64-unknown-linux-gnuとかでも可)でスタティックリンクのライブラリとしてビルドしてカスタムリンク
x86_64-unknown-noneでビルド
の二択だと出力物の信頼性はどちらの方が高いのだろうか。どちらも適切なローダーを用意すれば動作するはず
特に低レイヤーの開発で翻訳不良があるとトラブルシュートが沼りやすいし、前者の方が有利なら
ゴミが付いたりビルドが複雑化するなどのデメリットを考慮しても検討する価値があるはず
244: (ワッチョイ 0f36-8z3m) 2023/09/22(金)04:58 ID:B04DzdQA0(1) AAS
より正確にはtier2はwith/without Host Toolsに分かれる。
withの方はtarget環境扱いだけじゃなくてネイティブなhost toolsを使用して開発環境として使える。
*-*-none-*はベアメタル向けだからHost Toolsのサポートはない。
言い換えるとtier2 with Host Toolsはセルフホストできる。

Tier 1にもwith/withoutの分類があるけど事実上withoutの方がない。
これは今のところHost Toolsをサポートしてないtier 1が存在しないから。

だからビルド環境に指定したいならx86_64-unknown-none。
245: (ワッチョイ 0f01-w8tn) 2023/09/22(金)23:10 ID:/khf3L7K0(2/3) AAS
x86_64-unknown-noneが吐くコードをどのくらい信用して良いのかって話ね
Tier2=十分にテストされていない=不正命令例外を吐いたり意図しない演算結果になる可能性がある
とかだと開発に重大な影響が出るし勘弁してほしい。Tier1のターゲットならそんな可能性は無視できるはずだし
246: (ワッチョイ 0ff8-fp56) 2023/09/22(金)23:26 ID:wn++FXk10(1) AAS
テスト云々はlibstdが主なんでは?
そもそもコード生成するのはLLVMなんだし機械語レベルじゃRust側のTierは関係ない気がする
247: (ワッチョイ 0f01-w8tn) 2023/09/22(金)23:47 ID:/khf3L7K0(3/3) AAS
x86_64-unknown-noneがTier2の理由がstdのテストができないからならそれでいいんだけどね
Platform Supportを見ても
>x86_64-unknown-none * Freestanding/bare-metal x86_64, softfloat
としか書いていない。hardfloatが使えない?のはよくわからないが
248: (ワッチョイ 0336-3hLy) 2023/09/23(土)01:27 ID:JOYgBSwC0(1) AAS
Tierはrustcのコードベースがビルドできるかどうかの保証であって吐くバイナリの質の保証じゃない。
そもそもrustcはフロントエンドだからどういうバイナリ吐くかは無関係。
tier 1/2の違いは自動テストが常に実行されるかどうかの違いだけ。

全部Platform Supportに書いてあるからこの説明でわからんならどこが理解できないのか言ってくれ。
249: (ワッチョイ 5301-3pIy) 2023/09/24(日)21:37 ID:JmCRMtY30(1) AAS
Tier表記がアテにならないならコードの質を比較するにはどうしたらいいんだろ
x86_64とavrが同じ品質、同じ最適化レベルなわけないよな
250: (ワッチョイ 0ada-sj2L) 2023/09/25(月)08:27 ID:gOdfC5Fq0(1) AAS
rustに限らずコンパイラの生成コードの品質はアセンブリ見て判断するしかないんじゃね
LLVM IRもプラットフォームごとに差があるのかね?
251: (ワッチョイ dd5f-ZTan) 2023/11/08(水)11:25 ID:QNjJKK3y0(1) AAS
Rust製ブラウザエンジンの「Servo」、アプリに組み込み可能なクロスプラットフォーム対応WebView化を目指す。Electron代替を目指す「Tauri」への組み込み実現へ - Publickey
外部リンク[html]:www.publickey1.jp

期待
252: (ワッチョイ 9f5f-Lcu7) 2023/11/13(月)11:53 ID:k6bqA1Ku0(1) AAS
外部リンク[html]:rust-lang.github.io

気づいたらポシャっててstd-1.73.0からProvider/Demandも消えてた
やっぱりRTTIとかそういうのはあんまり乗り気じゃないのかな??
253
(1): (ワッチョイ e3f0-Krj3) 2023/12/28(木)17:26 ID:WYblPX1w0(1/2) AAS
RubyのYJITって仕組みはRustで実装されてるんだな
ソース見てビビった
254: (ワッチョイ 6397-cIbC) 2023/12/28(木)19:28 ID:13cJB/jM0(1) AAS
>>253
へぇ、Node.jsもあちこちが遅いからと
ちょこちょこ便利ライブラリの中身がRustに置き換わり始めてるし
今後こういう流れは加速しそうだな
255: (ワッチョイ ff3e-XnzH) 2023/12/28(木)21:34 ID:x05ZB4jI0(1) AAS
遅い部分を Rust でなおそうというよりは、
Rust へ置き換わる流れに乗るついでに駄目なところをそろそろなんとかしようぜという感じじゃないかな。
イマイチなのがわかっててもちゃんと動いてるなら何かきっかけがないと重い腰が上がらないのはよくあること。
256: (ワッチョイ e3f0-Krj3) 2023/12/28(木)22:12 ID:WYblPX1w0(2/2) AAS
YJITのコード、相当面白いな
RustでJITしてるよw
マシンコードゴリゴリ生成してる
257
(1): (アウアウウー Saa7-9gAl) 2023/12/29(金)18:42 ID:gLXDegz1a(1) AAS
rustってJavaやpythonみたいに爆発的に流行るわけじゃなくてじわじわ広まっていく感じなんだろうな
258: (アウアウウー Saa7-Krj3) 2023/12/29(金)22:02 ID:iUQmWV32a(1) AAS
YJIT、最初はCで実装されてたがRustに変えたみたい
bindgenでCRuby側のAPIをRust側に持ってきて
それを使いながらJITでマシンコード生成してる
面白すぎる
コードもめちゃくちゃ読みやすいぞ
259: (ワッチョイ 9701-Hbjn) 2024/02/04(日)19:30 ID:TI/zzvYY0(1) AAS
RustのRTOSはTockがあるけどFreeRTOSやTOPPERS/SSP、μT-Kernelなど既成のRTOSとの比較レビューってある?
260: (ワッチョイ b15f-ZSX2) 2024/03/22(金)21:59 ID:qT4SZAGX0(1) AAS
Rust 1.77.0
外部リンク[html]:blog.rust-lang.org
261: (ワッチョイ 9f5f-n+Ch) 2024/05/05(日)01:37 ID:uZIblCBW0(1) AAS
Rust 1.78.0
外部リンク[html]:blog.rust-lang.org
262: (ワッチョイ 137c-fr5k) 2024/05/28(火)05:50 ID:2O15FncY0(1) AAS
あげとくか
263
(1): (アウアウウー Sac5-j0d5) 2024/05/28(火)11:26 ID:NhejqWbKa(1) AAS
>>257
それなりに使われるだろうけど普及はしないよこんな糞言語
264
(1): (ワッチョイ a17d-AeJW) 2024/05/28(火)12:40 ID:62OgaQom0(1) AAS
>>263
普及の定義をしようや
265: (ワッチョイ d37f-ikRv) 2024/05/29(水)01:14 ID:stYwN08n0(1) AAS
lazy_cellが安定化
外部リンク:github.com
266
(1): (アウアウエー Sab2-JqXl) 2024/06/05(水)14:11 ID:nZd9x5hFa(1) AAS
>>264
糞言語は定義しなくていいということですか
267: (ワッチョイ be29-u9Nc) 2024/06/05(水)15:39 ID:NzLbLFLA0(1) AAS
>>266
糞言語でも神言語でもいいから
普及したかどうか基準を明確になれば良い
268
(2): (アウアウエー Sab2-JqXl) 2024/06/06(木)10:37 ID:qz5pj6nBa(1) AAS
糞言語なのは認めるということですね判ります
269: (ワッチョイ be33-u9Nc) 2024/06/06(木)18:33 ID:vvc6Sc+M0(1) AAS
>>268
プログラミング言語の前に国語勉強しよう
270: (ワッチョイ 7fce-xov0) 2024/06/14(金)00:25 ID:LVwRqQSd0(1) AAS
Rust 1.79.0
外部リンク[html]:blog.rust-lang.org
271: (ワッチョイ 615f-lSh6) 2024/07/15(月)02:00 ID:S6UfnUI40(1) AAS
poloniusって結局何なんだ?
272: (ワッチョイ b15f-Ojjn) 2024/07/25(木)23:26 ID:DJ5WaC5l0(1/2) AAS
Rust 1.80.0
外部リンク[html]:blog.rust-lang.org
273: (ワッチョイ b15f-Ojjn) 2024/07/25(木)23:42 ID:DJ5WaC5l0(2/2) AAS
Exclusive ranges in patternsの例でこれからは終点と始点に同じconstが使えますって書いてるけど
そもそもstableじゃpatternでconst使えないから微妙に説明不足だなあ
274: (ワッチョイ 5fed-Tquj) 2024/09/06(金)13:05 ID:7lTmc6Nm0(1) AAS
Rust 1.81.0
外部リンク[html]:blog.rust-lang.org
275: (ワッチョイ bb5f-RyhN) 2024/10/19(土)03:08 ID:1NcbI99b0(1) AAS
Rust 1.82.0
外部リンク[html]:blog.rust-lang.org
276: (ワッチョイ b1bd-Q1tn) 2024/11/06(水)21:10 ID:Z4pDTKo20(1) AAS
>>268
クソ言語ってCとかBASICみたいな奴のこと?
277
(1): (ワッチョイ 23c8-oJQd) [age] 2024/11/12(火)00:38 ID:lS2MxdJo0(1) AAS
Rustのインストール,Hello World/Cargo,数当てゲームまで終わったので記念に書き込み
サクラエディタでコード編集したけどIDEは何がいいんだろろ
278: (ワッチョイ cd32-bar5) 2024/11/12(火)08:37 ID:DHJyD4K70(1) AAS
>>277
VSCode がスタンダードだと思うが LSP が実装されてるエデェタならなんでもいいよ。
公式ページには八つのエディタが第一級サポートありと書かれているのでそのなかから選ぶのが無難。
279: (ワッチョイ 2324-oJQd) 2024/11/12(火)13:14 ID:69VI/kA50(1/2) AAS
ありがとう
とりあえず公式ページ見てくる
使ったことあるvscodeになりそうだけど
280: (ワッチョイ 2324-oJQd) 2024/11/12(火)17:29 ID:69VI/kA50(2/2) AAS
Vimがあったけど中々挑戦できないな
281: (オイコラミネオ MMab-33K2) 2024/11/14(木)11:49 ID:/k0TwQtQM(1) AAS
vscodeの良さは、AndroidユーザーがiPhoneの良さを全く理解できないのと
同じくらい、理解できない。
282: (ワッチョイ 15bd-4Bi2) 2024/11/14(木)19:08 ID:yxSXUQjo0(1) AAS
Calaude aiで生成したコードってそのまま通るのかな
283: (ワッチョイ 4243-gDrC) 2024/11/20(水)13:43 ID:g9sD9hG/0(1) AAS
外部リンク:github.com
デケえ便利機能が来そうだぜ
284: (ワッチョイ 9f01-wxIp) 2024/11/20(水)18:47 ID:BzSu5ItH0(1) AAS
諸刃の剣だな
現状のDerefは抑制的に使われてるけど
Receiverがカジュアルに使えるとどうなるかな
285: (ワッチョイ 9f1c-ksDR) 2024/11/28(木)23:19 ID:e85wFuS80(1) AAS
Rust 1.83.0
外部リンク[html]:blog.rust-lang.org
286: (ワッチョイ 975c-vRoJ) 2024/11/28(木)23:55 ID:JvWPBHtF0(1) AAS
アップデートしたらしいけどなんかいい修正ある?
287: (ワッチョイ 9fb2-ksDR) 2024/11/29(金)18:38 ID:kgssLEYJ0(1) AAS
const fnの中でできることが増えたくらいで今回地味かも
内部としてはこれでも大仕事なんでしょうが……
288
(1): (ワッチョイ 5cd9-2cXZ) 2024/12/03(火)20:48 ID:hazgT/ND0(1/4) AAS
なるほど(わかってない)
Hello WorldとHello Cargoまでやったけどこのまま公式のブック?とかいうチュートリアルこなしてくのがええのかな
289: (ワッチョイ 5cd9-2cXZ) 2024/12/03(火)20:50 ID:hazgT/ND0(2/4) AAS
C/C++のRust置換えはあんまり進まないと思うけどWEBアセンブリといえばRustになれば長く続く言語になるかなと思ってちょっと齧りだしたところ
290: (ワッチョイ bd32-mEgI) 2024/12/03(火)21:20 ID:0HkaMF/90(1) AAS
>>288
もし C とかを知ってるなら Rust のチュートリアルはすぐ終わるし、充分にプログラムは書けるよ。
ただ、上手く書くとなると際限ないからなぁ……

個人的には実際に使いながら標準ライブラリの構成を理解するのが良いと思う。
標準ライブラリは言語の思想がよく現れているので真似すると上手くいきやすい。
291: (ワッチョイ 5cd9-2cXZ) 2024/12/03(火)21:37 ID:hazgT/ND0(3/4) AAS
Java/JS(jQuery)くらいでC/C++未経験
最近出たRustでブラウザ作ってみるって本よんで環境構築したくらい
とりあえずライブラリ意識しながらチュートリアル(ブック)やってみるわ
292: (ワッチョイ 5cd9-2cXZ) 2024/12/03(火)21:41 ID:hazgT/ND0(4/4) AAS
ありがとうね
293
(1): (ワッチョイ d374-q1xP) 2024/12/25(水)01:38 ID:HGQro34U0(1) AAS
おもしろそう
外部リンク:contextgeneric.dev
294: (ワッチョイ 1105-C5I+) 2024/12/25(水)07:12 ID:rU0AIwOo0(1) AAS
>>293
コンテクストジェネリックプログラミング(CGP)?
コンテクスト(文脈、背景、経緯、状況
ジェネリック(一般的、包括的

何だろね?
295: (ワッチョイ d3bb-bDSa) 01/10(金)16:35 ID:xLB3XHZu0(1) AAS
Futureをラップする型に手動でimpl FutureしてるけどこれはPinのいい勉強になるな
296: (ワッチョイ d3c7-bDSa) 01/11(土)02:39 ID:5YYsPqAa0(1) AAS
Rust 1.84.0
外部リンク[html]:blog.rust-lang.org
297: (ワッチョイ 7a51-N+ua) 01/27(月)18:39 ID:ObwYCp160(1) AAS
クロージャとかFutureの具体型をassociated typeに書くためにtypeofが欲しくなってくる今日この頃
298: (ワッチョイ e391-MHHu) 02/21(金)11:47 ID:nMjYKkhy0(1/2) AAS
Rust 1.85.0
外部リンク[html]:blog.rust-lang.org
299: (ワッチョイ e391-MHHu) 02/21(金)11:50 ID:nMjYKkhy0(2/2) AAS
AsyncFn traits……だと?
300: (ワッチョイ 7f9d-XqbG) 04/04(金)07:44 ID:coTIOcpx0(1) AAS
このスレでRustの普通の雑談(trait bound以外の話)をしたい
301: (ワッチョイ 7f96-G494) 04/04(金)18:47 ID:uFTmKMED0(1) AAS
じゃあこれでも眺めてみようか
外部リンク:aznhe21.hatenablog.com/entry/2025/04/04/rust-1.86
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.027s