Rust part13

■ このスレッドは過去ログ倉庫に格納されています
2021/11/07(日) 10:04:59.35ID:pJhT3MIE
公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust

Web上の実行環境
https://play.rust-lang.org

日本語の情報
https://rust-jp.rs/

※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/

※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/

※C++との比較は専用スレへ
C++ vs Rust
https://mevius.5ch.net/test/read.cgi/tech/1619219089/

※次スレは原則>>980が立てること

前スレ
Rust part12
https://mevius.5ch.net/test/read.cgi/tech/1629813327/
2022/02/03(木) 23:17:16.89ID:VxNIdQ9k
Craterについて教えてください
2022/02/04(金) 00:50:00.86ID:Ueb60Gjp
>>718
もしかしてThe Bookの勝手訳の質と比べてる?
2022/02/04(金) 21:15:13.65ID:fCF+Tqbd
>>720
勝手訳というのがなにを指すのか不明だけどオリジナルのThe Bookからリンクされている日本語訳のことであればそれと比べている
2022/02/04(金) 21:21:32.40ID:b3SZZj/4
そんなのを見るのは極初期だけで些細な話
その後はdoc.rust-lang.orgとdocs.rsしか見ないのだから
2022/02/05(土) 13:22:14.88ID:XET6D0Ck
その極初期の人が見る和訳の質の話をしてるんだろ
2022/02/05(土) 14:41:30.63ID:e42LAXmg
あれは害悪レベルの訳だから初期でも見ない方がいいよ
ここでよくおかしなレスしてる人もあれの影響なんじゃないか?
2022/02/05(土) 15:12:20.92ID:WBcMnxrA
どうせ>>722のドキュメント見ないと先へ進めないしほとんどは中学生でもわかる平易な英語
日本語訳の質にこだわるような低レベルのやつはほっとけばいい
2022/02/05(土) 15:52:33.91ID:2hiBx8fY
Mistake 2 : Dive in without looking at the book
2022/02/05(土) 15:59:05.92ID:WBcMnxrA
>>726
まさにそれで最初は日本語訳でもいいがその後にthe bookを直接見るべき
そしてどの英単語でどう表現されているかを掴めば日本語訳がどうかに関わらず先へ進める
2022/02/05(土) 16:02:12.98ID:2hiBx8fY
>>727
言ってること変わってますけど
2022/02/05(土) 16:03:52.79ID:WBcMnxrA
一貫してるぞ
日本語訳の質にこだわるような低レベルのやつはほっとけばいい
これしか主張していない
2022/02/05(土) 16:09:07.88ID:2hiBx8fY
そこ以外の文章はポエムか何かだったの?
2022/02/05(土) 16:22:12.93ID:XET6D0Ck
じゃあ和訳の質を話題にしている低レベルの人同士の会話はほっとけばいいのにw
2022/02/05(土) 17:02:52.76ID:VkrSTqtm
日本語イラネ言っている人は技術資料が英語でも
日本語でも生産性が変わらない人なんだよね?
アメリカの仕事でもした方が稼げるんじゃない?
2022/02/05(土) 17:05:29.47ID:nog/R4+C
和訳の質にこだわってる人たちも唯一役に立つチャンスがあるよ
それは和訳の改善案を提案して質の向上に貢献すること
しかし和訳の質にこだわってるここの人たちは批判だけで提案がないから残念な人たち
2022/02/05(土) 17:15:34.64ID:9gZgvarh
和訳の質にこだわっている人たちの質にこだわっている人は何の役にたつの?
2022/02/05(土) 17:36:04.99ID:XET6D0Ck
どこの食堂が美味いか話しているところに割り込んで、
不味い方を立て直してこいと言うくらいナンセンス。
2022/02/05(土) 17:36:55.75ID:Z82/7dFa
>>725
その結果、所有権を複製しちゃったんでしょw
2022/02/05(土) 17:58:18.58ID:oHTbhGZf
とはいえ元の話は
無料の炊き出しがレストランより不味い
みたいな話なのでそりゃそうだろうとしか
誰もがオライリーを気軽に買えるわけでもないし
それぞれ意味はあるだろう
2022/02/05(土) 18:14:45.46ID:9gZgvarh
ざんねんながら悪文どころか誤訳だらけで無料の炊き出しよりひどいのがままあるのが技術書の世界
2022/02/05(土) 18:19:44.18ID:nog/R4+C
>>738
誤訳だと言うなら改善案を提案して質の向上に貢献するのがいいよ
それができないなら単なるイチャモン付けるだけの残念な人
2022/02/05(土) 18:40:50.96ID:SfaxLljQ
クソ不味い飯屋にわざわざ改善案を提案するやつww
「批判するなら対案出せ」と同じアホ理論www
2022/02/05(土) 18:44:43.09ID:NEwj3nV7
両立するよ。
改善に取り組みつつ現時点では良くないところもある (信頼しすぎるな) と初心者に警告するのは何も矛盾しない。
2022/02/05(土) 18:55:08.74ID:RA3mCqKO
>>741
>両立するよ。
何と何が両立するの?
2022/02/05(土) 19:15:32.20ID:9gZgvarh
>>739
ではイチャモン付けるだけの残念じゃない君が俺の代わりに改善案を提案しておいてくれ
2022/02/05(土) 19:38:56.71ID:nog/R4+C
>>743
自分は現状の和訳で問題ない派
そんな些細なことよりも和訳だけでなく原文も併用した方がよく
その後は原文だけの世界なのだから
2022/02/05(土) 19:43:44.48ID:9gZgvarh
なんだ、日本語が読めない人だったか
2022/02/05(土) 19:50:42.02ID:WBcMnxrA
日本語訳の質にこだわるような低レベルのやつはその先へ行けないため日本語訳にこだわる
2022/02/05(土) 21:53:27.09ID:tUU0u0u/
複製おじさんが言っても説得力ゼロ
2022/02/05(土) 22:32:09.49ID:nog/R4+C
和訳にイチャモン付けるだけの残念な人は「複製おじさん」を連呼する人でしたか
2022/02/06(日) 10:19:03.76ID:rpYaxfPG
>>543からの流れを見ると確かに複製おじさんは英語読めないっぽいが
Copyを「所有権の複製」と思い込むのは日本語訳の質が原因ではない気がする
2022/02/06(日) 21:49:38.13ID:iA9Wv++J
そんな超初心者入門のところでもめてるのかね
trait Copyを実装している型は複製されて、実装していなかったら移動となるだけだぞ
所有権は難しくない
2022/02/06(日) 21:58:58.41ID:nXnmaz3p
>>750
何が複製されて
何が移動するのかな?
2022/02/06(日) 22:11:28.10ID:BkoYcqr9
>>489 の文章が間違ってる、いやおかしくない、って揉めてただけだよ
まあ気付けば普通はおかしいと思うんだけど
2022/02/06(日) 22:13:32.98ID:iA9Wv++J
>>751
所有権
Copy実装型は常に所有権が分岐する
2022/02/06(日) 22:39:23.39ID:JXWBQEX4
>>753
複製(copy)と分岐(branching)は全く違う意味だけどCopy実装型だと所有権が複製されつつ常に分岐する??
どういう意味?
2022/02/06(日) 22:43:41.39ID:iA9Wv++J
>>754
初期状態は全く同じ
つまり複製されて分岐する
それ以降は異なりうる
2022/02/06(日) 22:57:43.95ID:VdsOdvUM
Rustの所有権というのは権利というよりも所有しているリソースの解放義務を指している
複製できたら所有権管理の意味がない
分岐はもっと意味不明
2022/02/06(日) 22:59:53.55ID:9tkt2bmo
489から始まった議論をまたやり直すの?
2022/02/06(日) 23:01:30.97ID:s1W7Zv37
複製おじさんが分岐して所有権分岐おじさんにw
2022/02/06(日) 23:04:45.50ID:iA9Wv++J
>>756
複製され分岐するため
リソース解放義務はそれぞれに生じる
2022/02/06(日) 23:09:58.47ID:Woj/yg4T
>>759
複製おじさん、嘘ついちゃダメだよ
詳しくはdoc.rust-lang.orgとdocs.rs見てねw
2022/02/06(日) 23:26:57.07ID:kRmD/jh4
複製おじさん連呼する人は、もちっと具体的に指摘してくれるとありがたいんだが。
2022/02/06(日) 23:31:49.27ID:iA9Wv++J
嘘ではない
もちろんCopy実装型の時点でヒープは使われないので解放といってもスタッフ上のみだから実質何も行われない
そのためデストラクタも容認されていない
その観点からCopy実装型は所有権がないと主張する人もいるくらいだ
2022/02/06(日) 23:59:50.68ID:fxuI+J0l
>>761
おじさんを連呼してる人はスレを荒らしているだけのクズ
説明や代案や根拠などを語れない
2022/02/07(月) 00:00:24.28ID:eBqtDcmM
>>762
何も行われないのに複製されて分岐してそれ以降は異なりうるってどういうことだよ

