プログラミング言語 Rust 4【ワッチョイ】at TECH
プログラミング言語 Rust 4【ワッチョイ】 - 暇つぶし2ch93:デフォルトの名無しさん
18/03/19 07:39:54.89 bmK7HIBH0.net
>>92
ありがとうございます
仮引数mのライフタイムはmain関数が抜けるまでだから通るということで合っていますか
またVecではなくIterator::Mapだと駄目な理由は、Iterator::Mapはcollectされるまでクロージャが実行されないから…とかでしょうか

94:デフォルトの名無しさん
18/03/19 13:44:00.51 aUxUFBJe0.net
>>93
仮引数mのライフタイムはクロージャ内なのは変わらないよ。>>92は仮引数を参照じゃなく消費してるから通る(>>92の&mじゃなくてmで良い)
クロージャが実行されないから、ではなく、mochiの値が消費されてるのにその参照を持たせようとしてるから駄目
試しに>>91のコードでmochi.map(|m| { 0 })とか書いて、mochiをprintln!に渡してみようとすると怒られるよ。もう使ってるって。
そこらへんの細かいルールを覚えるの大変だし、コンパイラもまだ分かりやすいエラーメッセージ吐いてくれないから、
・参照を使うときは、参照元をちゃんと生かしておくこと
・参照を使った構造体は、元の値を修飾(見方を変える、新しい機能を持たせる等)するようなパターンに限定すること
を守るようにした方がいいよ

95:デフォルトの名無しさん
18/03/19 21:04:17.46 bmK7HIBH0.net
>>94
「消費したものの参照を持たせるのは駄目」と「消費しているから通る」はそれぞれはわかる気がするのですが、両方となると…
前者の「消費したもの」と後者(main関数中生き続けるMochiのベクトル)は別物だと思うのですが、
前者で駄目な理由は関数中生き続けるMochiがない(mapを呼び出しただけでは駄目)ということですか?

96:デフォルトの名無しさん
18/03/19 23:26:36.74 aUxUFBJe0.net
「消費されるので通る」じゃ言葉足らずでした。「参照じゃなく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エラーはライフタイムがどうのこうのと小手先で弄るより、
値の所有者を明快にしたり、データ構造を見直してみると案外素直に直せるのが経験則。

97:デフォルトの名無しさん
18/03/20 13:21:28.84 RDB2KieC0.net
>>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にすべきでしょうか

98:デフォルトの名無しさん
18/03/20 14:30:32.82 UUyTwokV0.net
大きい文字列を扱うから参照にしたいってのは普通にあるし分かるけど
Hitoが&MochiでなくMochiをメンバに持つようになっても文字列のコピーは行われないよ
自分なら>>97のget_too_many_str()が返す&strの元を誰が保持するのかをまず気にする
そこをしっかり把握してれば文字列のコピーは最低限になるはずだから

99:デフォルトの名無しさん
18/03/20 16:38:27.06 P+YmZBwi0.net
>>97
んー、自分なら そこだけに使うMochiCow型作ってでも
ajiの型をCowにして凌ぐかな

100:デフォルトの名無しさん
18/03/21 11:43:51.64 cBTkQiaM0.net
&strの元もloop内の変数が持っています
hのvecを作るにはコピーは避けられないようですね…
&strからStringに変えたところhvec.push(h)してもエラーにはなりませんでしたが、
スコープを抜けたはずの変数が使える理由ってどこかに書いていますか?

101:デフォルトの名無しさん
18/03/21 14:53:30.44 9rI6JIRt0.net
そりゃloop内の変数hから、loop外のhvecに所有権が移動したから
頭の中に入れておける物なんて極わずかだし、場当たり的にdoes not live longエラーに対処するのは大変なので、
・値の所有者はどの変数であるべきか
・データ構造はどうあるべきか
という観点だけ念頭にいれて、「性能を稼ぐために参照を使おう」って考えを一旦外すとスッキリするよ

102:デフォルトの名無しさん
18/04/15 17:27:59.27 YDqAu+LL0.net
こっちが本スレと聞いて

103:デフォルトの名無しさん
18/04/15 21:42:18.86 eccSQZbu0.net
しかしここには俺はいない

104:デフォルトの名無しさん
18/04/15 21:42:37.31 eccSQZbu0.net
まちがえた
俺しかいない

105:デフォルトの名無しさん
18/04/15 22:10:33.68 33fSNzq50.net
俺もいるぞ

106:デフォルトの名無しさん
18/04/15 22:44:53.22 UX4y5Mn1a.net
てst

107:デフォルトの名無しさん
18/04/16 07:13:50.32 pzKlDNeX0.net
まともな話題はslackいっちゃうのかな。
匿名で喋りたいのはアンチ向きか

108:デフォルトの名無しさん
18/05/08 02:44:07.65 kruQSPFC0.net
別にアンチって訳じゃないけど、コンパイルが遅すぎる(特に最適化掛けた場合に)のはどうかと思う。
実行が速くてもその生成に時間が掛かれば無意味でしょう……。

109:デフォルトの名無しさん
18/05/08 05:31:20.68 4Vs0GKvV0.net
>>108
Rustで組んだ新Firefoxの動作が2倍ほど速くなったのは無意味?

110:デフォルトの名無しさん
18/05/08 07:00:09.03 EnN/pyur0.net
逆なら理解できるけど

111:デフォルトの名無しさん
18/05/08 08:36:06.07 Hy6hpXT/M.net
まあコンパイルは遅いわな。
ていうかcargoの仕組みが問題なだけか?

112:デフォルトの名無しさん
18/05/08 20:14:50.84 T0pMALEX0.net
rustcで単一ファイルだけコンパイルすると結構速いなと思った
cargoって警告無視のオプション(-Awarning)の有無でも一からビルドしようとしたりちょくちょくお粗末

113:デフォルトの名無しさん
18/05/10 20:35:06.28 zLx1ZI770.net
なんかRustってテスト用と製品用で別々の最適化を施せるんじゃなかったっけ。
俺は自分の為だけにRustを使ってるのであまり気にしたことがないが。

114:デフォルトの名無しさん
18/05/12 12:11:46.40 OzyUIrxEM.net
URLリンク(blog.rust-lang.org)
impl Trait来たから
久しぶりにさわってみるかな

115:デフォルトの名無しさん
18/05/23 12:09:39.17 6kVmIohDH.net
ほとんどc++に見えるの俺だけ?

116:デフォルトの名無しさん
18/05/23 12:29:18.87 4/oN1Bt60.net
みんな言ってる

117:デフォルトの名無しさん
18/05/23 23:15:50.94 Au5e7VGg0.net
確実にどんな人でも可能なネットで稼げる情報とか
念のためにのせておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
C717P

118:デフォルトの名無しさん
18/05/28 09:59:15.77 N9/pBFPWH.net
rustを始めたんだけど
分かりそうで分からなくて
イライラする
なんだこの言語

