プログラミング言語 Rust 4【ワッチョイ】

1デフォルトの名無しさん (ワッチョイ 83b3-KDL3)
垢版 |
2017/12/24(日) 18:27:01.98ID:EGydBhQv0
Mozilla発のプログラミング言語「Rust」のスレです

■公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust

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

■派生元スレ
プログラミング言語 Rust 4
https://mevius.5ch.net/test/read.cgi/tech/1507970294/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2023/04/30(日) 11:51:12.53ID:cNEEfLAb0
>>221
実際今はそれでやってて、別に問題になるほどじゃないんが、ちょっと無駄だよなあと
Ref/RefMutってあんまりあちこち取り回す用にできてないよね
2023/04/30(日) 13:58:26.96ID:ZqZbVcjya
>>222
RefやRefMutはMutexのGuardみたいなもんなんだから取り回す範囲は極力狭くするべきなんじゃね
2023/05/03(水) 20:42:40.07ID:CZOik0F40
Rustにもこんなのあるんか……ええな
https://zenn.dev/kk/articles/20230213_creusot_intro
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
2023/06/02(金) 02:43:27.18ID:w12tfZkT0
The RustConf Keynote Fiasco, explained
https://fasterthanli.me/articles/the-rustconf-keynote-fiasco-explained

一連の事件は結局不幸な伝言ゲームの結果だったということだろうか
2023/06/04(日) 13:53:56.01ID:xOmzDhxR0
以前からCodeLLDBでたまに値がちゃんと表示されないことがあるなーと思ってたら再帰型が原因だったんですね
今ほとんど再帰でできてる部分触ってるせいで困ってる……
dbg!書けばいいだけではあるんだけど泥臭くて嫌だわね
https://github.com/vadimcn/codelldb/issues/605
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にもようやく仕様が。
2023/07/30(日) 17:17:19.50ID:9Mwyt07S0
これから編集者雇うみたいだからまだまだ時間は掛かりそうだけど、前進だね
2023/08/10(木) 03:13:56.19ID:cXfKj1l90
Hugging FaceがPyTorch的なRust製フレームワークを作り始めたらしい
https://github.com/huggingface/candle
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使っておけよとしか思わんが一応……
2023/08/16(水) 19:50:14.01ID:e6GDzmE20
githubにrustupのソースコードあるから読めばいいよ。
2023/08/16(水) 23:13:21.01ID:1NDN9ysp0
>>231
サンキュ。試してみます
2023/08/22(火) 03:24:00.61ID:Fec2bVY90
おおきに、感謝やで!
2023/08/30(水) 12:04:57.70ID:LqLNxSZ40
Debugを上位トレイトに持たないトレイトのオブジェクトをなんとかしてdbg!する方法は無いもんじゃろか
2023/08/30(水) 15:40:36.29ID:lfrnRSB90
ない。基本的なトレイトを実装してないのはバグ。
2023/08/30(水) 20:29:40.52ID:y+HDByBG0
参照をポインタにしてアドレスを表示してみるとか
2023/08/30(水) 20:30:28.57ID:y+HDByBG0
構造体フィールドの中身を知りたいという事ならAnyを継承させてダウンキャストするかDebugを継承したtraitにするしかないね
2023/09/12(火) 06:34:45.51ID:8vWycgZc0
アノ店、今日は休みやねんな
2023/09/21(木) 01:15:23.63ID:d9SQw4Jt0
intellij rustからRustRoverギリギリ燃えてないな。プラグインもIDEAもバグが増えたのが懸念とか言われてるけど。
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と同レベルに翻訳される(実行できなかったり実行結果が不正なコードは生成されない)事が
期待できるけどそう考えて問題ないのだろうか
2023/09/22(金) 01:00:34.44ID:J+8eUZUM0
>>241
x86_64なら現実的にはほぼ動くとは思う
ただ、あくまでもrust側ではコンパイルが通ることしか確認してなくて、生成されたコードが正しく動作するかは未確認の状態
利用者側が動作確認をきちんとやる必要があるよ
2023/09/22(金) 02:06:03.04ID:/khf3L7K0
>>242
例えばベアメタル開発用などでOSとインターフェイスしないコードのみほしい場合
x86_64-pc-windows-msvc(x86_64-unknown-linux-gnuとかでも可)でスタティックリンクのライブラリとしてビルドしてカスタムリンク
x86_64-unknown-noneでビルド
の二択だと出力物の信頼性はどちらの方が高いのだろうか。どちらも適切なローダーを用意すれば動作するはず
特に低レイヤーの開発で翻訳不良があるとトラブルシュートが沼りやすいし、前者の方が有利なら
ゴミが付いたりビルドが複雑化するなどのデメリットを考慮しても検討する価値があるはず
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。
2023/09/22(金) 23:10:21.93ID:/khf3L7K0
x86_64-unknown-noneが吐くコードをどのくらい信用して良いのかって話ね
Tier2=十分にテストされていない=不正命令例外を吐いたり意図しない演算結果になる可能性がある
とかだと開発に重大な影響が出るし勘弁してほしい。Tier1のターゲットならそんな可能性は無視できるはずだし
2023/09/22(金) 23:26:27.84ID:wn++FXk10
テスト云々はlibstdが主なんでは?
そもそもコード生成するのはLLVMなんだし機械語レベルじゃRust側のTierは関係ない気がする
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が使えない?のはよくわからないが
2023/09/23(土) 01:27:48.45ID:JOYgBSwC0
Tierはrustcのコードベースがビルドできるかどうかの保証であって吐くバイナリの質の保証じゃない。
そもそもrustcはフロントエンドだからどういうバイナリ吐くかは無関係。
tier 1/2の違いは自動テストが常に実行されるかどうかの違いだけ。