矛盾だらけ
2022/02/07(月) 00:09:06.68ID:sOY0eIf2
>>761,763
複製おじさん得意の自演乙www
嘘つきは分岐の始まり
2022/02/07(月) 00:19:43.65ID:+QREW3s6
> そんな超初心者入門のところでもめてるのかね
> 所有権は難しくない

【超初心者向け所有権の説明】
Copy実装型は所有権が複製されて分岐してそれ以降は異なりうる

難しくないw
2022/02/07(月) 00:23:15.30ID:A0JQeUWh
>>764
この件は有名な話でRustコンパイラのサボり。
Copy型は複製分岐されて各々がdropされるのが正しいけど、スタック変数のみだからそれをサボっている。
つまり現在のコンパイラ実装は正しくなくて、dropしちゃうとサボりのせいでメモリunsafetyを引き起こす可能性がある。
だからCopy型はDropを現状では許していないという話。
rustc --explain E0184 を見てね。
2022/02/07(月) 01:29:41.70ID:6Fl/+EdH
>>767
なんか仕様と実装を混ぜて話してるけどなんで?
普通、仕様にそって実装がされるはずだけど、(この部分に関しては)実装に仕様が引きずられてるってこと?
それとも仕様通りではないってこと?
2022/02/07(月) 08:04:57.91ID:cIffYd5J
>>725
順調に滅びの道を歩んでいるな。
2022/02/07(月) 12:36:41.09ID:E3rdzbcC
将来実現されるであろうあるべき仕様が実装の都合で実現できていないから、それと矛盾しない範囲に仕様の範囲を制限した、という理解で良い?
2022/02/07(月) 13:38:44.35ID:ZeQEvlq1
>Copy型は複製分岐されて各々がdropされるのが正しいけど、スタック変数のみだからそれをサボっている。