119:デフォルトの名無しさん
18/05/28 11:01:04.58 4ZqBL5Re0.net
他の言語の経験にもよるけど 3000行ほど書けば慣れるよ(適当

120:デフォルトの名無しさん
18/05/28 11:14:23.86 N9/pBFPWH.net
actix_webでちょちょいとwebサービス作ろうと思っただけなんだが
externとuseみたいに、なんで同じようなものが2つ有るのとか
trait?、インプリすればいいだけならなんでこんな名前なんだとか

121:デフォルトの名無しさん
18/05/28 11:44:10.53 4ZqBL5Re0.net
察するに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参照)が始まっちゃうかもしれないので
ゆるく受け流してほしいところ

122:デフォルトの名無しさん
18/05/28 12:36:48.84 KX350+9ka.net
extern/use周りをrefineする話ってどうなった?

123:デフォルトの名無しさん
18/05/28 13:07:18.00 Yj33g/c2M.net
>>122
一応2018の予定には入ってるけどまだ作業中じゃない?
URLリンク(rust-lang-nursery.github.io)

124:デフォルトの名無しさん
18/05/28 14:35:19.27 N9/pBFPWH.net
チュートリアルの和訳のところを読んでいるけど
誰が訳したんだろう。。。

125:デフォルトの名無しさん
18/05/28 15:45:35.01 AY4+K2YC0.net
extern crateは、includeとかload libraryぐらいの意味だと思えばいいと思うが、
「え、それ、Cargo.tomlにもう書いたやん」って思うのは当然の感覚だな

126:デフォルトの名無しさん
18/05/28 15:47:39.28 N9/pBFPWH.net
しばらくしたら言語仕様変わりそうだなあこれ
勉強していくべきなのかどうか迷う

127:デフォルトの名無しさん
18/05/28 16:38:01.86 WepGeDn70.net
仕様の改定はc++のようにコンパイラのリリースとは別に2〜3年毎に定めることになってる
将来のコンパイラでも古い仕様を選択して使えるはず

128:デフォルトの名無しさん
18/05/28 17:33:13.35 dK7cJGyKa.net
どんな言語でも利用者多ければライブラリーのトレンド変わっていって学び直しはあるし
言語仕様の変更だけ特別視する理由が分からん

129:デフォルトの名無しさん
18/05/28 18:01:33.70 b/gKZOsn0.net
ver1.0になったし、firefoxに200kstepのソースがあるから始めるなら今でしょ

130:デフォルトの名無しさん
18/05/28 21:33:55.19 hIMCbSeD0.net
ruby1.8から1.9とか
python2から3の変更とか
嫌じゃん
言語もライブラリも混在してぐちゃぐちゃ

131:
18/05/28 22:15:42.81 dVAXJXVu0.net
>>124
和訳は最新に追いついていないと思います、公式英文を確認したほうがいい

132:デフォルトの名無しさん
18/05/28 23:47:10.84 cVR0FGXk0.net
Rustの場合仕様変更の影響を受ける記述はコンパイラがwarning(とsuggestion)出してくれるみたいだし
むしろライブラリのアップデートより楽なんじゃないかな

133:デフォルトの名無しさん
18/05/29 08:16:58.71 dnBokp3T0.net
やりたいことをするのに1日使って50%しかできなかった
自分には無理だこの言語

134:デフォルトの名無しさん
18/05/29 08:53:39.83 GEfewF+tM.net
50%できればすごいって

135:デフォルトの名無しさん
18/06/01 07:30:04.93 gpIIxUGF0.net
1.26の新機能自分のcrateにもう入れた?

136:デフォルトの名無しさん
18/06/01 19:39:19.80 RsiXZK4kM.net
土台?

137:デフォルトの名無しさん
18/06/11 19:45:35.17 woYxJr3K0.net
ここにまともなRustユーザいないのは年寄りしかいないからなのかなぁ

138:デフォルトの名無しさん
18/06/12 00:28:40.74 U7oXkFlj0.net
slackかtwitterでコミュニケーションとれるので5chへ書き込みたい事情があまりない

139:
18/06/12 00:34:57.69 QT2PgMnm0.net
>>138
おすすめのハッシュタグはなんでしょうか?

140:デフォルトの名無しさん
18/06/12 08:25:35.49 ESFTg/QrM.net
そう言われてみると確かにない。

141:デフォルトの名無しさん
18/06/12 09:41:15.21 Sk+2Pu3l0.net
もっとメジャーになってslackが荒れて来たらここもワンちゃん

142:デフォルトの名無しさん
18/06/12 12:05:43.89 QKuSZN5/a.net
ハッシュタグというより界隈の人間フォローしてる

143:デフォルトの名無しさん
18/06/12 19:39:13.56 twlm3/XD0.net
slackで発言できないアンチにしか存在価値がないのかぁ

144:デフォルトの名無しさん
18/06/12 21:30:56.05 d/RZ9PcJ0.net
slackのどこで喋ってるの?さ

145:デフォルトの名無しさん
18/06/13 07:40:50.77 Iw3p0Ou70.net
アンチに限らず匿名文化は一定数必要でしょう。

146:デフォルトの名無しさん
18/06/13 13:01:46.22 jLut3S1H0.net
つまり変な人でもスレに繰るなら、山の賑わい人気の証ってことね

147:デフォルトの名無しさん
18/06/23 20:45:08.63 MX9PBj5g0.net
Vec内のアイテムを複数条件やand or等をユーザに指定させてフィルタリングをしたいのですが
無理にでもSQL使うべきでしょうか

148:デフォルトの名無しさん
18/06/23 21:11:19.63 SR6K28vn0.net
ユーザってのはどういうレイヤの話をしてるの?もう少し具体的に書かないと意味不明

149:デフォルトの名無しさん
18/06/24 23:27:10.18 FVTH6Flp0.net
values.iter().filter(hoge).filter(fuga).filter(piyo)
フィルターを何度がけすると型がやばそう

150:デフォルトの名無しさん
18/06/25 00:28:41.79 TWt9PpKD0.net
強引にやるのはやばい感じだね
URLリンク(ideone.com)

151:デフォルトの名無しさん
18/06/25 07:08:50.50 xxjb5DLL0.net
調べてみるとfiltersというクレートがありました

152:デフォルトの名無しさん
18/06/28 08:09:41.33 t6K5m67F0.net
New Photon Release of Eclipse IDE Ships With Full Rust Support
URLリンク(www.eclipse.org)

153:デフォルトの名無しさん
18/07/01 02:21:52.91 hOXxhpxn0.net
いやじゃ、いやじゃ、Eclipseなんぞ使いとうない

154:デフォルトの名無しさん
18/07/01 03:02:12.97 T78MqQu/0.net
みんなどんな環境で書いてるの?今はvscode使ってるんだけどrlsがあまりに不安定すぎてストレスが…

155:デフォルトの名無しさん
18/07/01 06:22:17.39 3lsiwbVs0.net
vscodeだよ
racerも不安定だったような