全部Platform Supportに書いてあるからこの説明でわからんならどこが理解できないのか言ってくれ。
2023/09/24(日) 21:37:53.69ID:JmCRMtY30
Tier表記がアテにならないならコードの質を比較するにはどうしたらいいんだろ
x86_64とavrが同じ品質、同じ最適化レベルなわけないよな
2023/09/25(月) 08:27:06.59ID:gOdfC5Fq0
rustに限らずコンパイラの生成コードの品質はアセンブリ見て判断するしかないんじゃね
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

期待
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とかそういうのはあんまり乗り気じゃないのかな??
2023/12/28(木) 17:26:22.81ID:WYblPX1w0
RubyのYJITって仕組みはRustで実装されてるんだな
ソース見てビビった
2023/12/28(木) 19:28:59.59ID:13cJB/jM0
>>253
へぇ、Node.jsもあちこちが遅いからと
ちょこちょこ便利ライブラリの中身がRustに置き換わり始めてるし
今後こういう流れは加速しそうだな
2023/12/28(木) 21:34:36.48ID:x05ZB4jI0
遅い部分を Rust でなおそうというよりは、
Rust へ置き換わる流れに乗るついでに駄目なところをそろそろなんとかしようぜという感じじゃないかな。
イマイチなのがわかっててもちゃんと動いてるなら何かきっかけがないと重い腰が上がらないのはよくあること。
2023/12/28(木) 22:12:11.01ID:WYblPX1w0
YJITのコード、相当面白いな
RustでJITしてるよw
マシンコードゴリゴリ生成してる
2023/12/29(金) 18:42:09.07ID:gLXDegz1a
rustってJavaやpythonみたいに爆発的に流行るわけじゃなくてじわじわ広まっていく感じなんだろうな
2023/12/29(金) 22:02:28.40ID:iUQmWV32a
YJIT、最初はCで実装されてたがRustに変えたみたい
bindgenでCRuby側のAPIをRust側に持ってきて
それを使いながらJITでマシンコード生成してる
面白すぎる
コードもめちゃくちゃ読みやすいぞ
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:qT4SZAGX0
Rust 1.77.0
https://blog.rust-lang.org/2024/03/21/Rust-1.77.0.html
261デフォルトの名無しさん (ワッチョイ 9f5f-n+Ch)
垢版 |
2024/05/05(日) 01:37:56.22ID:uZIblCBW0
Rust 1.78.0
https://blog.rust-lang.org/2024/05/02/Rust-1.78.0.html
262デフォルトの名無しさん (ワッチョイ 137c-fr5k)
垢版 |
2024/05/28(火) 05:50:07.80ID:2O15FncY0
あげとくか
263デフォルトの名無しさん (アウアウウー Sac5-j0d5)
垢版 |
2024/05/28(火) 11:26:44.51ID:NhejqWbKa
>>257
それなりに使われるだろうけど普及はしないよこんな糞言語
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
2024/06/05(水) 14:11:47.67ID:nZd9x5hFa
>>264
糞言語は定義しなくていいということですか
2024/06/05(水) 15:39:16.16ID:NzLbLFLA0
>>266
糞言語でも神言語でもいいから
普及したかどうか基準を明確になれば良い
2024/06/06(木) 10:37:20.47ID:qz5pj6nBa
糞言語なのは認めるということですね判ります
2024/06/06(木) 18:33:54.95ID:vvc6Sc+M0
>>268
プログラミング言語の前に国語勉強しよう
270デフォルトの名無しさん (ワッチョイ 7fce-xov0)
垢版 |
2024/06/14(金) 00:25:21.51ID:LVwRqQSd0
Rust 1.79.0
https://blog.rust-lang.org/2024/06/13/Rust-1.79.0.html
271デフォルトの名無しさん (ワッチョイ 615f-lSh6)
垢版 |
2024/07/15(月) 02:00:43.64ID:S6UfnUI40
poloniusって結局何なんだ?
272デフォルトの名無しさん (ワッチョイ b15f-Ojjn)
垢版 |
2024/07/25(木) 23:26:35.53ID:DJ5WaC5l0
Rust 1.80.0
https://blog.rust-lang.org/2024/07/25/Rust-1.80.0.html
273デフォルトの名無しさん (ワッチョイ b15f-Ojjn)
垢版 |
2024/07/25(木) 23:42:54.21ID:DJ5WaC5l0
Exclusive ranges in patternsの例でこれからは終点と始点に同じconstが使えますって書いてるけど
そもそもstableじゃpatternでconst使えないから微妙に説明不足だなあ
2024/09/06(金) 13:05:40.28ID:7lTmc6Nm0
Rust 1.81.0
https://blog.rust-lang.org/2024/09/05/Rust-1.81.0.html
275デフォルトの名無しさん (ワッチョイ bb5f-RyhN)
垢版 |
2024/10/19(土) 03:08:34.71ID:1NcbI99b0
Rust 1.82.0
https://blog.rust-lang.org/2024/10/17/Rust-1.82.0.html
276デフォルトの名無しさん (ワッチョイ b1bd-Q1tn)
垢版 |
2024/11/06(水) 21:10:46.98ID:Z4pDTKo20
>>268
クソ言語ってCとかBASICみたいな奴のこと?
2024/11/12(火) 00:38:11.01ID:lS2MxdJo0
Rustのインストール,Hello World/Cargo,数当てゲームまで終わったので記念に書き込み
サクラエディタでコード編集したけどIDEは何がいいんだろろ
2024/11/12(火) 08:37:10.19ID:DHJyD4K70
>>277
VSCode がスタンダードだと思うが LSP が実装されてるエデェタならなんでもいいよ。
公式ページには八つのエディタが第一級サポートありと書かれているのでそのなかから選ぶのが無難。
2024/11/12(火) 13:14:18.53ID:69VI/kA50
ありがとう
とりあえず公式ページ見てくる
使ったことあるvscodeになりそうだけど
2024/11/12(火) 17:29:53.97ID:69VI/kA50
Vimがあったけど中々挑戦できないな
2024/11/14(木) 11:49:51.39ID:/k0TwQtQM
vscodeの良さは、AndroidユーザーがiPhoneの良さを全く理解できないのと
同じくらい、理解できない。
282デフォルトの名無しさん (ワッチョイ 15bd-4Bi2)
垢版 |
2024/11/14(木) 19:08:09.69ID:yxSXUQjo0
Calaude aiで生成したコードってそのまま通るのかな
2024/11/20(水) 13:43:52.49ID:g9sD9hG/0
https://github.com/rust-lang/rust/issues/44874
デケえ便利機能が来そうだぜ
2024/11/20(水) 18:47:48.10ID:BzSu5ItH0
諸刃の剣だな
現状のDerefは抑制的に使われてるけど
Receiverがカジュアルに使えるとどうなるかな
2024/11/28(木) 23:19:31.65ID:e85wFuS80
Rust 1.83.0
https://blog.rust-lang.org/2024/11/28/Rust-1.83.0.html
2024/11/28(木) 23:55:57.51ID:JvWPBHtF0
アップデートしたらしいけどなんかいい修正ある?
2024/11/29(金) 18:38:58.21ID:kgssLEYJ0
const fnの中でできることが増えたくらいで今回地味かも
内部としてはこれでも大仕事なんでしょうが……
2024/12/03(火) 20:48:46.24ID:hazgT/ND0
なるほど(わかってない)
Hello WorldとHello Cargoまでやったけどこのまま公式のブック?とかいうチュートリアルこなしてくのがええのかな
2024/12/03(火) 20:50:26.05ID:hazgT/ND0
C/C++のRust置換えはあんまり進まないと思うけどWEBアセンブリといえばRustになれば長く続く言語になるかなと思ってちょっと齧りだしたところ
2024/12/03(火) 21:20:26.57ID:0HkaMF/90
>>288
もし C とかを知ってるなら Rust のチュートリアルはすぐ終わるし、充分にプログラムは書けるよ。
ただ、上手く書くとなると際限ないからなぁ……

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

何だろね?
2025/01/10(金) 16:35:51.47ID:xLB3XHZu0
Futureをラップする型に手動でimpl FutureしてるけどこれはPinのいい勉強になるな
2025/01/11(土) 02:39:13.55ID:5YYsPqAa0
Rust 1.84.0
https://blog.rust-lang.org/2025/01/09/Rust-1.84.0.html
2025/01/27(月) 18:39:55.41ID:ObwYCp160
クロージャとかFutureの具体型をassociated typeに書くためにtypeofが欲しくなってくる今日この頃
2025/02/21(金) 11:47:12.81ID:nMjYKkhy0
Rust 1.85.0
https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html
2025/02/21(金) 11:50:22.59ID:nMjYKkhy0
AsyncFn traits……だと?
300デフォルトの名無しさん (ワッチョイ 7f9d-XqbG)
垢版 |
2025/04/04(金) 07:44:17.17ID:coTIOcpx0
このスレでRustの普通の雑談(trait bound以外の話)をしたい
2025/04/04(金) 18:47:23.46ID:uFTmKMED0
じゃあこれでも眺めてみようか
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との繋がりとかも含めて解説されていると助かります
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況