まーた勝手な思い込みの妄想で嘘垂れ流してる
いい加減にしろ
2022/02/07(月) 18:29:28.92ID:lRQrpp2a
>>767
それ1.0以前の話で今とは実装も前提も全く違うからエラーメッセージ修正したほうがいいやつ

もし仮にDropかつCopyな型が実装できるようになったとしても所有権は複製されないから
2022/02/07(月) 21:58:52.41ID:pvg7UzFi
>>768
「currently disallowed」「current implementation is incorrect」「disabled for now」と強調されてるように、
あくまでも現在の実装は本来とは異なり正しくなくて、問題を引き起こすために、CopyとDropの両立を現時点では禁止してる。
理論的にはCopy型は複製分岐されて各々がdropされる形が正しくてCopyとDropの共存が可能。
この暫定的な実装に引きずられた暫定的な仕様が、将来は正される可能性も残す表現となっている。
両立禁止で実害が出てないため優先順位は低いと思われるが、もし将来に共存可能になったとしても後方互換性は生じない。

>>772
最新のエラーメッセージで合っている。
https://github.com/rust-lang/rust/blob/master/compiler/rustc_error_codes/src/error_codes/E0184.md
Latest commit 9e5f7d5 on 28 Aug 2020
2022/02/07(月) 22:27:06.61ID:zI1SZbAO
>>773
>理論的にはCopy型は複製分岐されて各々がdropされる形が正しくて
複製分岐されるのが正しいという根拠は?
2022/02/07(月) 22:38:57.39ID:pvg7UzFi
>>774
Copyなので複製分岐されるのは当たり前。
今はそこが論点ではなくて、複製分岐の後に各々に解放処理が生じるけど、現在は正しく実装されていないので仕様に制限があるとコンパイラのメッセージでも出る話。
2022/02/07(月) 22:50:06.68ID:3WtW5B3R
>>774
複製分岐おじさんは日本語通じないからまともに相手しても時間の無駄だよ
2022/02/07(月) 22:52:45.27ID:MLiEvPiI
「最新のエラーメッセージ」は1.0直前に書かれたものだしもう仕様化してもいいんじゃね
https://github.com/rust-lang/rust/pull/25272
2022/02/07(月) 23:03:21.13ID:jZIVUuZq
いつも傍から見ていてパターンがわかってきた
普通は「○○○は間違っている、×××が正しい」となるんだけど
なぜか「○○○は間違っている」だけで終わって代わりとなる対案が出てこない
>>771のように「勝手な思い込みの妄想で嘘」と否定するだけだったり
>>774のように「正しいという根拠は?」とこれも同じパターン
全てに共通するのは対案を出さずに否定ばかりしている言動
2022/02/07(月) 23:11:42.66ID:gOCxugwW
>>775
今は複製分岐されるのが本当正しいと言えるのかどうかが論点です
論点をずらさずにそう考えた根拠を示して下さい
ありませんか?
2022/02/07(月) 23:15:03.65ID:Rl6UL3Q6
半ギレww
2022/02/07(月) 23:28:02.69ID:q/PrVpBp
>>777
仕様化されてるよ
エラーメッセージをアップデートすべき
https://doc.rust-lang.org/reference/special-types-and-traits.html#copy