156:デフォルトの名無しさん
18/07/01 09:29:47.37 61/yGhxs0.net
emacs + flycheck
racerは重すぎるんでOFFにしてる

157:デフォルトの名無しさん
18/07/01 15:40:20.37 ep584YMHF.net
秀丸

158:デフォルトの名無しさん
18/07/01 18:12:28.40 VIP13YQk0.net
禿丸ってなに?

159:デフォルトの名無しさん
18/07/01 19:19:06.36 3lsiwbVs0.net
こっちまでネタスレかよ

160:デフォルトの名無しさん
18/07/03 18:54:31.94 A246qspJM.net
URLリンク(i.imgur.com)

161:デフォルトの名無しさん
18/07/04 21:50:46.22 gFgZc5FG0.net
5PW

162:デフォルトの名無しさん
18/07/05 00:59:18.40 lJi2a9VDM.net
おーい、hgmr

163:デフォルトの名無しさん
18/07/28 09:13:36.59 pjkfXvHGM.net
hnmr王子~♪

164:デフォルトの名無しさん
18/07/29 02:13:01.57 QHCaZ13N0.net
まさか繋いでくれる人がいるとは思わなかった

165:デフォルトの名無しさん
18/07/31 16:45:34.48 0aJU5h1JM.net
花村てなんや
オーバーウォッチか

166:デフォルトの名無しさん
18/08/05 20:37:41.10 XPCi/u53M.net
王子に対し無礼であろう!
URLリンク(www.nhk.or.jp)

167:デフォルトの名無しさん
20/11/25 00:47:44.38 lt8VNqOR0.net
るすと

168:デフォルトの名無しさん
22/05/03 15:19:34.90 FP7f4hyR0.net
Rの発音が難しい

169:デフォルトの名無しさん
22/08/07 14:18:50.38 Xv2x2xOXM.net
うんこすレッド

170:デフォルトの名無しさん
22/11/13 22:46:23.74 gb51z1Py0.net
日本語の発音ってかイントネーションはみんなどっち?
ラスト(ミファファ=スタバ)
ラスト(ミドド=ベスト(着る方))

171:デフォルトの名無しさん
22/11/16 18:15:29.98 QMFF+6AxM.net
1オクターブ上のドでミドド

172:デフォルトの名無しさん
22/12/18 17:46:12.72 fqk1SiW30.net
本スレ最近ひどいね
age

173:デフォルトの名無しさん
23/01/09 20:41:28.12 XnWHdmBW0.net
Rustの型って何を言ってるのか良う分からないくらい一気に複雑になるんだけど、改善の兆しってある?
filter(|x| ...).map.(|x| ...)ってやると戻り値がMap<Filter<...>>みたいに、情報量がほぼ増えないのに型の表記だけが増えてくのが見づらくてしゃあないんだが
「ここを関数に切り出しておきたい」ってのも難しくね?
impl Traitあるだろって言われるけど、自分ひとりでできた試しが無い

174:デフォルトの名無しさん (ワッチョイ 1301-nt2E)
23/01/09 22:31:09.52 ZXgjuOo50.net
>>173
.filter(|x| ...).map.(|x| …)とやったら
ざっくり言うと戻り値はIterator<Item=T>でowned, shared reference, mutable referenceの3種類
Map<Filter<...>>とかの詳細な型を知りたいと思うことは基本ないからそこまで困らない
デコレータとかコンポジション的なものとして理解しとけばいいと思う

関数に切り出すのはGC言語と比べると難しい
どの値の所有権をどの呼び出しレイヤーで保持すべきかを整理しながらリファクタリングする必要がある
ただある程度パターンがあるからそれが理解できるとそこまで難しくはない

175:デフォルトの名無しさん
23/01/11 20:45:10.66 +OHiCBbi0.net
>>174
標準ライブラリでiteratorのメソッドならそうなんだろうな、って他言語でも溜め込んだ知識で何とかなるけどさ、
例えばwarpっていうWebフレームワークはリクエストの解決にfilterを使ってるんだけど、
URLリンク(docs.rs)
↑ここからたどって、例えばリクエストのパスにマッチするフィルタを作成するwarp::filters::pathってのがあるんだけど、
こいつの戻り値が独自型のExactってやつなのね
warp作ってる人はここに様々な条件を追加できるようにしているんだけど、pathの戻り値にどう組み合わせられるかってのをどう探せるんだろっていつもなってる
他のcrateも、単機能で目的果たせるライブラリならまだいいけど、高階関数で機能組み合わせてねってやつはrustdoc見ても意味が分からなくなってる

176:デフォルトの名無しさん
23/01/11 23:31:54.91 B6T7GQUU0.net
>>175
ExactがFilterだと分かれば別のFilterを組み合わせられることはわかるでしょ?
warpのFilterシステムを理解させるための解説ドキュメントが不足してるのと
他で類似の仕組みをあまり経験したことがないのが理由なんじゃないのかな?
型が入れ子の形でチェインされてる状態に慣れてないから
それがわかりにくさの原因のように感じるかもしれないけど
JavaやgoのReader/Writerみたいにデコレータ的に型を重ねていくのはそんな特殊なことじゃないよ

177:デフォルトの名無しさん
23/01/12 07:36:35.15 fjq3kaV70.net
iterator系の処理はどんな言語でもやりすぎると意味不明なんでいい単位で説明変数や関数に切り出すのは大事だよ。

178:デフォルトの名無しさん
23/01/12 10:57:06.97 yHqsf2Vi0.net
関数単位で切り出す場合はimpl TraitやBox<dyn Trait>使った方が良いと思う
実装の詳細が型として露出してしまうのはよろしくないし
何より長い型を書き下すのはめんどくさい

179:デフォルトの名無しさん (ワッチョイ d3c9-tb1I)
23/01/13 00:49:21.00 Eg8x4Zf+0.net
>>176 いやExactがFilterかどうかが分からないんだ。自信が無い
URLリンク(docs.rs)
URLリンク(docs.rs)
↑2つを見ても、ExactがFilterをimplしているとは書いてないんだ
知ってたらマジで教えてほしいんだが、どこ見ればいいの?

>>178 そう思うのは人情だが、じゃあどういう型の関数にすればいいのかって話
ググらずに分かる?俺は分からなかった

180:デフォルトの名無しさん
23/01/13 01:52:07.98 USdCnak/0.net
>>179
非公開の(だけど実装が漏れている)FilterBaseトレイトを介してFilterを実装してるんだね……
FilterBaseが公開されていればExactのblanket implementationsに出てくるはず
同じことは指摘されているが放置されている模様
URLリンク(github.com)

181:デフォルトの名無しさん
23/01/13 20:16:02.99 Eg8x4Zf+0.net
もしかして特段に分かりづらい構造だったのかWarp

