Rust part27 (403レス)
1-

84: 2024/12/07(土)19:21 ID:8M4lSePd(1) AAS
>>83
それによって新たにできるようになることや新たに生じるメリットは何?
85: 2024/12/07(土)21:52 ID:MlZHBv1+(5/5) AAS
C++でもRustでも変わらないメリットはcloneとdropをしなくてすむことだが

そういえば、Rust固有のメリットは'aが出てこないことと
'staticも出てこないことだな
86: 2024/12/08(日)15:04 ID:vgRddWB1(1) AAS
全然話変わるんだけどPinky Crush新曲のlowercase lifetimeってRust関係あるのかな
87: 2024/12/08(日)22:46 ID:y6R7+MXT(1) AAS
>>61
mutでないiterも出来なくて困ってるとのことなので
スライスのiter()と同じものがLendingIteratorを使わずに書けるよ

struct MyIter<'a, T>(&'a [T]);

fn my_iter<'a, T>(slice: &'a [T]) -> MyIter<'a, T> {
MyIter(slice)
}

impl<'a, T> std::iter::Iterator for MyIter<'a, T> {
type Item = &'a T;
fn next(&mut self) -> Option<Self::Item> {
省15
88
(2): 2024/12/09(月)08:04 ID:kf5GINDJ(1/2) AAS
組み込みFW屋さんなんだけどRustやってみようかな…
組み込み屋視点でRustはC++の何を解決してると思う?
組み込み屋なんて古いシステムばかりだからすぐに取って代わることは無いとは思うけど
年々複雑な製品を求められるから選択肢としては持っておきたい
89: 2024/12/09(月)09:11 ID:bWuDC7pJ(1/2) AAS
zulip行けば?
ここにはカスしかおらん
90
(1): 2024/12/09(月)09:29 ID:1L49Pn1/(1) AAS
>>88
ダングリング参照を発見出来るだけ……とは言えそれが重要ではあるのだけど。
C++ は結局は人が気を付けなきゃならないことだらけで、複雑になると手におえない。
知ってることでも複雑に絡み合った状況では間違う。
C++ よりは機械的に検証可能な範囲を広げてるだけでもありがたいものだよ。
91: 2024/12/09(月)09:59 ID:kf5GINDJ(2/2) AAS
>>90
え?マジ?
俄然興味湧いてきた
さっさと定時で帰って環境整えるか
92
(1): 2024/12/09(月)10:35 ID:URePCLgA(1) AAS
ビット幅気にするようなケースだと
数値型の暗黙の型変換がないとか演算時のオーバーフローの扱いを明示的に書けるとかが結構ありがたい
93: 2024/12/09(月)13:24 ID:wWCmXoxS(1) AAS
科学 + 5ch

【AI】AIはわずか2時間の対話で人間の性格をコピーできる [すらいむ★]
2chスレ:scienceplus

コメントに面白いことが書かれている
94: 2024/12/09(月)13:32 ID:elhM3R9g(1) AAS
>>92
たしかに基礎的なことではあるがC/C++ではうっかり数値型の自動キャストでハマることもあるし
何よりも未定義動作が多くてこれも沼にハマる原因だな
それらを無くしたRustは賢明だ
95: 2024/12/09(月)13:59 ID:uh4vUAM3(1) AAS
釣れますか?
96: 2024/12/09(月)20:25 ID:MZPPSq7i(1) AAS
struct RefMutex<'a, T>(&'a Mutex<T>);
impl<'a, T> Iterator for RefMutex<'a, T> {
type Item = std::sync::MutexGuard<'a, T>;
//略
}

try_lockが失敗したらループが止まります
マルチスレッドならランダムに止まります 知らんけど
97: 2024/12/09(月)20:57 ID:bWuDC7pJ(2/2) AAS
FnMut() -> Option<T>っぽいあらゆる処理を全部Iterator化しようという気概を感じるな

近寄らんとこ
98: 2024/12/09(月)22:22 ID:FjJr0oeZ(1) AAS
イテレータが勝手にループすることはない
ループするよう別途コードを書かなければならない
Option<T>を返す関数をfとすると
while let Some(x) = f() { ... } で十分である
つまりイテレータ実装する意味がない
イテレータメソッドに繋げたい!という反論もあろう
それなら std::iter::from_fn(f) で十分である
99: 2024/12/10(火)01:03 ID:EhFU+3MS(1) AAS
Iteratorの話は、lifetimeの棍棒で殴られたという文脈で出てきただけだな

構造体のメンバーが&'a Mutex<T>なら
reborrowではなくmoveで取得した値に対しderef_mutが使える
moveなら殴られない
100: 2024/12/10(火)12:58 ID:maUGvQsb(1) AAS
>>88
c++使ってる組み込みって組み込みLinuxとかじゃねーの?
あんまり組み込み特有の制限ないだろ
好きに組めや
101: 2024/12/11(水)12:00 ID:FLapvbLS(1) AAS
これはポリシーというか戦略が違ってて、「今より少しでも改善するなら採用」だからじゃないかと
従来型の「最低限のクオリティに達するまではreject」へのアンチテーゼでもあるから
そして(文句あるかもしれんが)crates開発者は元々のエンジニアの質がそこそこ高かったからそれでも何とかなったものの、
同じ事をGitでやったからあの「ぼくがおもいついたすごいcrates」の山になったのだと思う
交通整理すらやる気無かったわけだ

とはいえ、「使われなくなったcratesは、いつしか動かなくなった事すら認識されなくなり、死んでいく」という、
Gitコマンド内でのライフゲームをやるつもりなら、ありなんだろうさ
102
(1): 2024/12/12(木)23:08 ID:qS1eLhOO(1) AAS
C/C++からRustへ:Googleが示すファームウェア進化の道筋
外部リンク:xenospectrum.com
103: 2024/12/14(土)11:03 ID:mSSbYcoF(1) AAS
読み終わった

>>102
具体的なアプローチは以下の通りである:
(1) 段階的なRust導入:
 略
(2) 既存のCコードベースとの統合:
 略
(3) ベアメタル環境への対応:
 略
(4) ビルド最適化とパフォーマンスの考慮:
省1
1-
あと 300 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.007s