その時代とはDrop周りの実装も大きく変わってる上に
CopyとDropが排他的である前提で書かれたコードも多々あるから
Copy+Dropな型をサポートするならエディション対応が必須
2022/02/07(月) 23:45:39.09ID:jZIVUuZq
>>779
Copyを実装している型は使われると複製され分岐すると自分も当たり前に思っているけど
異なる意見を持っているの?
否定ばかりしていて対案を出せない人はどこの世界でもダメな人扱いになっちゃうから対案を出すのがお勧め
2022/02/07(月) 23:54:38.63ID:MLiEvPiI
>>781
まじかよ反応して損した
この流れ何の意味もねえな
2022/02/08(火) 00:13:43.96ID:6pYzzNS7
Copyを実装する型の変数にはそもそも所有権が存在しないということかな。
2022/02/08(火) 00:58:18.89ID:v5+/0O15
ソケット、ファイルハンドラあたりがコピーされたらそら問題だろうからな。

>Copyを実装する型の変数にはそもそも所有権が存在しないということかな。
copyされたら所有権がないとかめちゃくちゃだな。int値だって共有されるかどうかはかなり問題だっての。
2022/02/08(火) 01:23:08.03ID:Ie+ZA5Wx
>>782 値が複製されることに異論は無いんだけど、彼は>>753などで所有権が複製されると言っていて、そこがおかしい。
2022/02/08(火) 02:46:17.65ID:TlrfCSTD
それ同一人物だぞ
複製オジは人格も複製分岐させる
2022/02/08(火) 09:41:57.74ID:SQntNedJ
たとえ話って逆に理解を妨げることも多いよね(´・ω・`)
2022/02/08(火) 10:46:53.27ID:VdD2swgy
複製おじさんにも唯一役に立つチャンスがあるよ
それはE0184の改善案を提案してRustの質向上に貢献することw
しかし複製おじさんは妄想だけで改善が見られないから害でしかない
2022/02/08(火) 17:39:21.77ID:L87aFEFb
複製おじさん大人気だな
個人的には「所有権が分岐する」のほうが衝撃的だった
791デフォルトの名無しさん
垢版 |
2022/02/08(火) 18:04:38.67ID:wY99dkVo
Rustの学習してるのですが、モジュールがどう使われるものなのかいまいち想像がつきません
他の言語でいう、スタティッククラスのような使い方になるのですか?
クレート内部にはモジュールを通じてアクセスしてもらうような、アクセサーのような感覚でいいのでしょうか?
2022/02/08(火) 18:41:34.13ID:7ZuunrUW
なんで所有権が複製分岐なんていう言葉を発明しちゃうんだろな
実際に所有権をツリー構造みたいなものでイメージしてるのかな
2022/02/08(火) 18:50:29.41ID:Pp1mAPfQ
>>791
モジュールはコードのかたまりでnamespaceを構成するもの
Javaならパッケージ、C#ならnamespace
2022/02/08(火) 20:18:25.32ID:RxI0yA8a
複製は値と所有権のペアがまるごと複製されるというイメージでわからなくもないが分岐は本当によくわからない
2022/02/08(火) 20:23:01.17ID:SvZbCMDW
>>792
何事も正しく理解できないクセがついてて
同時に、そんな自分を客観的に理解できてないから
独自用語乱発になんの違和感もないんやろな
2022/02/08(火) 20:32:05.71ID:SvZbCMDW
複おじの悪いとこは反省が無いところ
2022/02/08(火) 20:41:11.90ID:l2NSRb44
複製おじさん自演認定連呼の人も大概だけどな
技術について語るスレなんだから個性を出すな与えるな
2022/02/08(火) 22:11:02.29ID:4v8i4qWv
変数毎のメタデータに所有権管理のためのフラグか状態変数があってその値も複製されるイメージだったんでしょ
それを匂わせることを確か書いてた気がする

仮にそういう実装だったとしてもそのメタデータ自体は所有権じゃないんだけどね
複オジは反省して分岐して欲しい
2022/02/08(火) 22:15:39.64ID:F0zgFFgG
>>784
Copyを実装する型の変数にも所有権は存在するぜ
使われるたびに複製されて別々の所有権になる
例えば借用ルールなどもそれぞれ個別に適用されるようになる
2022/02/08(火) 22:17:35.77ID:HAxbJIeP
複製おじさんホントに反省しないなぁ
2022/02/08(火) 22:36:36.51ID:SvZbCMDW
複おじはまずコテハンかトリップつけてほしい
名無しに紛れ込んでスレ荒らすのやめてほしい
802デフォルトの名無しさん
垢版 |
2022/02/08(火) 22:47:22.11ID:NtAny2QZ
>>799で合ってると思う私も何か勘違いしてる?
もし違うならば正しい情報を知りたい
2022/02/08(火) 22:54:07.50ID:DXXwh4pM
>>802
複オジいい加減にして!
2022/02/08(火) 23:05:22.58ID:6pYzzNS7
>>803
指摘の中身が無いから何をどうすればいいか傍から見てさっぱりわからんのだが。
805デフォルトの名無しさん
垢版 |
2022/02/08(火) 23:17:16.63ID:NtAny2QZ
>>804
それそれ
おじとかオジとか言ってる人の書き込みを遡って見ても中身がないかコピペばかり
おじとオジをNGにすればよいのかな
2022/02/08(火) 23:24:36.35ID:d+fT+XiK
>>802
正しいよ。 >>799 で正しい。
値が複製されると同時にそれぞれが所有権を持つというのは根本的な原理そのもの。
2022/02/08(火) 23:33:11.39ID:50t+w5HT
おや
2022/02/08(火) 23:35:38.19ID:50t+w5HT
「所有権が複製される」のではなくて、「値が複製されるとき、複製された値には新しい所有権が生まれる」と表現すべき、ってこと?
809デフォルトの名無しさん
垢版 |
2022/02/08(火) 23:37:06.33ID:NtAny2QZ
>>806
ありがとう
おじオジ連投の人はNGにします
2022/02/08(火) 23:45:07.26ID:Gazi17ea
単なる揚げ足取りでしょ
本人もよくわかってないと思われ
2022/02/09(水) 00:09:26.69ID:hQLH/4Iv
はちみつ複製オジは自演するのいい加減して!!
812デフォルトの名無しさん
垢版 |
2022/02/09(水) 00:48:50.88ID:Th41z547
>>799,802,806
799は言葉足らずだと思う。

>>808 のがより合ってる。
2022/02/09(水) 01:28:22.38ID:G66vCctx
あちこちでrustおじさんが暴れてるんだけどこのスレでも暴れてんのな
2022/02/09(水) 07:46:27.70ID:MYXFjZ5a
>>808
その2つの解釈に何の違いがあるのってことだよな
2022/02/09(水) 08:16:52.91ID:RoPbijrN
論理性がない、客観性もない、実績もないのに上から目線の奴いるよね
素人相手にマウント取りたいアフィブロガーやアフィチューバーの類なんだろうけど
2022/02/09(水) 08:33:26.39ID:XHPTdDLm
>>812
「言葉足らず」だっだという事にしたいのねw
2022/02/09(水) 13:00:04.34ID:v0CQAsq5
所有権を実装の観点からだけ見た場合はCopy型に所有権は(設定されて)ないと考えるのは妥当
説明用の概念として見た場合はshared referenceを除くCopy実装型にも所有権があってコピーされた際にその値に対する新たな所有権が発生すると考える方が妥当

公式は基本的に後者
2022/02/09(水) 15:18:47.99ID:06jFMmW0
>>808
「所有権が複製される」という言い方は
単なる表現の問題として矮小化されるものではなく所有権という概念を根本的に誤って解釈してるのが大きな問題

それを吹聴するのはRust入門者の学びを妨害する行為なので叩かれてる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。