182:デフォルトの名無しさん
23/01/13 21:03:44.68 4YqzJ2Gc0.net
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:デフォルトの名無しさん
23/01/14 03:14:01.24 4QhVLL220.net
いや型の説明がコメントにしか無いかったら疑うのが基本じゃないか…?
説明にある通りの使い方はできるけど、何故そう使えるのか分からない、となった上での話
前にもちらっと書いたところもそうなんだけど、impl Filterを返す関数のシグネチャも独力だと分からなかったんだよ。もっと情報の少ないクレートでやる必要が出てきたら詰んじゃう

184:デフォルトの名無しさん
23/01/19 13:09:59.92 CHvJHSS40.net
[T]と[T; N]があるように
strに対するSizedなstr<N>とかできんかね

185:デフォルトの名無しさん
23/01/29 03:46:54.24 qSgQK/Ke0.net
URLリンク(doc.rust-lang.org)
名前の元ネタがよくわからん

186:デフォルトの名無しさん
23/01/29 04:28:40.21 iZgCgX3R0.net
>>185
trY Early-ExiT で yeet じゃない?
experimental だからわざとクソ命名してそう。

187:デフォルトの名無しさん
23/01/29 08:29:44.05 VTBemk9l0.net
意味合いとしては
> Yeet is a slang phrase meaning to throw with force
とのことらしい
URLリンク(internals.rust-lang.org)
URLリンク(www.urbandictionary.com)
yeetの初出はここらしい
URLリンク(mobile.twitter.com)
命名に関するbikeshedを避けつつ機能を実験するために導入するみたいね
(deleted an unsolicited ad)

188:デフォルトの名無しさん
23/02/04 16:11:28.39 4OrKEijd0.net
Servoプロジェクトが再始動
URLリンク(servo.org)
URLリンク(servo.org)

189:デフォルトの名無しさん
23/02/26 21:57:18.73 vJeOsMT8M.net
新スレとして再利用と聞いてage

190:デフォルトの名無しさん
23/03/02 01:57:12.70 9x7ptNRV0.net
ProviderとDemandってCOMのQueryInterface的な使い方もできるのかな

191:デフォルトの名無しさん
23/03/07 03:24:09.91 CjRtBzJ10.net
Bevy 0.10 is out now!
URLリンク(bevyengine.org)

192:デフォルトの名無しさん
23/03/10 03:58:23.25 9+yNdzD90.net
Announcing Rust 1.68.0
URLリンク(blog.rust-lang.org)
今回は小粒?

193:デフォルトの名無しさん
23/03/10 11:19:42.21 Rc7TQThZ0.net
cargoのsparse protocolは嬉しい

194:デフォルトの名無しさん (テテンテンテン MMee-qnN+)
23/03/15 08:26:46.78 L9HRqQqHM.net
Default alloc error handlerはLinus指摘の取り込みかな。

195:デフォルトの名無しさん
23/03/15 10:58:18.74 efRde3jV0.net
Linusの話は、メモリアロケーション失敗時にpanicするなという話だと思うけど、今回の変更とは全く関係ない
今回の変更でalloc crateがalloc_error_handlerのデフォルト実装を提供するようになった
新たに提供されたalloc_error_handlerはpanicする実装になっているので、メモリアロケーション失敗時にpanicになることは変わらない
単に、利用者がalloc_error_handlerを独自に実装する必要がなくなったというだけ
Linusの指摘に対しては、Box::try_newなどのアロケーション失敗を呼び出し元に通知するAPIを用意することで対応している

196:デフォルトの名無しさん
23/03/15 12:35:43.18 i0vzrjRpM.net
>>195
サンクス。
Linusは「単にエラーを返せ」と言っていたから、error handlerじゃ確かに駄目だね。

197:デフォルトの名無しさん
23/03/15 13:35:50.81 jUGp7X9a0.net
Rust製の高速なwebpack互換バンドラ「Rspack」登場。現時点で5倍から10倍の性能向上
URLリンク(www.publickey1.jp)
> Rust製の高速なバンドラとしては、webpackの主要な開発者がNext.jsに入社してwebpackの後継として開発している「Turbopack」もあります。
> 現時点ではまだwebpackが抜きん出た人気を得ていますが、現時点で主要な開発者が抜けてしまったwebpack後継の座を狙った競争が始まったといえそうです。

198:デフォルトの名無しさん
23/03/26 17:12:36.73 EfkiJTmm0.net
>>197
ちょっとスレチ気味だけれど
Turbopack(新調で700倍高速) vs Rspack(互換性維持で5~10倍高速)
webpackからの乗り換えはしばらく様子見

199:デフォルトの名無しさん
23/03/27 08:53:03.64 ZY+RQ7940.net
一度普及したソフトの作者自身が後継プロジェクトを立ち上げてもなぜかうまくいかない法則

200:デフォルトの名無しさん (ワッチョイ 9901-3uzD)
23/03/27 09:40:06.58 AuSpH/AF0.net
Rust遅くね?

201:デフォルトの名無しさん
23/03/27 10:40:29.19 jab4un3HM.net
速度遅くてもウケたプロダクトの動作速度上げたところで
現行をリプレイスする理由にならないからな
それにRustがいかに速かろうと今の時代ネックはIOである可能性が高いし

202:デフォルトの名無しさん
23/03/27 12:01:17.21 eSvQrfce0.net
>>200
詳しく見ていないけど、ロジックにボトルネックがあるのかもね。

203:デフォルトの名無しさん
23/03/27 16:02:39.08 IjV2Ctjk0.net
10倍のオーダーで速度差出るなら性能がリプレース理由になる場合も増えると思うよ
数分かかる処理が数秒で終わると快適さが全然違うだろうし

204:デフォルトの名無しさん
23/03/27 16:27:48.16 Fq2x4U//0.net
>>201
どうせ IO がネックだからってのは昔から言われてることだけど
クラウドサービスを前提にすると事情が違うと聞いたことがある。
レスポンスタイムにあまり差が無かったとしても課金は演算量 (CPU の使用量) に対して
だからなるべく効率的に実行できる言語を使ったほうが安く上がるんだとさ。

205:デフォルトの名無しさん
23/03/27 23:41:07.73 t8oeSgw5a.net
Ruby on Rails 6 では、webpack が標準だったけど、
Rails 7 では、Import Maps で、CDN から直接インポートするように変わった。
脱webpack/node.js
ES2015 に対応していないブラウザ用に、バンドルする方法もある。
バンドラーは、esbuild, rollup, webpackの3つ

206:デフォルトの名無しさん (ワッチョイ a75f-iKPJ)
23/04/17 10:02:11.42 Dh5lk+HW0.net
ドキュメントコメントを reStructuredText で書きたい

207:デフォルトの名無しさん
23/04/24 12:17:06.73 LQT8UQ2a0.net
let-else の else ブロックの中だけ rustfmt 効かなくて設定間違えたかと思ったら
フツーに未対応だった
URLリンク(github.com)

