>>9
私も初心者で分からないですが最終的に何がしたいんでしょうか?
プログラミング言語 Rust 4【ワッチョイ】
10デフォルトの名無しさん (ワッチョイ 66e8-AMuz)
2018/01/12(金) 21:23:37.23ID:B4BnwQ220119 (ワッチョイ 392d-FSib)
2018/01/12(金) 21:44:35.31ID:r1exnGKH012デフォルトの名無しさん (ワッチョイ 66e8-AMuz)
2018/01/12(金) 22:44:10.61ID:B4BnwQ22013デフォルトの名無しさん (アークセー Sxbd-YNmt)
2018/01/12(金) 23:39:08.93ID:XT/5sCZ8x >>9 https://play.rust-lang.org/?gist=eec6671ba201493eb61891447824b92f&version=stable
DerefとDerefMutを実装するといい。
↓にあるDeref Coarcionっていうコンパイラの機能で、x: MyType<T>に対し、&xが&MyType<T>とも&Vec<T>ともみなしてくれるようになる
https://doc.rust-lang.org/book/second-edition/ch15-02-deref.html#implicit-deref-coercions-with-functions-and-methods
更に追加でIntoとFromも簡単に実装できるから不自由は無くなるはず
DerefとDerefMutを実装するといい。
↓にあるDeref Coarcionっていうコンパイラの機能で、x: MyType<T>に対し、&xが&MyType<T>とも&Vec<T>ともみなしてくれるようになる
https://doc.rust-lang.org/book/second-edition/ch15-02-deref.html#implicit-deref-coercions-with-functions-and-methods
更に追加でIntoとFromも簡単に実装できるから不自由は無くなるはず
149 (ワッチョイ 392d-FSib)
2018/01/12(金) 23:49:12.53ID:r1exnGKH0 >>12
ごもっともです
self.0に委譲するマクロが上手く書けなかった経験があり
それに引きずられて本質を見失ってました
コードを整理していったらいけそうな感じになりました
https://play.rust-lang.org/?gist=960819f1fb1b5f9988a1c58cab2b1b9e&version=stable
ありがとうございます
>>13
ああ、なるほど
Derefは思い至ってませんでした メソッド委譲の解決になりそうで助かります
こちらもありがとうございます
ごもっともです
self.0に委譲するマクロが上手く書けなかった経験があり
それに引きずられて本質を見失ってました
コードを整理していったらいけそうな感じになりました
https://play.rust-lang.org/?gist=960819f1fb1b5f9988a1c58cab2b1b9e&version=stable
ありがとうございます
>>13
ああ、なるほど
Derefは思い至ってませんでした メソッド委譲の解決になりそうで助かります
こちらもありがとうございます
15デフォルトの名無しさん (ワッチョイ 66e8-AMuz)
2018/01/13(土) 07:02:43.11ID:PvY+igkm0 なるほど
16デフォルトの名無しさん (ワッチョイ 66e8-AMuz)
2018/01/13(土) 10:23:49.57ID:PvY+igkm017デフォルトの名無しさん (アークセー Sxbd-YNmt)
2018/01/13(土) 19:09:49.17ID:zJNsIIn8x >>16の論旨は「MyType<T>は常にVec<T>として扱われても問題ないか?あるならDerefはおすすめしない」だと思うけど、
今回の場合はむしろMyType<T>は特別なことが無い限りVec<T>として使いたいんじゃないの?
今回の場合はむしろMyType<T>は特別なことが無い限りVec<T>として使いたいんじゃないの?
189 (ワッチョイ 392d-FSib)
2018/01/13(土) 20:15:02.44ID:5hbvxbkG0 >>16 読みました
見覚えのあるピンク玉はrust playgroundの中の人でした
「smart_ptrぐらいの同一性がある場合にはDerefが必要だけど
strにDeref<Taget = [u8]>が無いように
Derefだとやりすぎな場合もあるからdelegate構文欲しいよね」
ってなとこでしょうか
strの例は「替わりにas_bytesがあるよ」ということかなと
strとsliceとか他のライブラリを眺めた個人的な結論としては
has_aならAsRef、is_aならBorrowをimplして受ける関数で使い易くしておくのが
Rust的な落とし所なのかなーといった印象です
AsRef, Borrow, Derefの使い分けは宣言的にプログラマの裁量に任されてる感じ
よくよく考えれば自分のコードにもas_xxx, as_xxx_mutが散見されている現状なので
Mytypeにもas_vecを書けばそれでも良かったような気がします
>>17
自分のケースの場合はそもそもMyTypeがいらなくなってしまったもので
Derefはオーバーパワーかなと思ってます
とはいえ smart_ptrのように扱うならDerefが有用ということが
知見として学べたので 大変ありがたかったです
見覚えのあるピンク玉はrust playgroundの中の人でした
「smart_ptrぐらいの同一性がある場合にはDerefが必要だけど
strにDeref<Taget = [u8]>が無いように
Derefだとやりすぎな場合もあるからdelegate構文欲しいよね」
ってなとこでしょうか
strの例は「替わりにas_bytesがあるよ」ということかなと
strとsliceとか他のライブラリを眺めた個人的な結論としては
has_aならAsRef、is_aならBorrowをimplして受ける関数で使い易くしておくのが
Rust的な落とし所なのかなーといった印象です
AsRef, Borrow, Derefの使い分けは宣言的にプログラマの裁量に任されてる感じ
よくよく考えれば自分のコードにもas_xxx, as_xxx_mutが散見されている現状なので
Mytypeにもas_vecを書けばそれでも良かったような気がします
>>17
自分のケースの場合はそもそもMyTypeがいらなくなってしまったもので
Derefはオーバーパワーかなと思ってます
とはいえ smart_ptrのように扱うならDerefが有用ということが
知見として学べたので 大変ありがたかったです
19デフォルトの名無しさん (ワッチョイ 66e8-AMuz)
2018/01/14(日) 07:18:07.14ID:oPMCDJ2h0 >>17
このスレを読んでる人に情報共有してるだけだよ
このスレを読んでる人に情報共有してるだけだよ
20デフォルトの名無しさん (ワッチョイ 66e8-AMuz)
2018/01/14(日) 15:21:10.36ID:oPMCDJ2h0 元スレやばいね
21デフォルトの名無しさん (ワッチョイ 0be8-udNJ)
2018/01/18(木) 23:48:10.50ID:HIA6V+PM0 オライリー届いた。
分厚すぎてわろたわ。読むの大変そう。
分厚すぎてわろたわ。読むの大変そう。
22デフォルトの名無しさん (ワッチョイ b7eb-URfH)
2018/01/29(月) 13:41:23.22ID:P6u1lvxj0 dyn Traitが入ってしばらくしたらBox<Trait>はdisconになるの?
23デフォルトの名無しさん (アウアウカー Sa33-jWYD)
2018/01/29(月) 14:45:47.97ID:gyvOdhISa deprecated扱いになって警告を出し次のepochで削除とかだったと思う
24デフォルトの名無しさん (ワッチョイ b7eb-URfH)
2018/01/29(月) 17:30:10.02ID:P6u1lvxj0 impl Trait入ったらそもそもほとんど使わなくなるから気にしなくていいのか。
25デフォルトの名無しさん (アウアウカー Sa33-jWYD)
2018/01/29(月) 17:48:02.51ID:gyvOdhISa 使うケース減るのもそうだけどepochで機能削除する場合はソースコードの変換ツールが提供されるらしい
あと古いepochのソースはそのままコンパイルできるらしいから特に対応不要らしい
だから新しいepochにしか入っていない機能を使いたいcrateとかでなければ何もしなくても困らないはずだし
その場合でも変換ツール通せば簡単に対応できるはず
あと古いepochのソースはそのままコンパイルできるらしいから特に対応不要らしい
だから新しいepochにしか入っていない機能を使いたいcrateとかでなければ何もしなくても困らないはずだし
その場合でも変換ツール通せば簡単に対応できるはず
26デフォルトの名無しさん (ワッチョイ aee8-URfH)
2018/01/29(月) 21:18:10.28ID:ltX/HOsy0 なるほど
27デフォルトの名無しさん (アウアウカー Sa33-jWYD)
2018/01/31(水) 12:10:20.24ID:/dPh0x6ka28デフォルトの名無しさん (ドコグロ MM32-URfH)
2018/01/31(水) 19:12:32.86ID:hEoUgsMbM epoch releaseってのはどういうことなんだってばよ?
29デフォルトの名無しさん (ワッチョイ 57b3-skLA)
2018/02/04(日) 00:05:25.67ID:VmMujkXk0 map: BTreeMap<K,V>で、keyが無かったら挿入、あったら格納されてる値vに応じて新しい値new_vに更新するか決めるってやりたいんだけど、
let v = map.entry(key).or_insert(new_v);
if ... {
*v = new_v;
}
よりもっと綺麗な書き方ある?
let v = map.entry(key).or_insert(new_v);
if ... {
*v = new_v;
}
よりもっと綺麗な書き方ある?
30デフォルトの名無しさん (ワッチョイ 9f9f-hXWc)
2018/02/04(日) 01:05:26.32ID:qOX3lZ+s0 and_modify() ?
31デフォルトの名無しさん (ワッチョイ f72d-MPJM)
2018/02/06(火) 16:05:20.14ID:95WYpRcW032デフォルトの名無しさん (ワッチョイ 1723-pvQ8)
2018/02/07(水) 00:06:02.34ID:z0wRGtUY0 Rust Never Sleeps: Community Grows, Eclipse-Based IDE Planned
https://adtmag.com/articles/2018/02/01/rust-grows.aspx
https://adtmag.com/articles/2018/02/01/rust-grows.aspx
33デフォルトの名無しさん (ドコグロ MMdf-ytvT)
2018/02/07(水) 10:02:06.97ID:tqZIcWxZM >>31
ええやん
ええやん
34デフォルトの名無しさん (ドコグロ MMdf-ytvT)
2018/02/07(水) 10:05:39.88ID:tqZIcWxZM >>32
eclipseはいらんなあ
eclipseはいらんなあ
35デフォルトの名無しさん (ワッチョイ ffe8-ytvT)
2018/02/07(水) 21:39:04.86ID:HRWlDALX0 オライリー本読んだ?
36デフォルトの名無しさん (ワッチョイ 2ee8-dBQf)
2018/02/10(土) 17:28:13.69ID:EA1ZzrT70 wasmってまだプリミティブすぎて使い物にならないのかと思ってたけど wasm-bindgen すげえな
もうここまでできるのか
もうここまでできるのか
37デフォルトの名無しさん (ワッチョイ 42d2-Q8dp)
2018/02/10(土) 18:48:11.24ID:YRtNT72/0 Rustすごい!
takahito takabayashiさんのツイート: "ファミコンのエミュレータをRust / WebAssembly で書き直した
https://twitter.com/tatakaba/status/961532612723511296
takahito takabayashiさんのツイート: "ファミコンのエミュレータをRust / WebAssembly で書き直した
https://twitter.com/tatakaba/status/961532612723511296
38デフォルトの名無しさん (エムゾネ FF62-W92t)
2018/02/12(月) 12:24:11.46ID:4ugd2bUvF 梅手伝い
39デフォルトの名無しさん (ワッチョイ 457b-Zo0L)
2018/02/12(月) 19:13:38.83ID:g6Vhygc80 苦労して書き直しても全然パフォーマンス上がらないのな…
ぐうの音もでないほど効果があるユースケースってなんなんだ
ぐうの音もでないほど効果があるユースケースってなんなんだ
40デフォルトの名無しさん (ワッチョイ 99b3-bLbK)
2018/02/12(月) 21:38:29.65ID:tHO1NU6P0 アルゴリズムが変わらないならそう変わらんのじゃないか
他人のひどいコードならともかく、同じ人が小規模なプログラムを書き直す程度だと特に
C/C++からRustへ書き直して速度が上がったって話はあんま聞いたことが無い
速いネイティブライブラリを言語に組み込んでるJuliaとかなら、書き直すだけで速度上がったって話はちらほら
pythonだったらnumpy使った方が楽でいいとかも
他人のひどいコードならともかく、同じ人が小規模なプログラムを書き直す程度だと特に
C/C++からRustへ書き直して速度が上がったって話はあんま聞いたことが無い
速いネイティブライブラリを言語に組み込んでるJuliaとかなら、書き直すだけで速度上がったって話はちらほら
pythonだったらnumpy使った方が楽でいいとかも
41デフォルトの名無しさん (ワッチョイ 457b-Zo0L)
2018/02/12(月) 22:31:51.98ID:g6Vhygc80 いやだってjavascriptだぜ?アルゴリズムの問題か?
42デフォルトの名無しさん (ワッチョイ 429f-hB4z)
2018/02/13(火) 11:38:21.89ID:L9OfLhwQ0 リリースビルドしてないとか
43デフォルトの名無しさん (アウアウカー Sa69-JNhP)
2018/02/13(火) 13:55:22.76ID:U6RMU7ria 結局本スレどこ?
44デフォルトの名無しさん (ワッチョイ 429f-hB4z)
2018/02/13(火) 14:01:02.73ID:L9OfLhwQ0 ここ
45デフォルトの名無しさん (ワッチョイ 469f-WY3D)
2018/02/14(水) 10:32:44.85ID:Sny1AUMZ0 c++もそうだがコンパイラに機能を詰め込むってのがそもそも筋が悪い
46デフォルトの名無しさん (ワッチョイ 2e98-BYkA)
2018/02/14(水) 16:35:43.73ID:wToAct7f0 >>45
どういうこと?じゃあどうすればいいの?
どういうこと?じゃあどうすればいいの?
47デフォルトの名無しさん (ワッチョイ e1b3-CEXn)
2018/02/14(水) 18:27:22.03ID:KakS2s960 asm!だよ
48デフォルトの名無しさん (ワッチョイ 469f-WY3D)
2018/02/14(水) 19:14:50.70ID:Sny1AUMZ0 >>46
ライブラリ、もしくはツールに任せる。
ライブラリ、もしくはツールに任せる。
49デフォルトの名無しさん (ワッチョイ ff98-znvk)
2018/02/15(木) 02:06:38.25ID:mcN0VL7z0 >>48
やっぱりちょっと分からないな。
RustやC++のどの辺がコンパイラに機能を詰め込んでると思うの?
ライブラリorツールに任せるってのもどの辺を任せたいのかな?
話がザックリし過ぎて言いたいことがよく分からないんだが。
やっぱりちょっと分からないな。
RustやC++のどの辺がコンパイラに機能を詰め込んでると思うの?
ライブラリorツールに任せるってのもどの辺を任せたいのかな?
話がザックリし過ぎて言いたいことがよく分からないんだが。
50デフォルトの名無しさん (ワントンキン MM7f-yNWa)
2018/02/15(木) 14:13:53.00ID:exgu/6oKM プリプロセッサマクロのことかな?あとは型システムとかGCのことかな?ライブラリに任せるの意味がよくわからんが…
51デフォルトの名無しさん (スップ Sd3f-swnP)
2018/02/15(木) 17:01:00.96ID:OS8rqPvzd C++はコンパイラの方もだけど標準ライブラリでの機能実現も相応に多くて結果ソースの記述が煩雑になっているのは既知の事実でしょう
ライブラリや実装に任せた結果APIの統一が取れなくなって結局細かな仕様策定を余儀なくされたSchemeを見ても銀の弾丸でない事は明らかだよね
それに出来る事を増やすという点においてライブラリは有用だけど変数の不変性や型システムのような制限をする事に関してはコンパイラによしなにしてもらうより他ないよ
ライブラリや実装に任せた結果APIの統一が取れなくなって結局細かな仕様策定を余儀なくされたSchemeを見ても銀の弾丸でない事は明らかだよね
それに出来る事を増やすという点においてライブラリは有用だけど変数の不変性や型システムのような制限をする事に関してはコンパイラによしなにしてもらうより他ないよ
52デフォルトの名無しさん (ワッチョイ f7e0-T3WU)
2018/02/16(金) 01:22:14.41ID:W1XJdyx10 ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
53デフォルトの名無しさん (ワッチョイ ffe8-vS7N)
2018/02/16(金) 07:39:34.93ID:455TYoTb0 やっとstableでrustfmtできるようになったな
54デフォルトの名無しさん (アウアウカー Sa6b-caOl)
2018/02/16(金) 11:54:10.92ID:sOKjApWVa どうせ明日にはまたnightly限定になってるよ
55デフォルトの名無しさん (ワッチョイ 9f9f-RCVW)
2018/02/16(金) 14:44:20.68ID:o2oszjec0 最近のアップデートつまんねえなあ
56デフォルトの名無しさん (ワッチョイ 17eb-moIH)
2018/02/16(金) 15:41:33.96ID:xYOe+Cvi0 >>45は言語仕様の追加、更新が気に入らないんじゃないかな
try!の代わりに?なんて以ての外だ、みたいな?それ以外に思い付かなかったけど
1.0以前に@や~を削除してライブラリにぶん投げた辺りは希望通りな気がする
基本的に電池入りじゃないRustはライブラリやマクロの代わりの言語仕様の追加じゃなく
より効率的なバイナリを吐くための言語仕様の追加が多いイメージだけどなぁ、impl Traitとか
try!の代わりに?なんて以ての外だ、みたいな?それ以外に思い付かなかったけど
1.0以前に@や~を削除してライブラリにぶん投げた辺りは希望通りな気がする
基本的に電池入りじゃないRustはライブラリやマクロの代わりの言語仕様の追加じゃなく
より効率的なバイナリを吐くための言語仕様の追加が多いイメージだけどなぁ、impl Traitとか
57デフォルトの名無しさん (ワッチョイ ff98-znvk)
2018/02/16(金) 17:59:54.40ID:ItA0QsEV0 >>56
あー、そういうこと。?記法は確かに若干違和感あったかもな。
でも実際、あれは便利なんだよなぁ。
File::open(path)?.read_to_string(&mut buf)?みたいに繋げられるから。
try!(try!(File::open(path)).read_to_string(&mut buf))は読みづらい。
かといって、
let mut file = try!(File::open(path));
try!(file.read_to_string(&mut buf))
みたいに2行に分けるのも面倒だし、無駄なローカル変数も出来れば避けたい。
結局、あれが妥当な判断だったと思うけど。
まぁ、stableにする必要あったのか?ってところで賛否両論あるかもね。
あー、そういうこと。?記法は確かに若干違和感あったかもな。
でも実際、あれは便利なんだよなぁ。
File::open(path)?.read_to_string(&mut buf)?みたいに繋げられるから。
try!(try!(File::open(path)).read_to_string(&mut buf))は読みづらい。
かといって、
let mut file = try!(File::open(path));
try!(file.read_to_string(&mut buf))
みたいに2行に分けるのも面倒だし、無駄なローカル変数も出来れば避けたい。
結局、あれが妥当な判断だったと思うけど。
まぁ、stableにする必要あったのか?ってところで賛否両論あるかもね。
58デフォルトの名無しさん (ワッチョイ 9f9f-RCVW)
2018/02/16(金) 19:47:30.32ID:o2oszjec0 box キーワードは何時 stable になるんだ?
59デフォルトの名無しさん (ワッチョイ bf8a-LkcG)
2018/02/17(土) 11:13:34.80ID:J1S1NncJ0 boxキーワードはどういう時にうれしいのかがわからん
60デフォルトの名無しさん (ワッチョイ bf9f-Xz8k)
2018/02/17(土) 11:16:00.80ID:kwPbHgTn0 明らかに二行に分けた方が読みやすいわけだが。
新しい機能マンセー厨ってそういう感覚の狂いについて無自覚過ぎんだよね。
新しい機能マンセー厨ってそういう感覚の狂いについて無自覚過ぎんだよね。
61デフォルトの名無しさん (ワッチョイ ffeb-moIH)
2018/02/17(土) 13:27:59.06ID:Nh87YVhF0 俺も違和感はあるけど、多くの人が賛意を出して採用されたんだから
>>60や俺の感覚が狂ってるんじゃね?自身の感覚の狂いって当然ながら無自覚過ぎんよ
boxは在り様の総意を取るの面倒だし、目下はBoxで運用できてるしで、いつまでもstableに来なさそう
ヒープを多用したい人には文法にあればありがたいんだろうけど、そもそもヒープが好まれんしのう
>>60や俺の感覚が狂ってるんじゃね?自身の感覚の狂いって当然ながら無自覚過ぎんよ
boxは在り様の総意を取るの面倒だし、目下はBoxで運用できてるしで、いつまでもstableに来なさそう
ヒープを多用したい人には文法にあればありがたいんだろうけど、そもそもヒープが好まれんしのう
62デフォルトの名無しさん (ワッチョイ ffe8-vS7N)
2018/02/17(土) 14:16:54.60ID:+W6LcK0d0 boxっていきなりヒープにメモリ確保されるのが保証されたりするんじゃないの?
今はコンパイラ次第じゃん
今はコンパイラ次第じゃん
63デフォルトの名無しさん (ワッチョイ bfe4-Ql/f)
2018/02/17(土) 14:41:36.65ID:IpKTSZVJ0 ironって今メンテされてないのか
最近のweb FWはrocketの方が人気なんかな
nightly専用だからまだ手を付けてないんだけど
最近のweb FWはrocketの方が人気なんかな
nightly専用だからまだ手を付けてないんだけど
64デフォルトの名無しさん (ワッチョイ 9f9f-RCVW)
2018/02/17(土) 20:32:28.58ID:QFQHB0DO0 >>59
https://rust-lang-ja.github.io/the-rust-programming-language-ja/1.6/book/box-syntax-and-patterns.html
> このように書くことでパフォーマンスを犠牲にすることなく、柔軟性を確保することができます。
知らないの?
https://rust-lang-ja.github.io/the-rust-programming-language-ja/1.6/book/box-syntax-and-patterns.html
> このように書くことでパフォーマンスを犠牲にすることなく、柔軟性を確保することができます。
知らないの?
65デフォルトの名無しさん (アウウィフ FF9b-LkcG)
2018/02/17(土) 23:42:00.44ID:9NiO1PZdF それはInPlaceとかPlacerがあればよくてbox inはただのsyntax sugarでは
66デフォルトの名無しさん (ワッチョイ ffe8-vS7N)
2018/02/18(日) 08:04:09.95ID:SMMCMA600 分解のほうは新しいの?
67デフォルトの名無しさん (ワッチョイ ffeb-moIH)
2018/02/18(日) 08:27:52.42ID:5lvSpjte0 分解の方がよほどsyntax sugarじゃないのかいな
NightlyのInPlace, Placer使わなくても、Stableの環境でmacro使って実現出来そう
NightlyのInPlace, Placer使わなくても、Stableの環境でmacro使って実現出来そう
68デフォルトの名無しさん (ワッチョイ 97b3-28Ds)
2018/02/18(日) 10:49:08.55ID:/vdt0GUK0 boxって名前はBox<T>以外に使う場面で綺麗に見えない
place <- exprは代入みたい
place <- exprは代入みたい
69デフォルトの名無しさん (ブーイモ MMcf-jtfM)
2018/02/20(火) 18:44:44.84ID:QamN8HfjM tokio-coreなくなるんか
一通り組み上がった後の悲しいニュース
一通り組み上がった後の悲しいニュース
70デフォルトの名無しさん (ワッチョイ bfe4-Ql/f)
2018/02/20(火) 21:05:12.64ID:n66ylLug0 まじか、ちょっと辛いな
依存してるライブラリも結構あるよね
依存してるライブラリも結構あるよね
71デフォルトの名無しさん (ワッチョイ 9ff7-QEWT)
2018/02/21(水) 00:49:13.91ID:s9stOBAB0 ワッチョイなしの方アンチが暴れてる
72デフォルトの名無しさん (ワッチョイ ff98-e/1Q)
2018/02/21(水) 00:56:09.93ID:kjg0KAFU0 tokio系列のやつってtokioとかtokio-coreとかtokio-ioとかtokio-protoとか複数あってよく分からんのよね
tokio-ioのリポジトリにはtokioに移動したからもう使うなって書いてあるし
tokio-coreは移動じゃなくて廃止予定って書いてある…
tokio-protoはそのまま?tokio-timerとかtokio-serviceとかよく知らんリポジトリもあるし…
誰か各クレートの特徴(役割)と関係性を教えてくれ
tokio-ioのリポジトリにはtokioに移動したからもう使うなって書いてあるし
tokio-coreは移動じゃなくて廃止予定って書いてある…
tokio-protoはそのまま?tokio-timerとかtokio-serviceとかよく知らんリポジトリもあるし…
誰か各クレートの特徴(役割)と関係性を教えてくれ
73デフォルトの名無しさん (ドコグロ MMdf-vS7N)
2018/02/21(水) 19:02:38.89ID:ariB2x93M >>71
あっちは、アンチが立てたキチガイ専用スレだからいいんだよ
あっちは、アンチが立てたキチガイ専用スレだからいいんだよ
74デフォルトの名無しさん (ブーイモ MMcf-jtfM)
2018/02/21(水) 19:11:26.04ID:2b1o4F67M コミットを追うとtokio-coreはtokioに変わったように見える
tokio-core=tokioでtokioの本体
tokio-ioはtokio-coreを使って非同期ioを実装したものだったがしゃらくせえのでtokio-coreに取り込んだのかな
tokio-protoはtokio-coreを使ってネットワークプロトコルを実装したものだったがしゃらくせえからtokio-coreに取り込んだのかな
つまり tokio = tokio-core + tokio-io + tokio-proto
か?
tokio-core=tokioでtokioの本体
tokio-ioはtokio-coreを使って非同期ioを実装したものだったがしゃらくせえのでtokio-coreに取り込んだのかな
tokio-protoはtokio-coreを使ってネットワークプロトコルを実装したものだったがしゃらくせえからtokio-coreに取り込んだのかな
つまり tokio = tokio-core + tokio-io + tokio-proto
か?
75デフォルトの名無しさん (ワッチョイ 97b3-T3WU)
2018/02/21(水) 23:28:42.27ID:J5LO2Gvl0 [] [[[ [[ [] ][ [] [ ] [] ][]] [[[ [] }
76デフォルトの名無しさん (ワッチョイ fc23-Yogk)
2018/02/22(木) 13:48:53.41ID:H839Tp+80 tokio-protoとtokio-serviceってtrait宣言が主体のインターフェース定義クレートだったような?
前者はクライアント、後者はサーバに適したインターフェースが定義されてた覚えがある
io, timer, cpupoolなんかはユーティリティ機能が実装されてたよな
統合の基準はどこかで議論されたんだろうけど、どこでやってたのかな
前者はクライアント、後者はサーバに適したインターフェースが定義されてた覚えがある
io, timer, cpupoolなんかはユーティリティ機能が実装されてたよな
統合の基準はどこかで議論されたんだろうけど、どこでやってたのかな
2018/02/28(水) 17:58:52.09
【お知らせ】Packt出版より Network Programming with Rust が発売されました。
78デフォルトの名無しさん (ワッチョイ 67b3-C/rw)
2018/03/07(水) 19:47:20.60ID:LRCrToXv0 https://play.rust-lang.org/?gist=cb511b34bc3ffbb43b8589a24156337a&version=stable
let mut foo = Foo{ a:0, b:0, c:0 };
let aaa = ["5", "432", "3"].iter().flat_map(|i| i.parse::<u32>()).collect::<Vec<_>>();
foo.a = aaa[0];
foo.b = aaa[1];
foo.c = aaa[2];
Rustってこれ以外に書き方ありませんか?
tupleでやってみるとleft-hand of expression not validと出ました
let mut foo = Foo{ a:0, b:0, c:0 };
let aaa = ["5", "432", "3"].iter().flat_map(|i| i.parse::<u32>()).collect::<Vec<_>>();
foo.a = aaa[0];
foo.b = aaa[1];
foo.c = aaa[2];
Rustってこれ以外に書き方ありませんか?
tupleでやってみるとleft-hand of expression not validと出ました
79デフォルトの名無しさん (ドコグロ MM9b-sUza)
2018/03/07(水) 20:33:15.97ID:sBnyF32KM だめなコードはらないと何がしたいか分かりません
80デフォルトの名無しさん (ワッチョイ df9f-UDKA)
2018/03/07(水) 20:41:08.80ID:jzt3Aumo0 だよなw 何をしたいのか分からんよなw
81デフォルトの名無しさん (ワッチョイ 67b3-y/90)
2018/03/07(水) 21:26:04.44ID:LRCrToXv082デフォルトの名無しさん (ワッチョイ df9f-UDKA)
2018/03/07(水) 21:29:17.37ID:jzt3Aumo0 一行にしたいなら
foo = Foo { a: aaa[0], b: aaa[1], c: aaa[2] };
でも良いだろ。
部分書換なら
foo = Foo { a: aaa[0], .. foo };
とかもある。
foo = Foo { a: aaa[0], b: aaa[1], c: aaa[2] };
でも良いだろ。
部分書換なら
foo = Foo { a: aaa[0], .. foo };
とかもある。
83デフォルトの名無しさん (ワッチョイ 7e95-gb/e)
2018/03/08(木) 01:34:04.75ID:4NfI3sqt0 1.24.1は何のリリース?
84デフォルトの名無しさん (ワッチョイ beeb-YOOT)
2018/03/11(日) 12:10:25.91ID:eSLd4gfv0 朗報: ついにウェブプラットフォームでRustが速度性能トップを取る
https://www.techempower.com/benchmarks/#section=data-r15&hw=ph&test=plaintext
なお、JSON操作を伴うとJavaにも劣る模様
ツリー制御が不得意すぎて笑うわ
https://www.techempower.com/benchmarks/#section=data-r15&hw=ph&test=plaintext
なお、JSON操作を伴うとJavaにも劣る模様
ツリー制御が不得意すぎて笑うわ
85デフォルトの名無しさん (ワッチョイ 23b3-I9YF)
2018/03/11(日) 13:43:13.82ID:Q5vGc4iJ0 JSON serializationはそんなに悪くないんじゃね?tokio-minihttpで96.2%出てる。
それよりSingle QueryとMultple Queryが遅いのが問題じゃね?
それよりSingle QueryとMultple Queryが遅いのが問題じゃね?
86デフォルトの名無しさん (ワッチョイ 2f97-6XBc)
2018/03/11(日) 17:59:47.19ID:9uw0Jco60 serdeでシリアライズだけするぶんにはjavaの1.4倍くらい早かったんだけどなあ(俺調べ)
87デフォルトの名無しさん (ワッチョイ 1f0e-kj1m)
2018/03/17(土) 21:44:59.24ID:zUTKt+H50 Rust book first editionからの変更知りたいんだけどバージョン差分どこでまとめられてる?
88デフォルトの名無しさん (ワッチョイ 1f0e-kj1m)
2018/03/17(土) 21:47:17.89ID:zUTKt+H5089デフォルトの名無しさん (ブーイモ MM5b-FuQQ)
2018/03/18(日) 07:04:56.79ID:esGNO3D8M 1.24.1てなんなんだろ
90デフォルトの名無しさん (ワッチョイ 1bd2-SmQe)
2018/03/18(日) 20:50:19.82ID:M8FazHkP0 >>83>>89
なんで自分で調べようともしないの?
Rust Languageさんのツイート: "Announcing Rust 1.24.1: we had some regressions in 1.24.0, so we've released a patch release. Please check it out! https://t.co/zrItc0qiqD"
https://twitter.com/rustlang/status/969367994072739841 👀
Rock54: Caution(BBR-MD5:b73a9cd27f0065c395082e3925dacf01)
なんで自分で調べようともしないの?
Rust Languageさんのツイート: "Announcing Rust 1.24.1: we had some regressions in 1.24.0, so we've released a patch release. Please check it out! https://t.co/zrItc0qiqD"
https://twitter.com/rustlang/status/969367994072739841 👀
Rock54: Caution(BBR-MD5:b73a9cd27f0065c395082e3925dacf01)
91デフォルトの名無しさん (ワッチョイ 2bb3-ogOK)
2018/03/18(日) 21:36:06.49ID:kfSBwJmk0 Iterator::mapに渡すクロージャ内で、クロージャ内の変数への参照を持つstructを返したい時ってどう対処するのが正解ですか?
https://play.rust-lang.org/?gist=a15e0dfa10339570fef5b9225761a9f0&version=stable
https://play.rust-lang.org/?gist=a15e0dfa10339570fef5b9225761a9f0&version=stable
92デフォルトの名無しさん (ワッチョイ bdb3-kj1m)
2018/03/18(日) 23:09:22.36ID:UNqGf23T0 does not live longエラー関係は自分が思ってるより広い視点で見た方が解決するんじゃないかなあ
Hito.konomi_no_mochiは参照なんだから、参照元としてVec<Mochi<'a>>を保持しないと駄目なんじゃね?
=>mochiがMapになってて分かりにくい
=>とりあえずcollectさせてVec<Mochi>持ったら動いた
みたいな。
https://play.rust-lang.org/?gist=6c9947e3584f1feb5bb14f07d27aa9c7&version=stable
多分、頭の良い人ならもっと綺麗な説明と解法があるんだろうけど
Hito.konomi_no_mochiは参照なんだから、参照元としてVec<Mochi<'a>>を保持しないと駄目なんじゃね?
=>mochiがMapになってて分かりにくい
=>とりあえずcollectさせてVec<Mochi>持ったら動いた
みたいな。
https://play.rust-lang.org/?gist=6c9947e3584f1feb5bb14f07d27aa9c7&version=stable
多分、頭の良い人ならもっと綺麗な説明と解法があるんだろうけど
93デフォルトの名無しさん (ワッチョイ 2bb3-yeMC)
2018/03/19(月) 07:39:54.89ID:bmK7HIBH0 >>92
ありがとうございます
仮引数mのライフタイムはmain関数が抜けるまでだから通るということで合っていますか
またVecではなくIterator::Mapだと駄目な理由は、Iterator::Mapはcollectされるまでクロージャが実行されないから…とかでしょうか
ありがとうございます
仮引数mのライフタイムはmain関数が抜けるまでだから通るということで合っていますか
またVecではなくIterator::Mapだと駄目な理由は、Iterator::Mapはcollectされるまでクロージャが実行されないから…とかでしょうか
94デフォルトの名無しさん (ワッチョイ bdb3-kj1m)
2018/03/19(月) 13:44:00.51ID:aUxUFBJe0 >>93
仮引数mのライフタイムはクロージャ内なのは変わらないよ。>>92は仮引数を参照じゃなく消費してるから通る(>>92の&mじゃなくてmで良い)
クロージャが実行されないから、ではなく、mochiの値が消費されてるのにその参照を持たせようとしてるから駄目
試しに>>91のコードでmochi.map(|m| { 0 })とか書いて、mochiをprintln!に渡してみようとすると怒られるよ。もう使ってるって。
そこらへんの細かいルールを覚えるの大変だし、コンパイラもまだ分かりやすいエラーメッセージ吐いてくれないから、
・参照を使うときは、参照元をちゃんと生かしておくこと
・参照を使った構造体は、元の値を修飾(見方を変える、新しい機能を持たせる等)するようなパターンに限定すること
を守るようにした方がいいよ
仮引数mのライフタイムはクロージャ内なのは変わらないよ。>>92は仮引数を参照じゃなく消費してるから通る(>>92の&mじゃなくてmで良い)
クロージャが実行されないから、ではなく、mochiの値が消費されてるのにその参照を持たせようとしてるから駄目
試しに>>91のコードでmochi.map(|m| { 0 })とか書いて、mochiをprintln!に渡してみようとすると怒られるよ。もう使ってるって。
そこらへんの細かいルールを覚えるの大変だし、コンパイラもまだ分かりやすいエラーメッセージ吐いてくれないから、
・参照を使うときは、参照元をちゃんと生かしておくこと
・参照を使った構造体は、元の値を修飾(見方を変える、新しい機能を持たせる等)するようなパターンに限定すること
を守るようにした方がいいよ
95デフォルトの名無しさん (ワッチョイ 2bb3-yeMC)
2018/03/19(月) 21:04:17.46ID:bmK7HIBH0 >>94
「消費したものの参照を持たせるのは駄目」と「消費しているから通る」はそれぞれはわかる気がするのですが、両方となると…
前者の「消費したもの」と後者(main関数中生き続けるMochiのベクトル)は別物だと思うのですが、
前者で駄目な理由は関数中生き続けるMochiがない(mapを呼び出しただけでは駄目)ということですか?
「消費したものの参照を持たせるのは駄目」と「消費しているから通る」はそれぞれはわかる気がするのですが、両方となると…
前者の「消費したもの」と後者(main関数中生き続けるMochiのベクトル)は別物だと思うのですが、
前者で駄目な理由は関数中生き続けるMochiがない(mapを呼び出しただけでは駄目)ということですか?
96デフォルトの名無しさん (ワッチョイ bdb3-kj1m)
2018/03/19(月) 23:26:36.74ID:aUxUFBJe0 「消費されるので通る」じゃ言葉足らずでした。「参照じゃなくmoveして延命している」の方が通じるかも
>>91のコードを整理すると
1. HitoはMochiの参照を持ってるから、Hitoが有効なスコープ中はMochiも有効じゃないといけない
2. mochiはinto_iterで作られてるからMochi型を吐き出す、けど所有はしない
3. なのにmochizukiはmochi.map()で各要素への参照しか持たない
4. mochiから吐き出されたMochiの受け皿が無いんでエラーになる
これを解決するには
1を変えてHitoがMochiを所有するようにデータ構造を変える
2で作られたMochi型の値をしっかり保持する変数を用意する
の2種類くらいしか思いつかん。
Does Not Live Longエラーはライフタイムがどうのこうのと小手先で弄るより、
値の所有者を明快にしたり、データ構造を見直してみると案外素直に直せるのが経験則。
>>91のコードを整理すると
1. HitoはMochiの参照を持ってるから、Hitoが有効なスコープ中はMochiも有効じゃないといけない
2. mochiはinto_iterで作られてるからMochi型を吐き出す、けど所有はしない
3. なのにmochizukiはmochi.map()で各要素への参照しか持たない
4. mochiから吐き出されたMochiの受け皿が無いんでエラーになる
これを解決するには
1を変えてHitoがMochiを所有するようにデータ構造を変える
2で作られたMochi型の値をしっかり保持する変数を用意する
の2種類くらいしか思いつかん。
Does Not Live Longエラーはライフタイムがどうのこうのと小手先で弄るより、
値の所有者を明快にしたり、データ構造を見直してみると案外素直に直せるのが経験則。
97デフォルトの名無しさん (ワッチョイ abb6-ogOK)
2018/03/20(火) 13:21:28.84ID:RDB2KieC0 >>96
loop{
let (a, cond): (&str, bool) = get_too_many_str();
let m = Mochi{aji: a};
let h = Hito {m : &m};
if(cond){ break; }
}
// ここでhのvecが欲しい
この場合は、ムーブする(ループより長いライフライムの)変数がないので1の手法しかないということになりますか?
そこそこでかい文字列を扱っているので気を使っていたのですが、この場合Stringにすべきでしょうか
loop{
let (a, cond): (&str, bool) = get_too_many_str();
let m = Mochi{aji: a};
let h = Hito {m : &m};
if(cond){ break; }
}
// ここでhのvecが欲しい
この場合は、ムーブする(ループより長いライフライムの)変数がないので1の手法しかないということになりますか?
そこそこでかい文字列を扱っているので気を使っていたのですが、この場合Stringにすべきでしょうか
98デフォルトの名無しさん (ワッチョイ bdb3-kj1m)
2018/03/20(火) 14:30:32.82ID:UUyTwokV0 大きい文字列を扱うから参照にしたいってのは普通にあるし分かるけど
Hitoが&MochiでなくMochiをメンバに持つようになっても文字列のコピーは行われないよ
自分なら>>97のget_too_many_str()が返す&strの元を誰が保持するのかをまず気にする
そこをしっかり把握してれば文字列のコピーは最低限になるはずだから
Hitoが&MochiでなくMochiをメンバに持つようになっても文字列のコピーは行われないよ
自分なら>>97のget_too_many_str()が返す&strの元を誰が保持するのかをまず気にする
そこをしっかり把握してれば文字列のコピーは最低限になるはずだから
99デフォルトの名無しさん (ワッチョイ eb2d-4xVl)
2018/03/20(火) 16:38:27.06ID:P+YmZBwi0100デフォルトの名無しさん (ワッチョイ 2bb3-yeMC)
2018/03/21(水) 11:43:51.64ID:cBTkQiaM0 &strの元もloop内の変数が持っています
hのvecを作るにはコピーは避けられないようですね…
&strからStringに変えたところhvec.push(h)してもエラーにはなりませんでしたが、
スコープを抜けたはずの変数が使える理由ってどこかに書いていますか?
hのvecを作るにはコピーは避けられないようですね…
&strからStringに変えたところhvec.push(h)してもエラーにはなりませんでしたが、
スコープを抜けたはずの変数が使える理由ってどこかに書いていますか?
101デフォルトの名無しさん (ワッチョイ bdb3-kj1m)
2018/03/21(水) 14:53:30.44ID:9rI6JIRt0 そりゃloop内の変数hから、loop外のhvecに所有権が移動したから
頭の中に入れておける物なんて極わずかだし、場当たり的にdoes not live longエラーに対処するのは大変なので、
・値の所有者はどの変数であるべきか
・データ構造はどうあるべきか
という観点だけ念頭にいれて、「性能を稼ぐために参照を使おう」って考えを一旦外すとスッキリするよ
頭の中に入れておける物なんて極わずかだし、場当たり的にdoes not live longエラーに対処するのは大変なので、
・値の所有者はどの変数であるべきか
・データ構造はどうあるべきか
という観点だけ念頭にいれて、「性能を稼ぐために参照を使おう」って考えを一旦外すとスッキリするよ
102デフォルトの名無しさん (ワッチョイ ff9f-e5q7)
2018/04/15(日) 17:27:59.27ID:YDqAu+LL0 こっちが本スレと聞いて
103デフォルトの名無しさん (ワッチョイ cfe8-2eiy)
2018/04/15(日) 21:42:18.86ID:eccSQZbu0 しかしここには俺はいない
104デフォルトの名無しさん (ワッチョイ cfe8-2eiy)
2018/04/15(日) 21:42:37.31ID:eccSQZbu0 まちがえた
俺しかいない
俺しかいない
105デフォルトの名無しさん (ワッチョイ ffd2-EWy0)
2018/04/15(日) 22:10:33.68ID:33fSNzq50 俺もいるぞ
106デフォルトの名無しさん (アウアウエー Sadf-Mqc2)
2018/04/15(日) 22:44:53.22ID:UX4y5Mn1a てst
107デフォルトの名無しさん (ワッチョイ cfe8-2eiy)
2018/04/16(月) 07:13:50.32ID:pzKlDNeX0 まともな話題はslackいっちゃうのかな。
匿名で喋りたいのはアンチ向きか
匿名で喋りたいのはアンチ向きか
108デフォルトの名無しさん (ワッチョイ a364-0hQO)
2018/05/08(火) 02:44:07.65ID:kruQSPFC0 別にアンチって訳じゃないけど、コンパイルが遅すぎる(特に最適化掛けた場合に)のはどうかと思う。
実行が速くてもその生成に時間が掛かれば無意味でしょう……。
実行が速くてもその生成に時間が掛かれば無意味でしょう……。
109デフォルトの名無しさん (ワッチョイ 8a2d-pRx+)
2018/05/08(火) 05:31:20.68ID:4Vs0GKvV0 >>108
Rustで組んだ新Firefoxの動作が2倍ほど速くなったのは無意味?
Rustで組んだ新Firefoxの動作が2倍ほど速くなったのは無意味?
110デフォルトの名無しさん (ワッチョイ 1f97-q47z)
2018/05/08(火) 07:00:09.03ID:EnN/pyur0 逆なら理解できるけど
111デフォルトの名無しさん (ドコグロ MM2b-4ryL)
2018/05/08(火) 08:36:06.07ID:Hy6hpXT/M まあコンパイルは遅いわな。
ていうかcargoの仕組みが問題なだけか?
ていうかcargoの仕組みが問題なだけか?
112デフォルトの名無しさん (ワッチョイ 0bb3-XZ5U)
2018/05/08(火) 20:14:50.84ID:T0pMALEX0 rustcで単一ファイルだけコンパイルすると結構速いなと思った
cargoって警告無視のオプション(-Awarning)の有無でも一からビルドしようとしたりちょくちょくお粗末
cargoって警告無視のオプション(-Awarning)の有無でも一からビルドしようとしたりちょくちょくお粗末
113デフォルトの名無しさん (ワッチョイ f564-n6Dg)
2018/05/10(木) 20:35:06.28ID:zLx1ZI770 なんかRustってテスト用と製品用で別々の最適化を施せるんじゃなかったっけ。
俺は自分の為だけにRustを使ってるのであまり気にしたことがないが。
俺は自分の為だけにRustを使ってるのであまり気にしたことがないが。
114デフォルトの名無しさん (ドコグロ MM43-CJWe)
2018/05/12(土) 12:11:46.40ID:OzyUIrxEM115デフォルトの名無しさん (JP 0Ha1-pXmg)
2018/05/23(水) 12:09:39.17ID:6kVmIohDH ほとんどc++に見えるの俺だけ?
116デフォルトの名無しさん (ワッチョイ 5523-/w+O)
2018/05/23(水) 12:29:18.87ID:4/oN1Bt60 みんな言ってる
117デフォルトの名無しさん (ワッチョイ 89fa-9WOx)
2018/05/23(水) 23:15:50.94ID:Au5e7VGg0 確実にどんな人でも可能なネットで稼げる情報とか
念のためにのせておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
C717P
念のためにのせておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
C717P
118デフォルトの名無しさん (JP 0Hcd-6rHD)
2018/05/28(月) 09:59:15.77ID:N9/pBFPWH rustを始めたんだけど
分かりそうで分からなくて
イライラする
なんだこの言語
分かりそうで分からなくて
イライラする
なんだこの言語
119デフォルトの名無しさん (ワッチョイ 512d-MMi0)
2018/05/28(月) 11:01:04.58ID:4ZqBL5Re0 他の言語の経験にもよるけど 3000行ほど書けば慣れるよ(適当
120デフォルトの名無しさん (JP 0Hcd-6rHD)
2018/05/28(月) 11:14:23.86ID:N9/pBFPWH actix_webでちょちょいとwebサービス作ろうと思っただけなんだが
externとuseみたいに、なんで同じようなものが2つ有るのとか
trait?、インプリすればいいだけならなんでこんな名前なんだとか
externとuseみたいに、なんで同じようなものが2つ有るのとか
trait?、インプリすればいいだけならなんでこんな名前なんだとか
121デフォルトの名無しさん (ワッチョイ 512d-MMi0)
2018/05/28(月) 11:44:10.53ID:4ZqBL5Re0 察するにJava経験者かね
externは外部ライブラリのモジュールを参照する宣言
modは自身のフォルダ以下のモジュールを参照する宣言
useはモジュールの要素(Struct or Trait)を取り込む宣言
pub use self::MyStruct; // 要素をexportしたり
use std::io::Error as IOError; // as で別名つけたり
use super::Result; // 上位の型を取り込んだり(mod.rs以外からだと同一フォルダのmod.rsを見にいくので注意)
肝はselfとsuperを使いこなすことかと
このあたりリファレンスに書いてあるんで落ち着いて読んでもらえばいいけど
インプリについては、Trait = Interface(Java)の理解でそれほど差し支えない気もするけど
(定数は同じ階層のmoduleに移す)
AssosiatedTypeがあるように"Traitはコンパイル時に解決できる"ものってのを
意識してればその内に腑に落ちるんじゃないかな
ただこんなこと言うと
「RustのTraitは厳密なtraitじゃない論争」(Wikipedia参照)が始まっちゃうかもしれないので
ゆるく受け流してほしいところ
externは外部ライブラリのモジュールを参照する宣言
modは自身のフォルダ以下のモジュールを参照する宣言
useはモジュールの要素(Struct or Trait)を取り込む宣言
pub use self::MyStruct; // 要素をexportしたり
use std::io::Error as IOError; // as で別名つけたり
use super::Result; // 上位の型を取り込んだり(mod.rs以外からだと同一フォルダのmod.rsを見にいくので注意)
肝はselfとsuperを使いこなすことかと
このあたりリファレンスに書いてあるんで落ち着いて読んでもらえばいいけど
インプリについては、Trait = Interface(Java)の理解でそれほど差し支えない気もするけど
(定数は同じ階層のmoduleに移す)
AssosiatedTypeがあるように"Traitはコンパイル時に解決できる"ものってのを
意識してればその内に腑に落ちるんじゃないかな
ただこんなこと言うと
「RustのTraitは厳密なtraitじゃない論争」(Wikipedia参照)が始まっちゃうかもしれないので
ゆるく受け流してほしいところ
122デフォルトの名無しさん (アウアウカー Sa95-QCrH)
2018/05/28(月) 12:36:48.84ID:KX350+9ka extern/use周りをrefineする話ってどうなった?
123デフォルトの名無しさん (ブーイモ MM33-Cz+B)
2018/05/28(月) 13:07:18.00ID:Yj33g/c2M >>122
一応2018の予定には入ってるけどまだ作業中じゃない?
https://rust-lang-nursery.github.io/edition-guide/2018/transitioning/modules/path-clarity.html
一応2018の予定には入ってるけどまだ作業中じゃない?
https://rust-lang-nursery.github.io/edition-guide/2018/transitioning/modules/path-clarity.html
124デフォルトの名無しさん (JP 0Hcd-6rHD)
2018/05/28(月) 14:35:19.27ID:N9/pBFPWH チュートリアルの和訳のところを読んでいるけど
誰が訳したんだろう。。。
誰が訳したんだろう。。。
125デフォルトの名無しさん (ワッチョイ f1fb-DqgS)
2018/05/28(月) 15:45:35.01ID:AY4+K2YC0 extern crateは、includeとかload libraryぐらいの意味だと思えばいいと思うが、
「え、それ、Cargo.tomlにもう書いたやん」って思うのは当然の感覚だな
「え、それ、Cargo.tomlにもう書いたやん」って思うのは当然の感覚だな
126デフォルトの名無しさん (JP 0Hcd-6rHD)
2018/05/28(月) 15:47:39.28ID:N9/pBFPWH しばらくしたら言語仕様変わりそうだなあこれ
勉強していくべきなのかどうか迷う
勉強していくべきなのかどうか迷う
127デフォルトの名無しさん (ワッチョイ 319f-NyY8)
2018/05/28(月) 16:38:01.86ID:WepGeDn70 仕様の改定はc++のようにコンパイラのリリースとは別に2〜3年毎に定めることになってる
将来のコンパイラでも古い仕様を選択して使えるはず
将来のコンパイラでも古い仕様を選択して使えるはず
128デフォルトの名無しさん (アウアウカー Sa95-QCrH)
2018/05/28(月) 17:33:13.35ID:dK7cJGyKa どんな言語でも利用者多ければライブラリーのトレンド変わっていって学び直しはあるし
言語仕様の変更だけ特別視する理由が分からん
言語仕様の変更だけ特別視する理由が分からん
129デフォルトの名無しさん (ワッチョイ 139f-P0uv)
2018/05/28(月) 18:01:33.70ID:b/gKZOsn0 ver1.0になったし、firefoxに200kstepのソースがあるから始めるなら今でしょ
130デフォルトの名無しさん (ワッチョイ 7b76-Z0cF)
2018/05/28(月) 21:33:55.19ID:hIMCbSeD0 ruby1.8から1.9とか
python2から3の変更とか
嫌じゃん
言語もライブラリも混在してぐちゃぐちゃ
python2から3の変更とか
嫌じゃん
言語もライブラリも混在してぐちゃぐちゃ
>>124
和訳は最新に追いついていないと思います、公式英文を確認したほうがいい
和訳は最新に追いついていないと思います、公式英文を確認したほうがいい
132デフォルトの名無しさん (ワッチョイ 93d4-Cz+B)
2018/05/28(月) 23:47:10.84ID:cVR0FGXk0 Rustの場合仕様変更の影響を受ける記述はコンパイラがwarning(とsuggestion)出してくれるみたいだし
むしろライブラリのアップデートより楽なんじゃないかな
むしろライブラリのアップデートより楽なんじゃないかな
133デフォルトの名無しさん (ワッチョイ 7b76-Z0cF)
2018/05/29(火) 08:16:58.71ID:dnBokp3T0 やりたいことをするのに1日使って50%しかできなかった
自分には無理だこの言語
自分には無理だこの言語
134デフォルトの名無しさん (ドコグロ MM3d-BXJA)
2018/05/29(火) 08:53:39.83ID:GEfewF+tM 50%できればすごいって
135デフォルトの名無しさん (ワッチョイ d6e8-v2bY)
2018/06/01(金) 07:30:04.93ID:gpIIxUGF0 1.26の新機能自分のcrateにもう入れた?
136デフォルトの名無しさん (アウーイモ MM09-fOff)
2018/06/01(金) 19:39:19.80ID:RsiXZK4kM 土台?
137デフォルトの名無しさん (ワッチョイ ebe8-hnG7)
2018/06/11(月) 19:45:35.17ID:woYxJr3K0 ここにまともなRustユーザいないのは年寄りしかいないからなのかなぁ
138デフォルトの名無しさん (ワッチョイ 1b8a-ZvXG)
2018/06/12(火) 00:28:40.74ID:U7oXkFlj0 slackかtwitterでコミュニケーションとれるので5chへ書き込みたい事情があまりない
>>138
おすすめのハッシュタグはなんでしょうか?
おすすめのハッシュタグはなんでしょうか?
140デフォルトの名無しさん (ドコグロ MMa3-hnG7)
2018/06/12(火) 08:25:35.49ID:ESFTg/QrM そう言われてみると確かにない。
141デフォルトの名無しさん (ワッチョイ 139f-A+ht)
2018/06/12(火) 09:41:15.21ID:Sk+2Pu3l0 もっとメジャーになってslackが荒れて来たらここもワンちゃん
142デフォルトの名無しさん (アウアウカー Sa2d-ZvXG)
2018/06/12(火) 12:05:43.89ID:QKuSZN5/a ハッシュタグというより界隈の人間フォローしてる
143デフォルトの名無しさん (ワッチョイ ebe8-hnG7)
2018/06/12(火) 19:39:13.56ID:twlm3/XD0 slackで発言できないアンチにしか存在価値がないのかぁ
144デフォルトの名無しさん (ワッチョイ 81b3-z/w5)
2018/06/12(火) 21:30:56.05ID:d/RZ9PcJ0 slackのどこで喋ってるの?さ
145デフォルトの名無しさん (ワッチョイ e164-TJEr)
2018/06/13(水) 07:40:50.77ID:Iw3p0Ou70 アンチに限らず匿名文化は一定数必要でしょう。
146デフォルトの名無しさん (ワッチョイ 139f-A+ht)
2018/06/13(水) 13:01:46.22ID:jLut3S1H0 つまり変な人でもスレに繰るなら、山の賑わい人気の証ってことね
147デフォルトの名無しさん (ワッチョイ 1fbe-BrdL)
2018/06/23(土) 20:45:08.63ID:MX9PBj5g0 Vec内のアイテムを複数条件やand or等をユーザに指定させてフィルタリングをしたいのですが
無理にでもSQL使うべきでしょうか
無理にでもSQL使うべきでしょうか
148デフォルトの名無しさん (ワッチョイ ffe8-7L08)
2018/06/23(土) 21:11:19.63ID:SR6K28vn0 ユーザってのはどういうレイヤの話をしてるの?もう少し具体的に書かないと意味不明
149デフォルトの名無しさん (ワッチョイ 7fd2-bPoN)
2018/06/24(日) 23:27:10.18ID:FVTH6Flp0 values.iter().filter(hoge).filter(fuga).filter(piyo)
フィルターを何度がけすると型がやばそう
フィルターを何度がけすると型がやばそう
150デフォルトの名無しさん (ワッチョイ 7fd2-bPoN)
2018/06/25(月) 00:28:41.79ID:TWt9PpKD0151デフォルトの名無しさん (ワッチョイ 1fb3-BrdL)
2018/06/25(月) 07:08:50.50ID:xxjb5DLL0 調べてみるとfiltersというクレートがありました
152デフォルトの名無しさん (ワッチョイ b123-/RMY)
2018/06/28(木) 08:09:41.33ID:t6K5m67F0 New Photon Release of Eclipse IDE Ships With Full Rust Support
https://www.eclipse.org/org/press-release/20180627_new-photon-release-of-eclipse-ide-ships-with-full-rust-support.php
https://www.eclipse.org/org/press-release/20180627_new-photon-release-of-eclipse-ide-ships-with-full-rust-support.php
153デフォルトの名無しさん (ワッチョイ 79b3-pBcm)
2018/07/01(日) 02:21:52.91ID:hOXxhpxn0 いやじゃ、いやじゃ、Eclipseなんぞ使いとうない
154デフォルトの名無しさん (ワッチョイ 82d2-dOiQ)
2018/07/01(日) 03:02:12.97ID:T78MqQu/0 みんなどんな環境で書いてるの?今はvscode使ってるんだけどrlsがあまりに不安定すぎてストレスが…
155デフォルトの名無しさん (ワッチョイ 6ee8-Fk5m)
2018/07/01(日) 06:22:17.39ID:3lsiwbVs0 vscodeだよ
racerも不安定だったような
racerも不安定だったような
156デフォルトの名無しさん (ワッチョイ 0d2d-IuOd)
2018/07/01(日) 09:29:47.37ID:61/yGhxs0 emacs + flycheck
racerは重すぎるんでOFFにしてる
racerは重すぎるんでOFFにしてる
157デフォルトの名無しさん (アウウィフ FF85-mzC7)
2018/07/01(日) 15:40:20.37ID:ep584YMHF 秀丸
158デフォルトの名無しさん (ワッチョイ 79b3-HrKv)
2018/07/01(日) 18:12:28.40ID:VIP13YQk0 禿丸ってなに?
159デフォルトの名無しさん (ワッチョイ 6ee8-Fk5m)
2018/07/01(日) 19:19:06.36ID:3lsiwbVs0 こっちまでネタスレかよ
160デフォルトの名無しさん (ブーイモ MM22-Unb+)
2018/07/03(火) 18:54:31.94ID:A246qspJM161デフォルトの名無しさん (ワッチョイ 45fa-2e90)
2018/07/04(水) 21:50:46.22ID:gFgZc5FG0 5PW
162デフォルトの名無しさん (ブーイモ MM2b-0Xn2)
2018/07/05(木) 00:59:18.40ID:lJi2a9VDM おーい、hgmr
163デフォルトの名無しさん (アメ MM5b-Ip0i)
2018/07/28(土) 09:13:36.59ID:pjkfXvHGM hnmr王子〜♪
164デフォルトの名無しさん (ワッチョイ 12d5-YWSl)
2018/07/29(日) 02:13:01.57ID:QHCaZ13N0 まさか繋いでくれる人がいるとは思わなかった
165デフォルトの名無しさん (ブーイモ MM5b-Hl5m)
2018/07/31(火) 16:45:34.48ID:0aJU5h1JM 花村てなんや
オーバーウォッチか
オーバーウォッチか
166デフォルトの名無しさん (アメ MM67-tZ6u)
2018/08/05(日) 20:37:41.10ID:XPCi/u53M167デフォルトの名無しさん (ワッチョイ d75f-8s6k)
2020/11/25(水) 00:47:44.38ID:lt8VNqOR0 るすと
168デフォルトの名無しさん (ワッチョイ dfad-VZQ6)
2022/05/03(火) 15:19:34.90ID:FP7f4hyR0 Rの発音が難しい
169デフォルトの名無しさん (テテンテンテン MM73-rSKY)
2022/08/07(日) 14:18:50.38ID:Xv2x2xOXM うんこすレッド
170デフォルトの名無しさん (ワッチョイ 7501-zStA)
2022/11/13(日) 22:46:23.74ID:gb51z1Py0 日本語の発音ってかイントネーションはみんなどっち?
ラスト(ミファファ=スタバ)
ラスト(ミドド=ベスト(着る方))
ラスト(ミファファ=スタバ)
ラスト(ミドド=ベスト(着る方))
171デフォルトの名無しさん (ブーイモ MM4b-Yt0T)
2022/11/16(水) 18:15:29.98ID:QMFF+6AxM 1オクターブ上のドでミドド
172デフォルトの名無しさん (ワッチョイ 1f5f-MR5z)
2022/12/18(日) 17:46:12.72ID:fqk1SiW30 本スレ最近ひどいね
age
age
173デフォルトの名無しさん (ワッチョイ d3c9-tb1I)
2023/01/09(月) 20:41:28.12ID:XnWHdmBW0 Rustの型って何を言ってるのか良う分からないくらい一気に複雑になるんだけど、改善の兆しってある?
filter(|x| ...).map.(|x| ...)ってやると戻り値がMap<Filter<...>>みたいに、情報量がほぼ増えないのに型の表記だけが増えてくのが見づらくてしゃあないんだが
「ここを関数に切り出しておきたい」ってのも難しくね?
impl Traitあるだろって言われるけど、自分ひとりでできた試しが無い
filter(|x| ...).map.(|x| ...)ってやると戻り値がMap<Filter<...>>みたいに、情報量がほぼ増えないのに型の表記だけが増えてくのが見づらくてしゃあないんだが
「ここを関数に切り出しておきたい」ってのも難しくね?
impl Traitあるだろって言われるけど、自分ひとりでできた試しが無い
174デフォルトの名無しさん (ワッチョイ 1301-nt2E)
2023/01/09(月) 22:31:09.52ID:ZXgjuOo50 >>173
.filter(|x| ...).map.(|x| …)とやったら
ざっくり言うと戻り値はIterator<Item=T>でowned, shared reference, mutable referenceの3種類
Map<Filter<...>>とかの詳細な型を知りたいと思うことは基本ないからそこまで困らない
デコレータとかコンポジション的なものとして理解しとけばいいと思う
関数に切り出すのはGC言語と比べると難しい
どの値の所有権をどの呼び出しレイヤーで保持すべきかを整理しながらリファクタリングする必要がある
ただある程度パターンがあるからそれが理解できるとそこまで難しくはない
.filter(|x| ...).map.(|x| …)とやったら
ざっくり言うと戻り値はIterator<Item=T>でowned, shared reference, mutable referenceの3種類
Map<Filter<...>>とかの詳細な型を知りたいと思うことは基本ないからそこまで困らない
デコレータとかコンポジション的なものとして理解しとけばいいと思う
関数に切り出すのはGC言語と比べると難しい
どの値の所有権をどの呼び出しレイヤーで保持すべきかを整理しながらリファクタリングする必要がある
ただある程度パターンがあるからそれが理解できるとそこまで難しくはない
175デフォルトの名無しさん (ワッチョイ d3c9-c71v)
2023/01/11(水) 20:45:10.66ID:+OHiCBbi0 >>174
標準ライブラリでiteratorのメソッドならそうなんだろうな、って他言語でも溜め込んだ知識で何とかなるけどさ、
例えばwarpっていうWebフレームワークはリクエストの解決にfilterを使ってるんだけど、
https://docs.rs/warp/latest/warp/filters/index.html
↑ここからたどって、例えばリクエストのパスにマッチするフィルタを作成するwarp::filters::pathってのがあるんだけど、
こいつの戻り値が独自型のExactってやつなのね
warp作ってる人はここに様々な条件を追加できるようにしているんだけど、pathの戻り値にどう組み合わせられるかってのをどう探せるんだろっていつもなってる
他のcrateも、単機能で目的果たせるライブラリならまだいいけど、高階関数で機能組み合わせてねってやつはrustdoc見ても意味が分からなくなってる
標準ライブラリでiteratorのメソッドならそうなんだろうな、って他言語でも溜め込んだ知識で何とかなるけどさ、
例えばwarpっていうWebフレームワークはリクエストの解決にfilterを使ってるんだけど、
https://docs.rs/warp/latest/warp/filters/index.html
↑ここからたどって、例えばリクエストのパスにマッチするフィルタを作成するwarp::filters::pathってのがあるんだけど、
こいつの戻り値が独自型のExactってやつなのね
warp作ってる人はここに様々な条件を追加できるようにしているんだけど、pathの戻り値にどう組み合わせられるかってのをどう探せるんだろっていつもなってる
他のcrateも、単機能で目的果たせるライブラリならまだいいけど、高階関数で機能組み合わせてねってやつはrustdoc見ても意味が分からなくなってる
176デフォルトの名無しさん (ワッチョイ 1301-nt2E)
2023/01/11(水) 23:31:54.91ID:B6T7GQUU0 >>175
ExactがFilterだと分かれば別のFilterを組み合わせられることはわかるでしょ?
warpのFilterシステムを理解させるための解説ドキュメントが不足してるのと
他で類似の仕組みをあまり経験したことがないのが理由なんじゃないのかな?
型が入れ子の形でチェインされてる状態に慣れてないから
それがわかりにくさの原因のように感じるかもしれないけど
JavaやgoのReader/Writerみたいにデコレータ的に型を重ねていくのはそんな特殊なことじゃないよ
ExactがFilterだと分かれば別のFilterを組み合わせられることはわかるでしょ?
warpのFilterシステムを理解させるための解説ドキュメントが不足してるのと
他で類似の仕組みをあまり経験したことがないのが理由なんじゃないのかな?
型が入れ子の形でチェインされてる状態に慣れてないから
それがわかりにくさの原因のように感じるかもしれないけど
JavaやgoのReader/Writerみたいにデコレータ的に型を重ねていくのはそんな特殊なことじゃないよ
177デフォルトの名無しさん (ワッチョイ 119b-EcXc)
2023/01/12(木) 07:36:35.15ID:fjq3kaV70 iterator系の処理はどんな言語でもやりすぎると意味不明なんでいい単位で説明変数や関数に切り出すのは大事だよ。
178デフォルトの名無しさん (ワッチョイ dbda-xq+Q)
2023/01/12(木) 10:57:06.97ID:yHqsf2Vi0 関数単位で切り出す場合はimpl TraitやBox<dyn Trait>使った方が良いと思う
実装の詳細が型として露出してしまうのはよろしくないし
何より長い型を書き下すのはめんどくさい
実装の詳細が型として露出してしまうのはよろしくないし
何より長い型を書き下すのはめんどくさい
179デフォルトの名無しさん (ワッチョイ d3c9-tb1I)
2023/01/13(金) 00:49:21.00ID:Eg8x4Zf+0 >>176 いやExactがFilterかどうかが分からないんだ。自信が無い
https://docs.rs/warp/latest/warp/filters/path/struct.Exact.html
https://docs.rs/warp/latest/warp/trait.Filter.html
↑2つを見ても、ExactがFilterをimplしているとは書いてないんだ
知ってたらマジで教えてほしいんだが、どこ見ればいいの?
>>178 そう思うのは人情だが、じゃあどういう型の関数にすればいいのかって話
ググらずに分かる?俺は分からなかった
https://docs.rs/warp/latest/warp/filters/path/struct.Exact.html
https://docs.rs/warp/latest/warp/trait.Filter.html
↑2つを見ても、ExactがFilterをimplしているとは書いてないんだ
知ってたらマジで教えてほしいんだが、どこ見ればいいの?
>>178 そう思うのは人情だが、じゃあどういう型の関数にすればいいのかって話
ググらずに分かる?俺は分からなかった
180デフォルトの名無しさん (ワッチョイ 795f-H4iZ)
2023/01/13(金) 01:52:07.98ID:USdCnak/0 >>179
非公開の(だけど実装が漏れている)FilterBaseトレイトを介してFilterを実装してるんだね……
FilterBaseが公開されていればExactのblanket implementationsに出てくるはず
同じことは指摘されているが放置されている模様
https://github.com/seanmonstar/warp/issues/742
非公開の(だけど実装が漏れている)FilterBaseトレイトを介してFilterを実装してるんだね……
FilterBaseが公開されていればExactのblanket implementationsに出てくるはず
同じことは指摘されているが放置されている模様
https://github.com/seanmonstar/warp/issues/742
181デフォルトの名無しさん (ワッチョイ d3c9-RZrR)
2023/01/13(金) 20:16:02.99ID:Eg8x4Zf+0 もしかして特段に分かりづらい構造だったのかWarp
182デフォルトの名無しさん (ワッチョイ 1301-nt2E)
2023/01/13(金) 21:03:44.68ID:4YqzJ2Gc0 Sealed TraitっていうユーザーにTraitを実装させないための一般的なパターンなんだけど
privateなTraitはドキュメントには現れないのでExactがFilterBaseを実装してることを確かめたければソースを見るしかない
でも関数や構造体の説明にFilterだよって書いてるんだからまずはそこからじゃないか?
path()「Create an exact match path segment Filter.」
Exact「A Filter matching an exact path segment.」
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:01.24ID:4QhVLL220 いや型の説明がコメントにしか無いかったら疑うのが基本じゃないか…?
説明にある通りの使い方はできるけど、何故そう使えるのか分からない、となった上での話
前にもちらっと書いたところもそうなんだけど、impl Filterを返す関数のシグネチャも独力だと分からなかったんだよ。もっと情報の少ないクレートでやる必要が出てきたら詰んじゃう
説明にある通りの使い方はできるけど、何故そう使えるのか分からない、となった上での話
前にもちらっと書いたところもそうなんだけど、impl Filterを返す関数のシグネチャも独力だと分からなかったんだよ。もっと情報の少ないクレートでやる必要が出てきたら詰んじゃう
184デフォルトの名無しさん (ワッチョイ 595f-qxpo)
2023/01/19(木) 13:09:59.92ID:CHvJHSS40 [T]と[T; N]があるように
strに対するSizedなstr<N>とかできんかね
strに対するSizedなstr<N>とかできんかね
185デフォルトの名無しさん (ワッチョイ a75f-+rQD)
2023/01/29(日) 03:46:54.24ID:qSgQK/Ke0 ttps://doc.rust-lang.org/beta/unstable-book/language-features/yeet-expr.html
名前の元ネタがよくわからん
名前の元ネタがよくわからん
186デフォルトの名無しさん (ワッチョイ db9b-kLGU)
2023/01/29(日) 04:28:40.21ID:iZgCgX3R0187デフォルトの名無しさん (ワッチョイ f6da-RqI+)
2023/01/29(日) 08:29:44.05ID:VTBemk9l0 意味合いとしては
> Yeet is a slang phrase meaning to throw with force
とのことらしい
https://internals.rust-lang.org/t/syntax-for-returning-early-with-an-error/14181
https://www.urbandictionary.com/define.php?term=Yeet
yeetの初出はここらしい
https://mobile.twitter.com/josh_triplett/status/1248658754976927750
命名に関するbikeshedを避けつつ機能を実験するために導入するみたいね
https://twitter.com/5chan_nel (5ch newer account)
> Yeet is a slang phrase meaning to throw with force
とのことらしい
https://internals.rust-lang.org/t/syntax-for-returning-early-with-an-error/14181
https://www.urbandictionary.com/define.php?term=Yeet
yeetの初出はここらしい
https://mobile.twitter.com/josh_triplett/status/1248658754976927750
命名に関するbikeshedを避けつつ機能を実験するために導入するみたいね
https://twitter.com/5chan_nel (5ch newer account)
188デフォルトの名無しさん (ワッチョイ 0f5f-xW4J)
2023/02/04(土) 16:11:28.39ID:4OrKEijd0189デフォルトの名無しさん (ドコグロ MM49-+MOc)
2023/02/26(日) 21:57:18.73ID:vJeOsMT8M 新スレとして再利用と聞いてage
190デフォルトの名無しさん (ワッチョイ 615f-+MOc)
2023/03/02(木) 01:57:12.70ID:9x7ptNRV0 ProviderとDemandってCOMのQueryInterface的な使い方もできるのかな
191デフォルトの名無しさん (ワッチョイ 715f-BZjt)
2023/03/07(火) 03:24:09.91ID:CjRtBzJ10 Bevy 0.10 is out now!
https://bevyengine.org/news/bevy-0-10/
https://bevyengine.org/news/bevy-0-10/
192デフォルトの名無しさん (ワッチョイ 715f-h7+G)
2023/03/10(金) 03:58:23.25ID:9+yNdzD90193デフォルトの名無しさん (ワッチョイ fbda-8+Io)
2023/03/10(金) 11:19:42.21ID:Rc7TQThZ0 cargoのsparse protocolは嬉しい
194デフォルトの名無しさん (テテンテンテン MMee-qnN+)
2023/03/15(水) 08:26:46.78ID:L9HRqQqHM Default alloc error handlerはLinus指摘の取り込みかな。
195デフォルトの名無しさん (ワッチョイ 4eda-Wvvr)
2023/03/15(水) 10:58:18.74ID:efRde3jV0 Linusの話は、メモリアロケーション失敗時にpanicするなという話だと思うけど、今回の変更とは全く関係ない
今回の変更でalloc crateがalloc_error_handlerのデフォルト実装を提供するようになった
新たに提供されたalloc_error_handlerはpanicする実装になっているので、メモリアロケーション失敗時にpanicになることは変わらない
単に、利用者がalloc_error_handlerを独自に実装する必要がなくなったというだけ
Linusの指摘に対しては、Box::try_newなどのアロケーション失敗を呼び出し元に通知するAPIを用意することで対応している
今回の変更で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:43.18ID:i0vzrjRpM197デフォルトの名無しさん (ワッチョイ 715f-SGwy)
2023/03/15(水) 13:35:50.81ID:jUGp7X9a0 Rust製の高速なwebpack互換バンドラ「Rspack」登場。現時点で5倍から10倍の性能向上
https://www.publickey1.jp/blog/23/rustwebpackrspack510.html
> Rust製の高速なバンドラとしては、webpackの主要な開発者がNext.jsに入社してwebpackの後継として開発している「Turbopack」もあります。
> 現時点ではまだwebpackが抜きん出た人気を得ていますが、現時点で主要な開発者が抜けてしまったwebpack後継の座を狙った競争が始まったといえそうです。
https://www.publickey1.jp/blog/23/rustwebpackrspack510.html
> Rust製の高速なバンドラとしては、webpackの主要な開発者がNext.jsに入社してwebpackの後継として開発している「Turbopack」もあります。
> 現時点ではまだwebpackが抜きん出た人気を得ていますが、現時点で主要な開発者が抜けてしまったwebpack後継の座を狙った競争が始まったといえそうです。
198デフォルトの名無しさん (ワッチョイ 4d23-/phF)
2023/03/26(日) 17:12:36.73ID:EfkiJTmm0199デフォルトの名無しさん (ワッチョイ e510-t3VU)
2023/03/27(月) 08:53:03.64ID:ZY+RQ7940 一度普及したソフトの作者自身が後継プロジェクトを立ち上げてもなぜかうまくいかない法則
200デフォルトの名無しさん (ワッチョイ 9901-3uzD)
2023/03/27(月) 09:40:06.58ID:AuSpH/AF0 Rust遅くね?
201デフォルトの名無しさん (ワンミングク MM92-WVM1)
2023/03/27(月) 10:40:29.19ID:jab4un3HM 速度遅くてもウケたプロダクトの動作速度上げたところで
現行をリプレイスする理由にならないからな
それにRustがいかに速かろうと今の時代ネックはIOである可能性が高いし
現行をリプレイスする理由にならないからな
それにRustがいかに速かろうと今の時代ネックはIOである可能性が高いし
202デフォルトの名無しさん (ワッチョイ ed9c-dC9y)
2023/03/27(月) 12:01:17.21ID:eSvQrfce0 >>200
詳しく見ていないけど、ロジックにボトルネックがあるのかもね。
詳しく見ていないけど、ロジックにボトルネックがあるのかもね。
203デフォルトの名無しさん (ワッチョイ c6da-/i8d)
2023/03/27(月) 16:02:39.08ID:IjV2Ctjk0 10倍のオーダーで速度差出るなら性能がリプレース理由になる場合も増えると思うよ
数分かかる処理が数秒で終わると快適さが全然違うだろうし
数分かかる処理が数秒で終わると快適さが全然違うだろうし
204デフォルトの名無しさん (ワッチョイ 453e-wSlO)
2023/03/27(月) 16:27:48.16ID:Fq2x4U//0 >>201
どうせ IO がネックだからってのは昔から言われてることだけど
クラウドサービスを前提にすると事情が違うと聞いたことがある。
レスポンスタイムにあまり差が無かったとしても課金は演算量 (CPU の使用量) に対して
だからなるべく効率的に実行できる言語を使ったほうが安く上がるんだとさ。
どうせ IO がネックだからってのは昔から言われてることだけど
クラウドサービスを前提にすると事情が違うと聞いたことがある。
レスポンスタイムにあまり差が無かったとしても課金は演算量 (CPU の使用量) に対して
だからなるべく効率的に実行できる言語を使ったほうが安く上がるんだとさ。
205デフォルトの名無しさん (アウアウウー Saa5-jS6D)
2023/03/27(月) 23:41:07.73ID:t8oeSgw5a Ruby on Rails 6 では、webpack が標準だったけど、
Rails 7 では、Import Maps で、CDN から直接インポートするように変わった。
脱webpack/node.js
ES2015 に対応していないブラウザ用に、バンドルする方法もある。
バンドラーは、esbuild, rollup, webpackの3つ
Rails 7 では、Import Maps で、CDN から直接インポートするように変わった。
脱webpack/node.js
ES2015 に対応していないブラウザ用に、バンドルする方法もある。
バンドラーは、esbuild, rollup, webpackの3つ
206デフォルトの名無しさん (ワッチョイ a75f-iKPJ)
2023/04/17(月) 10:02:11.42ID:Dh5lk+HW0 ドキュメントコメントを reStructuredText で書きたい
207デフォルトの名無しさん (ワッチョイ a95f-mr0i)
2023/04/24(月) 12:17:06.73ID:LQT8UQ2a0 let-else の else ブロックの中だけ rustfmt 効かなくて設定間違えたかと思ったら
フツーに未対応だった
https://github.com/rust-lang/rustfmt/issues/4914
フツーに未対応だった
https://github.com/rust-lang/rustfmt/issues/4914
208デフォルトの名無しさん (ブーイモ MM8e-sjlm)
2023/04/24(月) 18:39:33.31ID:75I/tfQdM let-elseは鬼っ子だから
改行位置決めるのも大変
改行位置決めるのも大変
209デフォルトの名無しさん (オイコラミネオ MMb5-+3Ti)
2023/04/24(月) 18:43:14.72ID:3hT7+QpVM 横から済みませんがが、
Rust で Vec に要素を追加した場合にメモリー不足になったかどうかを検出
するのはどうしたらよいんでしたっけ?
Rust で Vec に要素を追加した場合にメモリー不足になったかどうかを検出
するのはどうしたらよいんでしたっけ?
210デフォルトの名無しさん (ブーイモ MM8e-sjlm)
2023/04/24(月) 18:47:43.95ID:fDr9n68aM try_reserve
211デフォルトの名無しさん (オイコラミネオ MMb5-+3Ti)
2023/04/24(月) 18:53:28.63ID:3hT7+QpVM >>210
それは予め領域を確保しておく関数で、確保できなかった場合には、
Result<(), TryReserveError>
という戻り値を返す関数と言うことですか?
そして、関数呼び出しの直後に ? を書くと、エラー発生時にそこで
アプリをダウンさせると言うことですか?
それは予め領域を確保しておく関数で、確保できなかった場合には、
Result<(), TryReserveError>
という戻り値を返す関数と言うことですか?
そして、関数呼び出しの直後に ? を書くと、エラー発生時にそこで
アプリをダウンさせると言うことですか?
212デフォルトの名無しさん (オイコラミネオ MMb5-+3Ti)
2023/04/24(月) 19:00:53.57ID:3hT7+QpVM213デフォルトの名無しさん (ブーイモ MM0a-sjlm)
2023/04/24(月) 19:01:30.05ID:ELtZniCQM いろいろ違う
落としたいならpanicさせとけばいい
落としたいならpanicさせとけばいい
214デフォルトの名無しさん (ワッチョイ 1eda-2ihv)
2023/04/25(火) 00:44:30.70ID:hB6+7TeQ0 メモリ不足を検出した場合に何をしたいかで適切な対応は変わってくるけど、何をしたいの?
215デフォルトの名無しさん (オイコラミネオ MMb5-+3Ti)
2023/04/25(火) 01:46:37.95ID:ICFLZD9/M216デフォルトの名無しさん (オイコラミネオ MMb5-+3Ti)
2023/04/25(火) 01:47:29.28ID:ICFLZD9/M >>215
なお、Vecに追加する動作を行なった関数の中で処理をしたいです。
なお、Vecに追加する動作を行なった関数の中で処理をしたいです。
217デフォルトの名無しさん (ワッチョイ a95f-U0+R)
2023/04/25(火) 07:31:37.92ID:S/F8mIrU0 重要:
メモリ不足だからと言ってmallocが失敗するとは限らない
メモリ不足だからと言ってmallocが失敗するとは限らない
218デフォルトの名無しさん (ワッチョイ 2a3e-ASru)
2023/04/25(火) 09:38:35.21ID:ug7UW9j70 今の Linux カーネルだとアプリケーションからオーバーコミットを無効にすることは出来るようになってるぞ。
219デフォルトの名無しさん (ワッチョイ 1eda-2ihv)
2023/04/25(火) 10:43:39.39ID:hB6+7TeQ0 try_reserveの戻り値がErrだったら処理を実行するだけだよ
この説明で分からないならenumやResult型について勉強した方が良いよ
あとtry_reserveの失敗要因はメモリ不足だけじゃないけど、エラー種別はnightlyじゃないと取得できないみたいね
この説明で分からないならenumやResult型について勉強した方が良いよ
あとtry_reserveの失敗要因はメモリ不足だけじゃないけど、エラー種別はnightlyじゃないと取得できないみたいね
220デフォルトの名無しさん (ワッチョイ 375f-k3Rv)
2023/04/29(土) 19:47:07.81ID:OSQfAzE+0 RefMut <-> Ref にも Rc <-> Weak みたいな相互変換メソッドがあればいいのに
221デフォルトの名無しさん (ワッチョイ bfda-qKNM)
2023/04/30(日) 04:06:33.86ID:5bTJo9fJ0 >>220
RefCell自体を取り回して必要なところで都度RefやRefMutを作れば良いのでは
RefCell自体を取り回して必要なところで都度RefやRefMutを作れば良いのでは
222デフォルトの名無しさん (ワッチョイ 375f-k3Rv)
2023/04/30(日) 11:51:12.53ID:cNEEfLAb0223デフォルトの名無しさん (アウアウウー Sa1b-qKNM)
2023/04/30(日) 13:58:26.96ID:ZqZbVcjya >>222
RefやRefMutはMutexのGuardみたいなもんなんだから取り回す範囲は極力狭くするべきなんじゃね
RefやRefMutはMutexのGuardみたいなもんなんだから取り回す範囲は極力狭くするべきなんじゃね
224デフォルトの名無しさん (ワッチョイ 375f-k3Rv)
2023/05/03(水) 20:42:40.07ID:CZOik0F40 Rustにもこんなのあるんか……ええな
https://zenn.dev/kk/articles/20230213_creusot_intro
https://zenn.dev/kk/articles/20230213_creusot_intro
225デフォルトの名無しさん (ワッチョイ 335f-awLq)
2023/05/19(金) 17:46:12.04ID:vnYwlZ+00 Rust for Linux updates! More pin-init and refactoring! - YouTube
https://www.youtube.com/watch?v=jAanHvcuYtA
https://www.youtube.com/watch?v=jAanHvcuYtA
226デフォルトの名無しさん (ワッチョイ 7b5f-e8Lq)
2023/06/02(金) 02:43:27.18ID:w12tfZkT0 The RustConf Keynote Fiasco, explained
https://fasterthanli.me/articles/the-rustconf-keynote-fiasco-explained
一連の事件は結局不幸な伝言ゲームの結果だったということだろうか
https://fasterthanli.me/articles/the-rustconf-keynote-fiasco-explained
一連の事件は結局不幸な伝言ゲームの結果だったということだろうか
227デフォルトの名無しさん (ワッチョイ 7d5f-vCKA)
2023/06/04(日) 13:53:56.01ID:xOmzDhxR0 以前からCodeLLDBでたまに値がちゃんと表示されないことがあるなーと思ってたら再帰型が原因だったんですね
今ほとんど再帰でできてる部分触ってるせいで困ってる……
dbg!書けばいいだけではあるんだけど泥臭くて嫌だわね
https://github.com/vadimcn/codelldb/issues/605
今ほとんど再帰でできてる部分触ってるせいで困ってる……
dbg!書けばいいだけではあるんだけど泥臭くて嫌だわね
https://github.com/vadimcn/codelldb/issues/605
228デフォルトの名無しさん (ワッチョイ d336-IjPS)
2023/07/29(土) 22:43:04.08ID:nwVMjVJQ0 いつのまにかrust-specがマージされてる。まだ作業終わってないけど。
ttps://github.com/rust-lang/rfcs/pull/3355
ttps://github.com/rust-lang/rust/issues/113527
rustにもようやく仕様が。
ttps://github.com/rust-lang/rfcs/pull/3355
ttps://github.com/rust-lang/rust/issues/113527
rustにもようやく仕様が。
229デフォルトの名無しさん (ワッチョイ eada-0btC)
2023/07/30(日) 17:17:19.50ID:9Mwyt07S0 これから編集者雇うみたいだからまだまだ時間は掛かりそうだけど、前進だね
230デフォルトの名無しさん (ワッチョイ 0f5f-4nYy)
2023/08/10(木) 03:13:56.19ID:cXfKj1l90 Hugging FaceがPyTorch的なRust製フレームワークを作り始めたらしい
https://github.com/huggingface/candle
https://github.com/huggingface/candle
231デフォルトの名無しさん (ワッチョイ 275f-orer)
2023/08/16(水) 18:13:46.91ID:Wd6XOYTc0 >> https://mevius.5ch.net/test/read.cgi/tech/1692105879/16
rustupを使わないクロスコンパイル環境の構築方法あるらしいよ
https://users.rust-lang.org/t/how-to-add-cross-compile-target-for-offline-system-without-rustup/80811/4
大人しくrustup使っておけよとしか思わんが一応……
rustupを使わないクロスコンパイル環境の構築方法あるらしいよ
https://users.rust-lang.org/t/how-to-add-cross-compile-target-for-offline-system-without-rustup/80811/4
大人しくrustup使っておけよとしか思わんが一応……
232デフォルトの名無しさん (ワッチョイ bb36-3sKl)
2023/08/16(水) 19:50:14.01ID:e6GDzmE20 githubにrustupのソースコードあるから読めばいいよ。
233デフォルトの名無しさん (ワッチョイ 8b01-1ZN1)
2023/08/16(水) 23:13:21.01ID:1NDN9ysp0 >>231
サンキュ。試してみます
サンキュ。試してみます
234デフォルトの名無しさん (ワッチョイ f9a9-75c1)
2023/08/22(火) 03:24:00.61ID:Fec2bVY90 おおきに、感謝やで!
235デフォルトの名無しさん (ワッチョイ d95f-GBSa)
2023/08/30(水) 12:04:57.70ID:LqLNxSZ40 Debugを上位トレイトに持たないトレイトのオブジェクトをなんとかしてdbg!する方法は無いもんじゃろか
236デフォルトの名無しさん (ワッチョイ 3536-8/Q7)
2023/08/30(水) 15:40:36.29ID:lfrnRSB90 ない。基本的なトレイトを実装してないのはバグ。
237デフォルトの名無しさん (ワッチョイ 4ada-0cXD)
2023/08/30(水) 20:29:40.52ID:y+HDByBG0 参照をポインタにしてアドレスを表示してみるとか
238デフォルトの名無しさん (ワッチョイ 4ada-0cXD)
2023/08/30(水) 20:30:28.57ID:y+HDByBG0 構造体フィールドの中身を知りたいという事ならAnyを継承させてダウンキャストするかDebugを継承したtraitにするしかないね
239デフォルトの名無しさん (ワッチョイ b3bc-yE7J)
2023/09/12(火) 06:34:45.51ID:8vWycgZc0 アノ店、今日は休みやねんな
240デフォルトの名無しさん (ワッチョイ 0f36-8z3m)
2023/09/21(木) 01:15:23.63ID:d9SQw4Jt0 intellij rustからRustRoverギリギリ燃えてないな。プラグインもIDEAもバグが増えたのが懸念とか言われてるけど。
241デフォルトの名無しさん (ワッチョイ 0f01-w8tn)
2023/09/21(木) 23:43:40.50ID:2whQHU6y0 RustのコンパイルターゲットはTierで分けられているけど
x86_64-pc-windows-msvc ←Tier1
x86_64-unknown-none ←Tier2
この違いって何?
Tier1の条件を見るとすべてのテストに合格すること的な事が書いてあるしプラットフォームが不明の状態でそれは不可能はなず
組み込み向けなどの低レイヤー用途を想定したターゲットにTier1のものはなくすべてTier2以下になっている
もしこれが理由なら自分が書いたコードはTier1と同レベルに翻訳される(実行できなかったり実行結果が不正なコードは生成されない)事が
期待できるけどそう考えて問題ないのだろうか
x86_64-pc-windows-msvc ←Tier1
x86_64-unknown-none ←Tier2
この違いって何?
Tier1の条件を見るとすべてのテストに合格すること的な事が書いてあるしプラットフォームが不明の状態でそれは不可能はなず
組み込み向けなどの低レイヤー用途を想定したターゲットにTier1のものはなくすべてTier2以下になっている
もしこれが理由なら自分が書いたコードはTier1と同レベルに翻訳される(実行できなかったり実行結果が不正なコードは生成されない)事が
期待できるけどそう考えて問題ないのだろうか
242デフォルトの名無しさん (ワッチョイ 3fda-n7kY)
2023/09/22(金) 01:00:34.44ID:J+8eUZUM0 >>241
x86_64なら現実的にはほぼ動くとは思う
ただ、あくまでもrust側ではコンパイルが通ることしか確認してなくて、生成されたコードが正しく動作するかは未確認の状態
利用者側が動作確認をきちんとやる必要があるよ
x86_64なら現実的にはほぼ動くとは思う
ただ、あくまでもrust側ではコンパイルが通ることしか確認してなくて、生成されたコードが正しく動作するかは未確認の状態
利用者側が動作確認をきちんとやる必要があるよ
243デフォルトの名無しさん (ワッチョイ 0f01-w8tn)
2023/09/22(金) 02:06:03.04ID:/khf3L7K0 >>242
例えばベアメタル開発用などでOSとインターフェイスしないコードのみほしい場合
x86_64-pc-windows-msvc(x86_64-unknown-linux-gnuとかでも可)でスタティックリンクのライブラリとしてビルドしてカスタムリンク
x86_64-unknown-noneでビルド
の二択だと出力物の信頼性はどちらの方が高いのだろうか。どちらも適切なローダーを用意すれば動作するはず
特に低レイヤーの開発で翻訳不良があるとトラブルシュートが沼りやすいし、前者の方が有利なら
ゴミが付いたりビルドが複雑化するなどのデメリットを考慮しても検討する価値があるはず
例えばベアメタル開発用などでOSとインターフェイスしないコードのみほしい場合
x86_64-pc-windows-msvc(x86_64-unknown-linux-gnuとかでも可)でスタティックリンクのライブラリとしてビルドしてカスタムリンク
x86_64-unknown-noneでビルド
の二択だと出力物の信頼性はどちらの方が高いのだろうか。どちらも適切なローダーを用意すれば動作するはず
特に低レイヤーの開発で翻訳不良があるとトラブルシュートが沼りやすいし、前者の方が有利なら
ゴミが付いたりビルドが複雑化するなどのデメリットを考慮しても検討する価値があるはず
244デフォルトの名無しさん (ワッチョイ 0f36-8z3m)
2023/09/22(金) 04:58:40.40ID:B04DzdQA0 より正確には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。
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:21.93ID:/khf3L7K0 x86_64-unknown-noneが吐くコードをどのくらい信用して良いのかって話ね
Tier2=十分にテストされていない=不正命令例外を吐いたり意図しない演算結果になる可能性がある
とかだと開発に重大な影響が出るし勘弁してほしい。Tier1のターゲットならそんな可能性は無視できるはずだし
Tier2=十分にテストされていない=不正命令例外を吐いたり意図しない演算結果になる可能性がある
とかだと開発に重大な影響が出るし勘弁してほしい。Tier1のターゲットならそんな可能性は無視できるはずだし
246デフォルトの名無しさん (ワッチョイ 0ff8-fp56)
2023/09/22(金) 23:26:27.84ID:wn++FXk10 テスト云々はlibstdが主なんでは?
そもそもコード生成するのはLLVMなんだし機械語レベルじゃRust側のTierは関係ない気がする
そもそもコード生成するのはLLVMなんだし機械語レベルじゃRust側のTierは関係ない気がする
247デフォルトの名無しさん (ワッチョイ 0f01-w8tn)
2023/09/22(金) 23:47:16.64ID:/khf3L7K0 x86_64-unknown-noneがTier2の理由がstdのテストができないからならそれでいいんだけどね
Platform Supportを見ても
>x86_64-unknown-none * Freestanding/bare-metal x86_64, softfloat
としか書いていない。hardfloatが使えない?のはよくわからないが
Platform Supportを見ても
>x86_64-unknown-none * Freestanding/bare-metal x86_64, softfloat
としか書いていない。hardfloatが使えない?のはよくわからないが
248デフォルトの名無しさん (ワッチョイ 0336-3hLy)
2023/09/23(土) 01:27:48.45ID:JOYgBSwC0 Tierはrustcのコードベースがビルドできるかどうかの保証であって吐くバイナリの質の保証じゃない。
そもそもrustcはフロントエンドだからどういうバイナリ吐くかは無関係。
tier 1/2の違いは自動テストが常に実行されるかどうかの違いだけ。
全部Platform Supportに書いてあるからこの説明でわからんならどこが理解できないのか言ってくれ。
そもそもrustcはフロントエンドだからどういうバイナリ吐くかは無関係。
tier 1/2の違いは自動テストが常に実行されるかどうかの違いだけ。
全部Platform Supportに書いてあるからこの説明でわからんならどこが理解できないのか言ってくれ。
249デフォルトの名無しさん (ワッチョイ 5301-3pIy)
2023/09/24(日) 21:37:53.69ID:JmCRMtY30 Tier表記がアテにならないならコードの質を比較するにはどうしたらいいんだろ
x86_64とavrが同じ品質、同じ最適化レベルなわけないよな
x86_64とavrが同じ品質、同じ最適化レベルなわけないよな
250デフォルトの名無しさん (ワッチョイ 0ada-sj2L)
2023/09/25(月) 08:27:06.59ID:gOdfC5Fq0 rustに限らずコンパイラの生成コードの品質はアセンブリ見て判断するしかないんじゃね
LLVM IRもプラットフォームごとに差があるのかね?
LLVM IRもプラットフォームごとに差があるのかね?
251デフォルトの名無しさん (ワッチョイ dd5f-ZTan)
2023/11/08(水) 11:25:16.25ID:QNjJKK3y0 Rust製ブラウザエンジンの「Servo」、アプリに組み込み可能なクロスプラットフォーム対応WebView化を目指す。Electron代替を目指す「Tauri」への組み込み実現へ - Publickey
https://www.publickey1.jp/blog/23/rustservowebviewelectrontauri.html
期待
https://www.publickey1.jp/blog/23/rustservowebviewelectrontauri.html
期待
252デフォルトの名無しさん (ワッチョイ 9f5f-Lcu7)
2023/11/13(月) 11:53:03.89ID:k6bqA1Ku0 https://rust-lang.github.io/rfcs/3192-dyno.html
気づいたらポシャっててstd-1.73.0からProvider/Demandも消えてた
やっぱりRTTIとかそういうのはあんまり乗り気じゃないのかな??
気づいたらポシャっててstd-1.73.0からProvider/Demandも消えてた
やっぱりRTTIとかそういうのはあんまり乗り気じゃないのかな??
253デフォルトの名無しさん (ワッチョイ e3f0-Krj3)
2023/12/28(木) 17:26:22.81ID:WYblPX1w0 RubyのYJITって仕組みはRustで実装されてるんだな
ソース見てビビった
ソース見てビビった
254デフォルトの名無しさん (ワッチョイ 6397-cIbC)
2023/12/28(木) 19:28:59.59ID:13cJB/jM0255デフォルトの名無しさん (ワッチョイ ff3e-XnzH)
2023/12/28(木) 21:34:36.48ID:x05ZB4jI0 遅い部分を Rust でなおそうというよりは、
Rust へ置き換わる流れに乗るついでに駄目なところをそろそろなんとかしようぜという感じじゃないかな。
イマイチなのがわかっててもちゃんと動いてるなら何かきっかけがないと重い腰が上がらないのはよくあること。
Rust へ置き換わる流れに乗るついでに駄目なところをそろそろなんとかしようぜという感じじゃないかな。
イマイチなのがわかっててもちゃんと動いてるなら何かきっかけがないと重い腰が上がらないのはよくあること。
256デフォルトの名無しさん (ワッチョイ e3f0-Krj3)
2023/12/28(木) 22:12:11.01ID:WYblPX1w0 YJITのコード、相当面白いな
RustでJITしてるよw
マシンコードゴリゴリ生成してる
RustでJITしてるよw
マシンコードゴリゴリ生成してる
257デフォルトの名無しさん (アウアウウー Saa7-9gAl)
2023/12/29(金) 18:42:09.07ID:gLXDegz1a rustってJavaやpythonみたいに爆発的に流行るわけじゃなくてじわじわ広まっていく感じなんだろうな
258デフォルトの名無しさん (アウアウウー Saa7-Krj3)
2023/12/29(金) 22:02:28.40ID:iUQmWV32a YJIT、最初はCで実装されてたがRustに変えたみたい
bindgenでCRuby側のAPIをRust側に持ってきて
それを使いながらJITでマシンコード生成してる
面白すぎる
コードもめちゃくちゃ読みやすいぞ
bindgenでCRuby側のAPIをRust側に持ってきて
それを使いながらJITでマシンコード生成してる
面白すぎる
コードもめちゃくちゃ読みやすいぞ
259デフォルトの名無しさん (ワッチョイ 9701-Hbjn)
2024/02/04(日) 19:30:07.17ID:TI/zzvYY0 RustのRTOSはTockがあるけどFreeRTOSやTOPPERS/SSP、μT-Kernelなど既成のRTOSとの比較レビューってある?
260デフォルトの名無しさん (ワッチョイ b15f-ZSX2)
2024/03/22(金) 21:59:30.16ID:qT4SZAGX0261デフォルトの名無しさん (ワッチョイ 9f5f-n+Ch)
2024/05/05(日) 01:37:56.22ID:uZIblCBW0262デフォルトの名無しさん (ワッチョイ 137c-fr5k)
2024/05/28(火) 05:50:07.80ID:2O15FncY0 あげとくか
263デフォルトの名無しさん (アウアウウー Sac5-j0d5)
2024/05/28(火) 11:26:44.51ID:NhejqWbKa >>257
それなりに使われるだろうけど普及はしないよこんな糞言語
それなりに使われるだろうけど普及はしないよこんな糞言語
264デフォルトの名無しさん (ワッチョイ a17d-AeJW)
2024/05/28(火) 12:40:58.42ID:62OgaQom0 >>263
普及の定義をしようや
普及の定義をしようや
265デフォルトの名無しさん (ワッチョイ d37f-ikRv)
2024/05/29(水) 01:14:08.00ID:stYwN08n0 lazy_cellが安定化
https://github.com/rust-lang/rust/issues/109736
https://github.com/rust-lang/rust/issues/109736
266デフォルトの名無しさん (アウアウエー Sab2-JqXl)
2024/06/05(水) 14:11:47.67ID:nZd9x5hFa >>264
糞言語は定義しなくていいということですか
糞言語は定義しなくていいということですか
267デフォルトの名無しさん (ワッチョイ be29-u9Nc)
2024/06/05(水) 15:39:16.16ID:NzLbLFLA0268デフォルトの名無しさん (アウアウエー Sab2-JqXl)
2024/06/06(木) 10:37:20.47ID:qz5pj6nBa 糞言語なのは認めるということですね判ります
269デフォルトの名無しさん (ワッチョイ be33-u9Nc)
2024/06/06(木) 18:33:54.95ID:vvc6Sc+M0 >>268
プログラミング言語の前に国語勉強しよう
プログラミング言語の前に国語勉強しよう
270デフォルトの名無しさん (ワッチョイ 7fce-xov0)
2024/06/14(金) 00:25:21.51ID:LVwRqQSd0271デフォルトの名無しさん (ワッチョイ 615f-lSh6)
2024/07/15(月) 02:00:43.64ID:S6UfnUI40 poloniusって結局何なんだ?
272デフォルトの名無しさん (ワッチョイ b15f-Ojjn)
2024/07/25(木) 23:26:35.53ID:DJ5WaC5l0273デフォルトの名無しさん (ワッチョイ b15f-Ojjn)
2024/07/25(木) 23:42:54.21ID:DJ5WaC5l0 Exclusive ranges in patternsの例でこれからは終点と始点に同じconstが使えますって書いてるけど
そもそもstableじゃpatternでconst使えないから微妙に説明不足だなあ
そもそもstableじゃpatternでconst使えないから微妙に説明不足だなあ
274デフォルトの名無しさん (ワッチョイ 5fed-Tquj)
2024/09/06(金) 13:05:40.28ID:7lTmc6Nm0275デフォルトの名無しさん (ワッチョイ bb5f-RyhN)
2024/10/19(土) 03:08:34.71ID:1NcbI99b0276デフォルトの名無しさん (ワッチョイ b1bd-Q1tn)
2024/11/06(水) 21:10:46.98ID:Z4pDTKo20 >>268
クソ言語ってCとかBASICみたいな奴のこと?
クソ言語ってCとかBASICみたいな奴のこと?
277デフォルトの名無しさん (ワッチョイ 23c8-oJQd)
2024/11/12(火) 00:38:11.01ID:lS2MxdJo0 Rustのインストール,Hello World/Cargo,数当てゲームまで終わったので記念に書き込み
サクラエディタでコード編集したけどIDEは何がいいんだろろ
サクラエディタでコード編集したけどIDEは何がいいんだろろ
278デフォルトの名無しさん (ワッチョイ cd32-bar5)
2024/11/12(火) 08:37:10.19ID:DHJyD4K70279デフォルトの名無しさん (ワッチョイ 2324-oJQd)
2024/11/12(火) 13:14:18.53ID:69VI/kA50 ありがとう
とりあえず公式ページ見てくる
使ったことあるvscodeになりそうだけど
とりあえず公式ページ見てくる
使ったことあるvscodeになりそうだけど
280デフォルトの名無しさん (ワッチョイ 2324-oJQd)
2024/11/12(火) 17:29:53.97ID:69VI/kA50 Vimがあったけど中々挑戦できないな
281デフォルトの名無しさん (オイコラミネオ MMab-33K2)
2024/11/14(木) 11:49:51.39ID:/k0TwQtQM vscodeの良さは、AndroidユーザーがiPhoneの良さを全く理解できないのと
同じくらい、理解できない。
同じくらい、理解できない。
282デフォルトの名無しさん (ワッチョイ 15bd-4Bi2)
2024/11/14(木) 19:08:09.69ID:yxSXUQjo0 Calaude aiで生成したコードってそのまま通るのかな
283デフォルトの名無しさん (ワッチョイ 4243-gDrC)
2024/11/20(水) 13:43:52.49ID:g9sD9hG/0 https://github.com/rust-lang/rust/issues/44874
デケえ便利機能が来そうだぜ
デケえ便利機能が来そうだぜ
284デフォルトの名無しさん (ワッチョイ 9f01-wxIp)
2024/11/20(水) 18:47:48.10ID:BzSu5ItH0 諸刃の剣だな
現状のDerefは抑制的に使われてるけど
Receiverがカジュアルに使えるとどうなるかな
現状のDerefは抑制的に使われてるけど
Receiverがカジュアルに使えるとどうなるかな
285デフォルトの名無しさん (ワッチョイ 9f1c-ksDR)
2024/11/28(木) 23:19:31.65ID:e85wFuS80286デフォルトの名無しさん (ワッチョイ 975c-vRoJ)
2024/11/28(木) 23:55:57.51ID:JvWPBHtF0 アップデートしたらしいけどなんかいい修正ある?
287デフォルトの名無しさん (ワッチョイ 9fb2-ksDR)
2024/11/29(金) 18:38:58.21ID:kgssLEYJ0 const fnの中でできることが増えたくらいで今回地味かも
内部としてはこれでも大仕事なんでしょうが……
内部としてはこれでも大仕事なんでしょうが……
288デフォルトの名無しさん (ワッチョイ 5cd9-2cXZ)
2024/12/03(火) 20:48:46.24ID:hazgT/ND0 なるほど(わかってない)
Hello WorldとHello Cargoまでやったけどこのまま公式のブック?とかいうチュートリアルこなしてくのがええのかな
Hello WorldとHello Cargoまでやったけどこのまま公式のブック?とかいうチュートリアルこなしてくのがええのかな
289デフォルトの名無しさん (ワッチョイ 5cd9-2cXZ)
2024/12/03(火) 20:50:26.05ID:hazgT/ND0 C/C++のRust置換えはあんまり進まないと思うけどWEBアセンブリといえばRustになれば長く続く言語になるかなと思ってちょっと齧りだしたところ
290デフォルトの名無しさん (ワッチョイ bd32-mEgI)
2024/12/03(火) 21:20:26.57ID:0HkaMF/90 >>288
もし C とかを知ってるなら Rust のチュートリアルはすぐ終わるし、充分にプログラムは書けるよ。
ただ、上手く書くとなると際限ないからなぁ……
個人的には実際に使いながら標準ライブラリの構成を理解するのが良いと思う。
標準ライブラリは言語の思想がよく現れているので真似すると上手くいきやすい。
もし C とかを知ってるなら Rust のチュートリアルはすぐ終わるし、充分にプログラムは書けるよ。
ただ、上手く書くとなると際限ないからなぁ……
個人的には実際に使いながら標準ライブラリの構成を理解するのが良いと思う。
標準ライブラリは言語の思想がよく現れているので真似すると上手くいきやすい。
291デフォルトの名無しさん (ワッチョイ 5cd9-2cXZ)
2024/12/03(火) 21:37:32.00ID:hazgT/ND0 Java/JS(jQuery)くらいでC/C++未経験
最近出たRustでブラウザ作ってみるって本よんで環境構築したくらい
とりあえずライブラリ意識しながらチュートリアル(ブック)やってみるわ
最近出たRustでブラウザ作ってみるって本よんで環境構築したくらい
とりあえずライブラリ意識しながらチュートリアル(ブック)やってみるわ
292デフォルトの名無しさん (ワッチョイ 5cd9-2cXZ)
2024/12/03(火) 21:41:48.01ID:hazgT/ND0 ありがとうね
293デフォルトの名無しさん (ワッチョイ d374-q1xP)
2024/12/25(水) 01:38:56.59ID:HGQro34U0 おもしろそう
https://contextgeneric.dev/
https://contextgeneric.dev/
294デフォルトの名無しさん (ワッチョイ 1105-C5I+)
2024/12/25(水) 07:12:17.10ID:rU0AIwOo0295デフォルトの名無しさん (ワッチョイ d3bb-bDSa)
2025/01/10(金) 16:35:51.47ID:xLB3XHZu0 Futureをラップする型に手動でimpl FutureしてるけどこれはPinのいい勉強になるな
296デフォルトの名無しさん (ワッチョイ d3c7-bDSa)
2025/01/11(土) 02:39:13.55ID:5YYsPqAa0297デフォルトの名無しさん (ワッチョイ 7a51-N+ua)
2025/01/27(月) 18:39:55.41ID:ObwYCp160 クロージャとかFutureの具体型をassociated typeに書くためにtypeofが欲しくなってくる今日この頃
298デフォルトの名無しさん (ワッチョイ e391-MHHu)
2025/02/21(金) 11:47:12.81ID:nMjYKkhy0299デフォルトの名無しさん (ワッチョイ e391-MHHu)
2025/02/21(金) 11:50:22.59ID:nMjYKkhy0 AsyncFn traits……だと?
300デフォルトの名無しさん (ワッチョイ 7f9d-XqbG)
2025/04/04(金) 07:44:17.17ID:coTIOcpx0 このスレでRustの普通の雑談(trait bound以外の話)をしたい
301デフォルトの名無しさん (ワッチョイ 7f96-G494)
2025/04/04(金) 18:47:23.46ID:uFTmKMED0 じゃあこれでも眺めてみようか
ttps://aznhe21.hatenablog.com/entry/2025/04/04/rust-1.86
ttps://aznhe21.hatenablog.com/entry/2025/04/04/rust-1.86
302デフォルトの名無しさん (JP 0H7f-agAD)
2025/09/03(水) 11:19:30.68ID:GIKp/YM/H rustc_codegen_gccでクロスコンパイル環境を構築する解説とかありますか?
rustc_codegen_gccとgccとの繋がりとかも含めて解説されていると助かります
rustc_codegen_gccとgccとの繋がりとかも含めて解説されていると助かります
レスを投稿する
ニュース
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- 立民・岡田氏の質疑「不適切」 維新・藤田氏、台湾有事答弁巡り [蚤の市★]
