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

153: (ワッチョイ 79b3-pBcm) 2018/07/01(日)02:21 ID:hOXxhpxn0(1) AAS
いやじゃ、いやじゃ、Eclipseなんぞ使いとうない
154: (ワッチョイ 82d2-dOiQ) 2018/07/01(日)03:02 ID:T78MqQu/0(1) AAS
みんなどんな環境で書いてるの?今はvscode使ってるんだけどrlsがあまりに不安定すぎてストレスが…
155: (ワッチョイ 6ee8-Fk5m) 2018/07/01(日)06:22 ID:3lsiwbVs0(1/2) AAS
vscodeだよ
racerも不安定だったような
156: (ワッチョイ 0d2d-IuOd) 2018/07/01(日)09:29 ID:61/yGhxs0(1) AAS
emacs + flycheck
racerは重すぎるんでOFFにしてる
157: (アウウィフ FF85-mzC7) 2018/07/01(日)15:40 ID:ep584YMHF(1) AAS
秀丸
158: (ワッチョイ 79b3-HrKv) 2018/07/01(日)18:12 ID:VIP13YQk0(1) AAS
禿丸ってなに?
159: (ワッチョイ 6ee8-Fk5m) 2018/07/01(日)19:19 ID:3lsiwbVs0(2/2) AAS
こっちまでネタスレかよ
160: (ブーイモ MM22-Unb+) 2018/07/03(火)18:54 ID:A246qspJM(1) AAS
画像リンク[jpg]:i.imgur.com
161: (ワッチョイ 45fa-2e90) 2018/07/04(水)21:50 ID:gFgZc5FG0(1) AAS
5PW
162: (ブーイモ MM2b-0Xn2) 2018/07/05(木)00:59 ID:lJi2a9VDM(1) AAS
おーい、hgmr
163: (アメ MM5b-Ip0i) 2018/07/28(土)09:13 ID:pjkfXvHGM(1) AAS
hnmr王子〜♪
164: (ワッチョイ 12d5-YWSl) 2018/07/29(日)02:13 ID:QHCaZ13N0(1) AAS
まさか繋いでくれる人がいるとは思わなかった
165: (ブーイモ MM5b-Hl5m) 2018/07/31(火)16:45 ID:0aJU5h1JM(1) AAS
花村てなんや
オーバーウォッチか
166: (アメ MM67-tZ6u) 2018/08/05(日)20:37 ID:XPCi/u53M(1) AAS
王子に対し無礼であろう!
外部リンク:www.nhk.or.jp
167: (ワッチョイ d75f-8s6k) 2020/11/25(水)00:47 ID:lt8VNqOR0(1) AAS
るすと
168: (ワッチョイ dfad-VZQ6) 2022/05/03(火)15:19 ID:FP7f4hyR0(1) AAS
Rの発音が難しい
169: (テテンテンテン MM73-rSKY) [age] 2022/08/07(日)14:18 ID:Xv2x2xOXM(1) AAS
うんこすレッド
170: (ワッチョイ 7501-zStA) 2022/11/13(日)22:46 ID:gb51z1Py0(1) AAS
日本語の発音ってかイントネーションはみんなどっち?
ラスト(ミファファ=スタバ)
ラスト(ミドド=ベスト(着る方))
171: (ブーイモ MM4b-Yt0T) 2022/11/16(水)18:15 ID:QMFF+6AxM(1) AAS
1オクターブ上のドでミドド
172: (ワッチョイ 1f5f-MR5z) 2022/12/18(日)17:46 ID:fqk1SiW30(1) AAS
本スレ最近ひどいね
age
173
(1): (ワッチョイ d3c9-tb1I) 2023/01/09(月)20:41 ID:XnWHdmBW0(1) AAS
Rustの型って何を言ってるのか良う分からないくらい一気に複雑になるんだけど、改善の兆しってある?
filter(|x| ...).map.(|x| ...)ってやると戻り値がMap<Filter<...>>みたいに、情報量がほぼ増えないのに型の表記だけが増えてくのが見づらくてしゃあないんだが

「ここを関数に切り出しておきたい」ってのも難しくね?
impl Traitあるだろって言われるけど、自分ひとりでできた試しが無い
174
(1): (ワッチョイ 1301-nt2E) 2023/01/09(月)22:31 ID:ZXgjuOo50(1) AAS
>>173
.filter(|x| ...).map.(|x| …)とやったら
ざっくり言うと戻り値はIterator<Item=T>でowned, shared reference, mutable referenceの3種類
Map<Filter<...>>とかの詳細な型を知りたいと思うことは基本ないからそこまで困らない
デコレータとかコンポジション的なものとして理解しとけばいいと思う

関数に切り出すのはGC言語と比べると難しい
どの値の所有権をどの呼び出しレイヤーで保持すべきかを整理しながらリファクタリングする必要がある
省1
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の戻り値にどう組み合わせられるかってのをどう探せるんだろっていつもなってる
省1
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
省2
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
サンキュ。試してみます
1-
あと 69 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.027s