208:デフォルトの名無しさん (ブーイモ MM8e-sjlm)
23/04/24 18:39:33.31 75I/tfQdM.net
let-elseは鬼っ子だから
改行位置決めるのも大変

209:デフォルトの名無しさん (オイコラミネオ MMb5-+3Ti)
23/04/24 18:43:14.72 3hT7+QpVM.net
横から済みませんがが、
Rust で Vec に要素を追加した場合にメモリー不足になったかどうかを検出
するのはどうしたらよいんでしたっけ?

210:デフォルトの名無しさん (ブーイモ MM8e-sjlm)
23/04/24 18:47:43.95 fDr9n68aM.net
try_reserve

211:デフォルトの名無しさん (オイコラミネオ MMb5-+3Ti)
23/04/24 18:53:28.63 3hT7+QpVM.net
>>210
それは予め領域を確保しておく関数で、確保できなかった場合には、
Result<(), TryReserveError>
という戻り値を返す関数と言うことですか?
そして、関数呼び出しの直後に ? を書くと、エラー発生時にそこで
アプリをダウンさせると言うことですか?

212:デフォルトの名無しさん (オイコラミネオ MMb5-+3Ti)
23/04/24 19:00:53.57 3hT7+QpVM.net
>>211
事故レスですが、? 演算子は、x ? と書くと、x の値が Err(y) だったら、
return Err(From::from(y)),
というような動作をする関数のようですね。

213:デフォルトの名無しさん (ブーイモ MM0a-sjlm)
23/04/24 19:01:30.05 ELtZniCQM.net
いろいろ違う
落としたいならpanicさせとけばいい

214:デフォルトの名無しさん (ワッチョイ 1eda-2ihv)
23/04/25 00:44:30.70 hB6+7TeQ0.net
メモリ不足を検出した場合に何をしたいかで適切な対応は変わってくるけど、何をしたいの?

215:デフォルトの名無しさん
23/04/25 01:46:37.95 ICFLZD9/M.net
>>214
メモリー不足の時にメモリー不足である旨のエラーメッセージを出して、
なんらかの自作の処理コードを動かしたいです。

216:デフォルトの名無しさん
23/04/25 01:47:29.28 ICFLZD9/M.net
>>215
なお、Vecに追加する動作を行なった関数の中で処理をしたいです。

217:デフォルトの名無しさん
23/04/25 07:31:37.92 S/F8mIrU0.net
重要:
メモリ不足だからと言ってmallocが失敗するとは限らない

218:デフォルトの名無しさん (ワッチョイ 2a3e-ASru)
23/04/25 09:38:35.21 ug7UW9j70.net
今の Linux カーネルだとアプリケーションからオーバーコミットを無効にすることは出来るようになってるぞ。

219:デフォルトの名無しさん (ワッチョイ 1eda-2ihv)
23/04/25 10:43:39.39 hB6+7TeQ0.net
try_reserveの戻り値がErrだったら処理を実行するだけだよ
この説明で分からないならenumやResult型について勉強した方が良いよ

あとtry_reserveの失敗要因はメモリ不足だけじゃないけど、エラー種別はnightlyじゃないと取得できないみたいね

220:デフォルトの名無しさん
23/04/29 19:47:07.81 OSQfAzE+0.net
RefMut <-> Ref にも Rc <-> Weak みたいな相互変換メソッドがあればいいのに

221:デフォルトの名無しさん (ワッチョイ bfda-qKNM)
23/04/30 04:06:33.86 5bTJo9fJ0.net
>>220
RefCell自体を取り回して必要なところで都度RefやRefMutを作れば良いのでは

222:デフォルトの名無しさん (ワッチョイ 375f-k3Rv)
23/04/30 11:51:12.53 cNEEfLAb0.net
>>221
実際今はそれでやってて、別に問題になるほどじゃないんが、ちょっと無駄だよなあと
Ref/RefMutってあんまりあちこち取り回す用にできてないよね

223:デフォルトの名無しさん (アウアウウー Sa1b-qKNM)
23/04/30 13:58:26.96 ZqZbVcjya.net
>>222
RefやRefMutはMutexのGuardみたいなもんなんだから取り回す範囲は極力狭くするべきなんじゃね

224:デフォルトの名無しさん (ワッチョイ 375f-k3Rv)
23/05/03 20:42:40.07 CZOik0F40.net
Rustにもこんなのあるんか……ええな
URLリンク(zenn.dev)

225:デフォルトの名無しさん (ワッチョイ 335f-awLq)
23/05/19 17:46:12.04 vnYwlZ+00.net
Rust for Linux updates! More pin-init and refactoring! - YouTube
URLリンク(www.youtube.com)

226:デフォルトの名無しさん
23/06/02 02:43:27.18 w12tfZkT0.net
The RustConf Keynote Fiasco, explained
URLリンク(fasterthanli.me)
一連の事件は結局不幸な伝言ゲームの結果だったということだろうか

227:デフォルトの名無しさん
23/06/04 13:53:56.01 xOmzDhxR0.net
以前からCodeLLDBでたまに値がちゃんと表示されないことがあるなーと思ってたら再帰型が原因だったんですね
今ほとんど再帰でできてる部分触ってるせいで困ってる……
dbg!書けばいいだけではあるんだけど泥臭くて嫌だわね
URLリンク(github.com)

228:デフォルトの名無しさん (ワッチョイ d336-IjPS)
23/07/29 22:43:04.08 nwVMjVJQ0.net
いつのまにかrust-specがマージされてる。まだ作業終わってないけど。
URLリンク(github.com)
URLリンク(github.com)
rustにもようやく仕様が。

229:デフォルトの名無しさん (ワッチョイ eada-0btC)
23/07/30 17:17:19.50 9Mwyt07S0.net
これから編集者雇うみたいだからまだまだ時間は掛かりそうだけど、前進だね

230:デフォルトの名無しさん (ワッチョイ 0f5f-4nYy)
23/08/10 03:13:56.19 cXfKj1l90.net
Hugging FaceがPyTorch的なRust製フレームワークを作り始めたらしい
URLリンク(github.com)

231:デフォルトの名無しさん (ワッチョイ 275f-orer)
23/08/16 18:13:46.91 Wd6XOYTc0.net
>> スレリンク(tech板:16番)

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

大人しくrustup使っておけよとしか思わんが一応……

232:デフォルトの名無しさん (ワッチョイ bb36-3sKl)
23/08/16 19:50:14.01 e6GDzmE20.net
githubにrustupのソースコードあるから読めばいいよ。

233:デフォルトの名無しさん (ワッチョイ 8b01-1ZN1)
23/08/16 23:13:21.01 1NDN9ysp0.net
>>231
サンキュ。試してみます

234:デフォルトの名無しさん (ワッチョイ f9a9-75c1)
23/08/22 03:24:00.61 Fec2bVY90.net
おおきに、感謝やで!

235:デフォルトの名無しさん (ワッチョイ d95f-GBSa)
23/08/30 12:04:57.70 LqLNxSZ40.net
Debugを上位トレイトに持たないトレイトのオブジェクトをなんとかしてdbg!する方法は無いもんじゃろか

236:デフォルトの名無しさん (ワッチョイ 3536-8/Q7)
23/08/30 15:40:36.29 lfrnRSB90.net
ない。基本的なトレイトを実装してないのはバグ。

237:デフォルトの名無しさん (ワッチョイ 4ada-0cXD)
23/08/30 20:29:40.52 y+HDByBG0.net
参照をポインタにしてアドレスを表示してみるとか

238:デフォルトの名無しさん (ワッチョイ 4ada-0cXD)
23/08/30 20:30:28.57 y+HDByBG0.net
構造体フィールドの中身を知りたいという事ならAnyを継承させてダウンキャストするかDebugを継承したtraitにするしかないね

239:デフォルトの名無しさん (ワッチョイ b3bc-yE7J)
23/09/12 06:34:45.51 8vWycgZc0.net
アノ店、今日は休みやねんな

240:デフォルトの名無しさん (ワッチョイ 0f36-8z3m)
23/09/21 01:15:23.63 d9SQw4Jt0.net
intellij rustからRustRoverギリギリ燃えてないな。プラグインもIDEAもバグが増えたのが懸念とか言われてるけど。

241:デフォルトの名無しさん (ワッチョイ 0f01-w8tn)
23/09/21 23:43:40.50 2whQHU6y0.net
RustのコンパイルターゲットはTierで分けられているけど
x86_64-pc-windows-msvc ←Tier1
x86_64-unknown-none ←Tier2
この違いって何?
Tier1の条件を見るとすべてのテストに合格すること的な事が書いてあるしプラットフォームが不明の状態でそれは不可能はなず
組み込み向けなどの低レイヤー用途を想定したターゲットにTier1のものはなくすべてTier2以下になっている
もしこれが理由なら自分が書いたコードはTier1と同レベルに翻訳される(実行できなかったり実行結果が不正なコードは生成されない)事が
期待できるけどそう考えて問題ないのだろうか

242:デフォルトの名無しさん (ワッチョイ 3fda-n7kY)
23/09/22 01:00:34.44 J+8eUZUM0.net
>>241
x86_64なら現実的にはほぼ動くとは思う
ただ、あくまでもrust側ではコンパイルが通ることしか確認してなくて、生成されたコードが正しく動作するかは未確認の状態
利用者側が動作確認をきちんとやる必要があるよ

243:デフォルトの名無しさん (ワッチョイ 0f01-w8tn)
23/09/22 02:06:03.04 /khf3L7K0.net
>>242
例えばベアメタル開発用などでOSとインターフェイスしないコードのみほしい場合
x86_64-pc-windows-msvc(x86_64-unknown-linux-gnuとかでも可)でスタティックリンクのライブラリとしてビルドしてカスタムリンク
x86_64-unknown-noneでビルド
の二択だと出力物の信頼性はどちらの方が高いのだろうか。どちらも適切なローダーを用意すれば動作するはず
特に低レイヤーの開発で翻訳不良があるとトラブルシュートが沼りやすいし、前者の方が有利なら
ゴミが付いたりビルドが複雑化するなどのデメリットを考慮しても検討する価値があるはず

244:デフォルトの名無しさん (ワッチョイ 0f36-8z3m)
23/09/22 04:58:40.40 B04DzdQA0.net
より正確には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)
23/09/22 23:10:21.93 /khf3L7K0.net
x86_64-unknown-noneが吐くコードをどのくらい信用して良いのかって話ね
Tier2=十分にテストされていない=不正命令例外を吐いたり意図しない演算結果になる可能性がある
とかだと開発に重大な影響が出るし勘弁してほしい。Tier1のターゲットならそんな可能性は無視できるはずだし

246:デフォルトの名無しさん (ワッチョイ 0ff8-fp56)
23/09/22 23:26:27.84 wn++FXk10.net
テスト云々はlibstdが主なんでは?
そもそもコード生成するのはLLVMなんだし機械語レベルじゃRust側のTierは関係ない気がする

247:デフォルトの名無しさん (ワッチョイ 0f01-w8tn)
23/09/22 23:47:16.64 /khf3L7K0.net
x86_64-unknown-noneがTier2の理由がstdのテストができないからならそれでいいんだけどね
Platform Supportを見ても
>x86_64-unknown-none * Freestanding/bare-metal x86_64, softfloat
としか書いていない。hardfloatが使えない?のはよくわからないが

248:デフォルトの名無しさん (ワッチョイ 0336-3hLy)
23/09/23 01:27:48.45 JOYgBSwC0.net
Tierはrustcのコードベースがビルドできるかどうかの保証であって吐くバイナリの質の保証じゃない。
そもそもrustcはフロントエンドだからどういうバイナリ吐くかは無関係。
tier 1/2の違いは自動テストが常に実行されるかどうかの違いだけ。
全部Platform Supportに書いてあるからこの説明でわからんならどこが理解できないのか言ってくれ。

249:デフォルトの名無しさん (ワッチョイ 5301-3pIy)
23/09/24 21:37:53.69 JmCRMtY30.net
Tier表記がアテにならないならコードの質を比較するにはどうしたらいいんだろ
x86_64とavrが同じ品質、同じ最適化レベルなわけないよな

250:デフォルトの名無しさん (ワッチョイ 0ada-sj2L)
23/09/25 08:27:06.59 gOdfC5Fq0.net
rustに限らずコンパイラの生成コードの品質はアセンブリ見て判断するしかないんじゃね
LLVM IRもプラットフォームごとに差があるのかね?

251:デフォルトの名無しさん
23/11/08 11:25:16.25 QNjJKK3y0.net
Rust製ブラウザエンジンの「Servo」、アプリに組み込み可能なクロスプラットフォーム対応WebView化を目指す。Electron代替を目指す「Tauri」への組み込み実現へ - Publickey
URLリンク(www.publickey1.jp)
期待

252:デフォルトの名無しさん
23/11/13 11:53:03.89 k6bqA1Ku0.net
URLリンク(rust-lang.github.io)
気づいたらポシャっててstd-1.73.0からProvider/Demandも消えてた
やっぱりRTTIとかそういうのはあんまり乗り気じゃないのかな??

253:デフォルトの名無しさん (ワッチョイ e3f0-Krj3)
23/12/28 17:26:22.81 WYblPX1w0.net
RubyのYJITって仕組みはRustで実装されてるんだな
ソース見てビビった

254:デフォルトの名無しさん
23/12/28 19:28:59.59 13cJB/jM0.net
>>253
へぇ、Node.jsもあちこちが遅いからと
ちょこちょこ便利ライブラリの中身がRustに置き換わり始めてるし
今後こういう流れは加速しそうだな

255:デフォルトの名無しさん (ワッチョイ ff3e-XnzH)
23/12/28 21:34:36.48 x05ZB4jI0.net
遅い部分を Rust でなおそうというよりは、
Rust へ置き換わる流れに乗るついでに駄目なところをそろそろなんとかしようぜという感じじゃないかな。
イマイチなのがわかっててもちゃんと動いてるなら何かきっかけがないと重い腰が上がらないのはよくあること。

256:デフォルトの名無しさん
23/12/28 22:12:11.01 WYblPX1w0.net
YJITのコード、相当面白いな
RustでJITしてるよw
マシンコードゴリゴリ生成してる

257:デフォルトの名無しさん (アウアウウー Saa7-9gAl)
23/12/29 18:42:09.07 gLXDegz1a.net
rustってJavaやpythonみたいに爆発的に流行るわけじゃなくてじわじわ広まっていく感じなんだろうな

258:デフォルトの名無しさん
23/12/29 22:02:28.40 iUQmWV32a.net
YJIT、最初はCで実装されてたがRustに変えたみたい
bindgenでCRuby側のAPIをRust側に持ってきて
それを使いながらJITでマシンコード生成してる
面白すぎる
コードもめちゃくちゃ読みやすいぞ

259:デフォルトの名無しさん (ワッチョイ 9701-Hbjn)
24/02/04 19:30:07.17 TI/zzvYY0.net
RustのRTOSはTockがあるけどFreeRTOSやTOPPERS/SSP、μT-Kernelなど既成のRTOSとの比較レビューってある?

260:デフォルトの名無しさん
24/03/22 21:59:30.16 qT4SZAGX0.net
Rust 1.77.0
URLリンク(blog.rust-lang.org)

261:デフォルトの名無しさん (ワッチョイ 9f5f-n+Ch)
24/05/05 01:37:56.22 uZIblCBW0.net
Rust 1.78.0
URLリンク(blog.rust-lang.org)

262:デフォルトの名無しさん
24/05/28 05:50:07.80 2O15FncY0.net
あげとくか

263:デフォルトの名無しさん (アウアウウー Sac5-j0d5)
24/05/28 11:26:44.51 NhejqWbKa.net
>>257
それなりに使われるだろうけど普及はしないよこんな糞言語

264:デフォルトの名無しさん (ワッチョイ a17d-AeJW)
24/05/28 12:40:58.42 62OgaQom0.net
>>263
普及の定義をしようや

265:デフォルトの名無しさん (ワッチョイ d37f-ikRv)
24/05/29 01:14:08.00 stYwN08n0.net
lazy_cellが安定化
URLリンク(github.com)

266:デフォルトの名無しさん
24/06/05 14:11:47.67 nZd9x5hFa.net
>>264
糞言語は定義しなくていいということですか

267:デフォルトの名無しさん (ワッチョイ be29-u9Nc)
24/06/05 15:39:16.16 NzLbLFLA0.net
>>266
糞言語でも神言語でもいいから
普及したかどうか基準を明確になれば良い

268:デフォルトの名無しさん
24/06/06 10:37:20.47 qz5pj6nBa.net
糞言語なのは認めるということですね判ります

269:デフォルトの名無しさん
24/06/06 18:33:54.95 vvc6Sc+M0.net
>>268
プログラミング言語の前に国語勉強しよう

270:デフォルトの名無しさん
24/06/14 00:25:21.51 LVwRqQSd0.net
Rust 1.79.0
URLリンク(blog.rust-lang.org)

271:デフォルトの名無しさん (ワッチョイ 615f-lSh6)
24/07/15 02:00:43.64 S6UfnUI40.net
poloniusって結局何なんだ?

272:デフォルトの名無しさん (ワッチョイ b15f-Ojjn)
24/07/25 23:26:35.53 DJ5WaC5l0.net
Rust 1.80.0
URLリンク(blog.rust-lang.org)

273:デフォルトの名無しさん (ワッチョイ b15f-Ojjn)
24/07/25 23:42:54.21 DJ5WaC5l0.net
Exclusive ranges in patternsの例でこれからは終点と始点に同じconstが使えますって書いてるけど
そもそもstableじゃpatternでconst使えないから微妙に説明不足だなあ

274:デフォルトの名無しさん
24/09/06 13:05:40.28 7lTmc6Nm0.net
Rust 1.81.0
URLリンク(blog.rust-lang.org)

275:デフォルトの名無しさん
24/09/30 19:27:35.34 +nY8jA76j
日本に原爆落とした世界最悪のならず者国家も欧州も災害の連發て゛国民の生命と財産が破壊されまくってるが、日本同様テロリストに政府が
乗っ取られてるとはいえ日本と違って武器はそれなりに入手て゛きるんだから曰本列島縦断して大騒音まき散らしてるエアフランスやら
儿フトハンザやら撃墜してくれよな、日本の場合山上大先生みたいな神がテロリストの首魁蓄財3億圓超の齊藤鉄夫を銃殺するとか
クソ空港た゛の国土破壊省だのJALANÅテロリストの巣窟にガソリン滿載トラック突っ込ませて燃やし尽くす特攻くらいしかテロを止めさせる
方法がないしな、品川あたりなら500M程度だから山上大先生みたいな知的能力者か゛工夫で撃墜できるかもだか゛、それでも憲法ガン無視で
人を殺して私腹を肥やす集団自民公明に國が乗っ取られてる限りテロ根絶は困難、自民公明がケ━ザヰと言えば100%賄賂癒着してる連中が
私腹を肥やす強盜殺人だし災害とは復興需要で儲かるネタなのが自民公明、年10兆円に達した軍拡なんてのも戦争による破壊活動て゛儲かるって
発想た゛しこんなテロ組織が政権続けたらお前ら何もかも失うのは目に見えてるぞ
(ref.] TTps://www.call4.jp/info.ρhp?TyPe=items&id=I0000062
ttps://haneda-projeсt.jimdofree.com/ , tΤps://flighT-rouΤe.com/
ttps://n-souonhigaisosyoudan.amebaownd.сom/

276:デフォルトの名無しさん
24/10/19 03:08:34.71 1NcbI99b0.net
Rust 1.82.0
URLリンク(blog.rust-lang.org)

277:デフォルトの名無しさん
24/11/06 21:10:46.98 Z4pDTKo20.net
>>268
クソ言語ってCとかBASICみたいな奴のこと?

278:デフォルトの名無しさん
24/11/12 00:38:11.01 lS2MxdJo0.net
Rustのインストール,Hello World/Cargo,数当てゲームまで終わったので記念に書き込み
サクラエディタでコード編集したけどIDEは何がいいんだろろ

279:デフォルトの名無しさん
24/11/12 08:37:10.19 DHJyD4K70.net
>>278
VSCode がスタンダードだと思うが LSP が実装されてるエデェタならなんでもいいよ。
公式ページには八つのエディタが第一級サポートありと書かれているのでそのなかから選ぶのが無難。

280:デフォルトの名無しさん
24/11/12 13:14:18.53 69VI/kA50.net
ありがとう
とりあえず公式ページ見てくる
使ったことあるvscodeになりそうだけど

281:デフォルトの名無しさん
24/11/12 17:29:53.97 69VI/kA50.net
Vimがあったけど中々挑戦できないな

282:デフォルトの名無しさん
24/11/14 11:49:51.39 /k0TwQtQM.net
vscodeの良さは、AndroidユーザーがiPhoneの良さを全く理解できないのと
同じくらい、理解できない。

283:デフォルトの名無しさん
24/11/14 19:08:09.69 yxSXUQjo0.net
Calaude aiで生成したコードってそのまま通るのかな

284:デフォルトの名無しさん
24/11/20 13:43:52.49 g9sD9hG/0.net
URLリンク(github.com)
デケえ便利機能が来そうだぜ

285:デフォルトの名無しさん
24/11/20 18:47:48.10 BzSu5ItH0.net
諸刃の剣だな
現状のDerefは抑制的に使われてるけど
Receiverがカジュアルに使えるとどうなるかな

286:デフォルトの名無しさん (ワッチョイ 9f1c-ksDR)
24/11/28 23:19:31.65 e85wFuS80.net
Rust 1.83.0
URLリンク(blog.rust-lang.org)

287:デフォルトの名無しさん
24/11/28 23:55:57.51 JvWPBHtF0.net
アップデートしたらしいけどなんかいい修正ある?

288:デフォルトの名無しさん (ワッチョイ 9fb2-ksDR)
24/11/29 18:38:58.21 kgssLEYJ0.net
const fnの中でできることが増えたくらいで今回地味かも
内部としてはこれでも大仕事なんでしょうが……

289:デフォルトの名無しさん
24/12/03 20:48:46.24 hazgT/ND0.net
なるほど(わかってない)
Hello WorldとHello Cargoまでやったけどこのまま公式のブック?とかいうチュートリアルこなしてくのがええのかな

290:デフォルトの名無しさん
24/12/03 20:50:26.05 hazgT/ND0.net
C/C++のRust置換えはあんまり進まないと思うけどWEBアセンブリといえばRustになれば長く続く言語になるかなと思ってちょっと齧りだしたところ

291:デフォルトの名無しさん
24/12/03 21:20:26.57 0HkaMF/90.net
>>289
もし C とかを知ってるなら Rust のチュートリアルはすぐ終わるし、充分にプログラムは書けるよ。
ただ、上手く書くとなると際限ないからなぁ……

個人的には実際に使いながら標準ライブラリの構成を理解するのが良いと思う。
標準ライブラリは言語の思想がよく現れているので真似すると上手くいきやすい。

292:デフォルトの名無しさん
24/12/03 21:37:32.00 hazgT/ND0.net
Java/JS(jQuery)くらいでC/C++未経験
最近出たRustでブラウザ作ってみるって本よんで環境構築したくらい
とりあえずライブラリ意識しながらチュートリアル(ブック)やってみるわ

293:デフォルトの名無しさん
24/12/03 21:41:48.01 hazgT/ND0.net
ありがとうね

294:デフォルトの名無しさん (ワッチョイ d374-q1xP)
24/12/25 01:38:56.59 HGQro34U0.net
おもしろそう
URLリンク(contextgeneric.dev)

295:デフォルトの名無しさん
24/12/25 07:12:17.10 rU0AIwOo0.net
>>294
コンテクストジェネリックプログラミング(CGP)?
コンテクスト(文脈、背景、経緯、状況
ジェネリック(一般的、包括的

何だろね?

296:デフォルトの名無しさん
25/01/10 16:35:51.47 xLB3XHZu0.net
Futureをラップする型に手動でimpl FutureしてるけどこれはPinのいい勉強になるな

297:デフォルトの名無しさん
25/01/11 02:39:13.55 5YYsPqAa0.net
Rust 1.84.0
URLリンク(blog.rust-lang.org)

298:デフォルトの名無しさん
25/01/27 18:39:55.41 ObwYCp160.net
クロージャとかFutureの具体型をassociated typeに書くためにtypeofが欲しくなってくる今日この頃

299:デフォルトの名無しさん
25/02/21 11:47:12.81 nMjYKkhy0.net
Rust 1.85.0
URLリンク(blog.rust-lang.org)

300:デフォルトの名無しさん
25/02/21 11:50:22.59 nMjYKkhy0.net
AsyncFn traits……だと?

301:デフォルトの名無しさん
25/03/11 21:55:00.20 XukmSTfwg
渋谷て゛地球温暖化を考えてもらう催しとかやってるWWFって茶番団体にはアホしかいないのかな
その直上で低空テ□やってるJALだのANAだのクソアヰ又ト゛ゥた゛のクサイマ一クだのコ゛キブリフライヤ━た゛のテ□リストが上空から都心観光とか
知的障害者を楽しませるために海に囲まれた曰本て゛わざわさ゛迂回してて゛も陸域飛ばしまくって鉄道の30倍を遙かに超える莫大な温室効果ガス
まき散らして騷音で窓も開けられず工アコンカ゛ンガン、スパヰラ儿的に氣温上昇させてその上昇氣流からケ゛リラ豪雨、海水温上昇,台風連発
土砂崩れ.洪水,暴風.熱中症にと住民の生命と財産を破壞しまくってる史上最悪のテ囗リス├について啓蒙して集団でクソ羽田や霞か゛関を
襲撃に行く催しすらせずに夏の風物詩だの笑わせんのもいい加減にしとけや人騙して寄付させて金儲けして税金も払わないクソ利権団体
この手の魑魅魍魎と゛もや皆殺しにされるべき國土破壊省た゛のか゛静音が生命線の知的産業を壞滅させてカ゛ヰジンか゛作ったスパイまみれのゴミを
何とか使えるだけの無能を工ンシ゛二アと呼ぶポンコツ腐敗後進国に陥れて國際竸争カ失わせてシステム障害に情報漏洩まみれにした根源な
(ref.) URLリンク(www.call4.jp)
URLリンク(haneda-project.jimdofree.com) , URLリンク(flight-route.com)
URLリンク(n-souonhigaisosyoudan.amebaownd.com)

302:デフォルトの名無しさん
25/04/04 07:44:17.17 coTIOcpx0.net
このスレでRustの普通の雑談(trait bound以外の話)をしたい

303:デフォルトの名無しさん
25/04/04 18:47:23.46 uFTmKMED0.net
じゃあこれでも眺めてみようか
URLリンク(aznhe21.hatenablo)g.com/entry/2025/04/04/rust-1.86

304:デフォルトの名無しさん
25/09/03 11:19:30.68 GIKp/YM/H.net
rustc_codegen_gccでクロスコンパイル環境を構築する解説とかありますか?
rustc_codegen_gccとgccとの繋がりとかも含めて解説されていると助かります


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch