公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
公式ドキュメント
https://www.rust-lang.org/learn
Web上の実行環境
https://play.rust-lang.org
※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/
※Rustを学ぶ際に犯しがちな12の過ち
https://dystroy.org/blog/how-not-to-learn-rust
※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/
※次スレは原則>>980が立てること
前スレ
Rust part18
https://mevius.5ch.net/test/read.cgi/tech/1670663822/
Rust part19
■ このスレッドは過去ログ倉庫に格納されています
2023/01/17(火) 12:41:32.25ID:nikBFIMQ
737デフォルトの名無しさん
2023/02/20(月) 10:59:06.46ID:Dw9X3Ven 条件つき確率を信じない人のような印象
条件が成立しなければ普通の弾丸だから
条件が成立しなければ普通の弾丸だから
738デフォルトの名無しさん
2023/02/20(月) 11:30:01.73ID:4JKIimXg (ФωФ)
739デフォルトの名無しさん
2023/02/20(月) 13:36:11.72ID:LGz5jnMj 「と言い出しそうだな」「って思ってそうだ」「な印象」
関心事がけっきょくは発言者の人格なんでつねえw
関心事がけっきょくは発言者の人格なんでつねえw
740デフォルトの名無しさん
2023/02/20(月) 17:13:31.56ID:dVqCef0V 5chの隅っこでとにかくマウント取りたいだけの人だから
741デフォルトの名無しさん
2023/02/20(月) 18:04:32.79ID:Ro8B3+Pr ただ文句をつけたいだけなのか
とにかく嫌いなだけなのか
ブロックラベル指定breakについてもlet elseについても反対してる人から一貫性や理性を感じられない面はある
例えばlet elseについて不要との主張の理由がこれまで3つ挙げられているが
「自分は使わないから不要」は論外として
「他の書き方ができるから不要」も特定の例にしか適用できない代替策だったり当然if letとlet elseはmatchに代替できる原点の視点を欠いている
「Err(e)値を扱えないから不便で不要」も同様でif letとlet elseはそれを扱わない構文だと理解できていない
もしif letも不要だと開き直るならばそれはそれで主張が一貫しているのであろうが
とにかく嫌いなだけなのか
ブロックラベル指定breakについてもlet elseについても反対してる人から一貫性や理性を感じられない面はある
例えばlet elseについて不要との主張の理由がこれまで3つ挙げられているが
「自分は使わないから不要」は論外として
「他の書き方ができるから不要」も特定の例にしか適用できない代替策だったり当然if letとlet elseはmatchに代替できる原点の視点を欠いている
「Err(e)値を扱えないから不便で不要」も同様でif letとlet elseはそれを扱わない構文だと理解できていない
もしif letも不要だと開き直るならばそれはそれで主張が一貫しているのであろうが
742デフォルトの名無しさん
2023/02/20(月) 18:35:32.36ID:ONCzk40Q ぱっと見の印象ほど便利でもないな
と言われてるだけのような気がするが
と言われてるだけのような気がするが
743デフォルトの名無しさん
2023/02/20(月) 18:38:50.78ID:1jTwQy64 理性と一貫性が一番欠落してるオジが何か言ってるぞwww
744デフォルトの名無しさん
2023/02/20(月) 18:59:27.30ID:epDqj6rM 冷静な技術的議論にならない原因が誰にあるかは一目瞭然なんだから相手にしないこと
分かりやすい煽りよりも技術的議論に見せかけたマウンティング行為にこそ高いスルー力が求められる
分かりやすい煽りよりも技術的議論に見せかけたマウンティング行為にこそ高いスルー力が求められる
745デフォルトの名無しさん
2023/02/20(月) 19:34:52.06ID:z/noiTmG 煽りこそ要らない
技術的な議論なら歓迎
マウンティングとか興味ないためそんな発想も感覚も出て来ないので感じている人はたぶんそれ鏡の自分自身
技術的な議論なら歓迎
マウンティングとか興味ないためそんな発想も感覚も出て来ないので感じている人はたぶんそれ鏡の自分自身
746デフォルトの名無しさん
2023/02/20(月) 19:56:45.86ID:KVc2H5on 技術的論議とか不要やん
売れるシステム作ったもんの勝ちや
でもって世の中で売れてるシステムって意外とクソ技術
売れるシステム作ったもんの勝ちや
でもって世の中で売れてるシステムって意外とクソ技術
747デフォルトの名無しさん
2023/02/20(月) 20:36:10.20ID:LGz5jnMj >>746はきっとこの業界長いなw
昼間書き込んでる学生や無職どもとは面構えが違う
昼間書き込んでる学生や無職どもとは面構えが違う
748デフォルトの名無しさん
2023/02/20(月) 20:50:17.61ID:z/noiTmG749デフォルトの名無しさん
2023/02/20(月) 20:55:08.90ID:KVc2H5on750デフォルトの名無しさん
2023/02/20(月) 21:14:07.07ID:3GUDPmP7 何年も前からRFC出てて昨年stabled入りした機能に要るも要らねえもねえからな
751デフォルトの名無しさん
2023/02/20(月) 21:18:07.99ID:z/noiTmG stableになった11月に不要だと暴れるならともかく
今になって不要だと暴れてるのも不思議だよな
今になって不要だと暴れてるのも不思議だよな
752デフォルトの名無しさん
2023/02/20(月) 21:21:42.34ID:Dr+y9QH4 🦀
みんながインターネットで争ってばかりいるので、Ferrisくんは踊るのをやめてしまいました
お前のせいです
あ~あ
みんながインターネットで争ってばかりいるので、Ferrisくんは踊るのをやめてしまいました
お前のせいです
あ~あ
753デフォルトの名無しさん
2023/02/20(月) 21:31:44.32ID:Gnfu+Wjk RFCに特攻しないだけマシなのでは
いや公式に真正面からお伺いたてたほうがマシなのか
いや公式に真正面からお伺いたてたほうがマシなのか
754デフォルトの名無しさん
2023/02/20(月) 21:53:45.15ID:LGz5jnMj 暴れてる、ってのが被害妄想的表現やわ
俺には誰一人暴れてるようには見えない
このスレで暴れてたのは所有権の複製のあの人だけ
俺には誰一人暴れてるようには見えない
このスレで暴れてたのは所有権の複製のあの人だけ
755デフォルトの名無しさん
2023/02/20(月) 22:53:31.02ID:5X4Ju8b5 繰り返し同じ主張をしても誰も同意してくれないから
自分の意見に同意してくれないやつらは全員暴れてるということにして無意識に自我を守ろうとしてるんだよ
自己愛的防衛とか躁的防衛というやつ
自分の意見に同意してくれないやつらは全員暴れてるということにして無意識に自我を守ろうとしてるんだよ
自己愛的防衛とか躁的防衛というやつ
756デフォルトの名無しさん
2023/02/20(月) 23:30:32.01ID:5j6SE1ew757デフォルトの名無しさん
2023/02/21(火) 00:09:04.47ID:HKXWQrsi 自演オジ
758デフォルトの名無しさん
2023/02/21(火) 01:55:16.33ID:Z2SDCDpJ 頭が良くなれば解決することを、性格や健康の問題だと思わないほうがいい気がする
頭が良くなりたいのは色々解決するからだ
マウントしたいからではない
頭が良くなりたいのは色々解決するからだ
マウントしたいからではない
759デフォルトの名無しさん
2023/02/21(火) 02:05:43.32ID:KRj8g2tD 俺たちが興味あるのは技術の話題であって他人じゃねーもんな
誰がどうしたとか妄想に取り憑かれているとしか思えん
ところで標準ライブラリがflumeではなくcrossbeamを取り込んだのはなんでだ?
誰がどうしたとか妄想に取り憑かれているとしか思えん
ところで標準ライブラリがflumeではなくcrossbeamを取り込んだのはなんでだ?
760デフォルトの名無しさん
2023/02/21(火) 10:55:47.93ID:F7r6AOZC https://github.com/rust-lang/rust/pull/93563
> crossbeam-channel has become the most popular alternative on crates.io
これ以上の深い理由はなさそう
> crossbeam-channel has become the most popular alternative on crates.io
これ以上の深い理由はなさそう
761デフォルトの名無しさん
2023/02/21(火) 13:28:03.06ID:o6H+BcIs cargo check --doc-tests
欲しい!
欲しい!
762デフォルトの名無しさん
2023/02/21(火) 21:08:16.69ID:QxhrM2ln std::sync::mpscの実装が5年くらい放置されてた
その間に効率的な実装のcrossbeamが広まり更に効率の良いflumeも登場して性能と人気を競っている
放置されてた標準ライブラリを今回は実績のあるcrossbeam実装ベースへ変更したが状況は変わらないだろう
Rustは最小限の標準ライブラリに様々なクレートが競い合ってより良いものを生み出していく文化であるからだ
その間に効率的な実装のcrossbeamが広まり更に効率の良いflumeも登場して性能と人気を競っている
放置されてた標準ライブラリを今回は実績のあるcrossbeam実装ベースへ変更したが状況は変わらないだろう
Rustは最小限の標準ライブラリに様々なクレートが競い合ってより良いものを生み出していく文化であるからだ
763デフォルトの名無しさん
2023/02/21(火) 21:14:33.40ID:+7EF9kV0 ひとりごとおじさん
764デフォルトの名無しさん
2023/02/21(火) 22:02:42.80ID:MpX1NcOI 自分の発言が炎上するかしないかを自分で判定できそう
失言おじさんにはそれができない
失言おじさんにはそれができない
765デフォルトの名無しさん
2023/02/21(火) 22:06:41.15ID:8LM8nvGY ずっとおじさんおじさん言ってる「おじさん」おじさんの方が正直こわい
766デフォルトの名無しさん
2023/02/21(火) 22:08:33.85ID:IR6nE0nQ 分かってんなら触れんなっての
767デフォルトの名無しさん
2023/02/21(火) 22:20:06.54ID:WDpT+Fl1 オジおじ言ってる人は相手にしちゃいけないアンタッチャブル
768デフォルトの名無しさん
2023/02/21(火) 22:28:06.23ID:y29mFsWC 「所有権の複製」とかいうアホな用語を使って
ここのみんなにバカにされて涙目で敗走していったおじさんがおるんよ
その可愛そうな子が複オジ
ここのみんなにバカにされて涙目で敗走していったおじさんがおるんよ
その可愛そうな子が複オジ
769デフォルトの名無しさん
2023/02/21(火) 22:48:33.95ID:MpX1NcOI 主語が小さいのは良い
長期戦すぎるのが悪い
長期戦すぎるのが悪い
770デフォルトの名無しさん
2023/02/21(火) 23:07:04.37ID:3NMnjtHz771デフォルトの名無しさん
2023/02/21(火) 23:18:12.91ID:ptIHWapX 複オジ必死の自演2
772デフォルトの名無しさん
2023/02/21(火) 23:29:58.13ID:01DiY+Ot Copy実装型は値が複製されて新たな所有権が生じるが正確
それをその入門記事は所有権の複製と表現してたやつだろ
許容でも不許容でもどうでもええわ
それをその入門記事は所有権の複製と表現してたやつだろ
許容でも不許容でもどうでもええわ
773デフォルトの名無しさん
2023/02/21(火) 23:35:03.71ID:y29mFsWC よっぽど悔しかったんやなw
774デフォルトの名無しさん
2023/02/21(火) 23:35:15.52ID:MG8QCGMu ところでいったいどうやってメモリ安全なの?
775デフォルトの名無しさん
2023/02/21(火) 23:39:30.48ID:agyNMu4f 緑の文字でMって書いとけばOK
776デフォルトの名無しさん
2023/02/21(火) 23:44:02.70ID:Z6LMQwiQ 次のかたどうぞ
777デフォルトの名無しさん
2023/02/21(火) 23:44:49.64ID:4zIxg9qg そんな昔の話をいまだに引っ張ってオジオジ言ってたのかよ
精神病んでるな
精神病んでるな
778デフォルトの名無しさん
2023/02/21(火) 23:54:33.49ID:MG8QCGMu C言語は知ってる。アセンブラも知ってる。どうやってメモリ安全なのか
サクッと説明できないの?
サクッと説明できないの?
779デフォルトの名無しさん
2023/02/21(火) 23:57:49.69ID:+CfSou71 文句あるならRFCとか記事サイトとかに直接言うしかないな
ここでこれ以上の議論を続けてもしょうがない
ここでこれ以上の議論を続けてもしょうがない
780デフォルトの名無しさん
2023/02/21(火) 23:59:31.91ID:Z6LMQwiQ781デフォルトの名無しさん
2023/02/22(水) 00:14:21.77ID:Y34Ut0PO 複製の方はググってみたらitmediaのRust入門記事だね
型に依って移動と複製の2種類あるのを教えるところだから、入門者向けの解像度として大雑把にしといて後で詳細を学べばいいでしょ
メモリ安全の方は解説記事が山ほどあるから、まずは読んで分からないところだけを質問したら?
型に依って移動と複製の2種類あるのを教えるところだから、入門者向けの解像度として大雑把にしといて後で詳細を学べばいいでしょ
メモリ安全の方は解説記事が山ほどあるから、まずは読んで分からないところだけを質問したら?
782デフォルトの名無しさん
2023/02/22(水) 00:45:10.48ID:kRg6p3dR 参照されている間はmove禁止にする
それができたらその意味で安全
どうやってそれができるのか実装依存かな
それができたらその意味で安全
どうやってそれができるのか実装依存かな
783デフォルトの名無しさん
2023/02/22(水) 00:59:45.76ID:Y34Ut0PO 稀に誤解する人がいるけど、moveはメモリ上の移動ではなく所有権の話だから注意ね
メモリ上の移動の禁止を保証するのはstd::pin::Pinだけど、初心者は知らなくても大丈夫
メモリ上の移動の禁止を保証するのはstd::pin::Pinだけど、初心者は知らなくても大丈夫
784デフォルトの名無しさん
2023/02/22(水) 01:45:26.03ID:7qIc4ux9 moveを所有権の移動だと捉えてるから
copyも所有権の複製だと勘違いする
これが世に言う複製おじさん
copyも所有権の複製だと勘違いする
これが世に言う複製おじさん
785デフォルトの名無しさん
2023/02/22(水) 07:55:16.15ID:nAgCXC1p 稀に誤解するオジ
786デフォルトの名無しさん
2023/02/22(水) 11:19:00.04ID:QrBlGoqy >>783
一応ちゃんとCopyのdocで「It’s important to note that in these two examples, the only difference is whether you are allowed to access x after the assignment. Under the hood, both a copy and a move can result in bits being copied in memory, although this is sometimes optimized away.」って説明されてんだよな
一応ちゃんとCopyのdocで「It’s important to note that in these two examples, the only difference is whether you are allowed to access x after the assignment. Under the hood, both a copy and a move can result in bits being copied in memory, although this is sometimes optimized away.」って説明されてんだよな
787デフォルトの名無しさん
2023/02/22(水) 12:20:22.57ID:IphXoUwR 所有権が移動するからその後はアクセスできなくなるんだよな
788デフォルトの名無しさん
2023/02/22(水) 12:56:45.35ID:BSuKB2Vo789デフォルトの名無しさん
2023/02/22(水) 16:14:06.54ID:TLbBZAeA メモリ安全に関しては実行時の、
すなわち実装上の工夫があるわけでは一切なく、
単にメモリの使途をコンパイラが把握できるようにして
コンパイラが厳しいチェックを入れるってだけのことなのかな
極めて有用だと思うけどつまんないね
すなわち実装上の工夫があるわけでは一切なく、
単にメモリの使途をコンパイラが把握できるようにして
コンパイラが厳しいチェックを入れるってだけのことなのかな
極めて有用だと思うけどつまんないね
790デフォルトの名無しさん
2023/02/22(水) 16:29:14.84ID:5E1hhDZe 安全性の証明をこの前目標にしてなかったっけ?
791デフォルトの名無しさん
2023/02/22(水) 16:30:09.13ID:rz+Hc8C4 >>789
実装上の工夫をコンパイラが自動的に出来るように、メモリの使途をコンパイラが把握できるようにしているんじゃないの?
実装上の工夫をコンパイラが自動的に出来るように、メモリの使途をコンパイラが把握できるようにしているんじゃないの?
792デフォルトの名無しさん
2023/02/22(水) 16:59:49.22ID:TLbBZAeA793デフォルトの名無しさん
2023/02/22(水) 18:54:03.56ID:pxjFrvRx 他言語由来なんだろうけど、moveという命名はセンス無いわな。
transferあたりならまだマシな気がする。
transferあたりならまだマシな気がする。
794デフォルトの名無しさん
2023/02/22(水) 19:30:38.74ID:LddiDqOW moveがふさわしい
ドキュメントでも至るところでmove or copyと対比され使われている
transfer or copyではおかしい
ドキュメントでも至るところでmove or copyと対比され使われている
transfer or copyではおかしい
795デフォルトの名無しさん
2023/02/22(水) 22:03:03.74ID:9y2tPN5s moveやcopyの対象はvalue
ownershipはtransfer(譲渡/移転)されたりtake(取得)するもの
moveとcopyが対比されるのは同じ対象について述べているものだから当たり前
ownershipはtransfer(譲渡/移転)されたりtake(取得)するもの
moveとcopyが対比されるのは同じ対象について述べているものだから当たり前
796デフォルトの名無しさん
2023/02/22(水) 22:04:44.93ID:hwzB7q2o797デフォルトの名無しさん
2023/02/22(水) 22:32:54.84ID:ejRdyGcN 同じことを言い合っていて、間違ったことを言ってる人もいなさそうだが、何をもめているのだろう
798デフォルトの名無しさん
2023/02/22(水) 22:43:58.95ID:8Lnlg+wO >>795
それらのふるまいの違いを明確にしないとただの言葉遊びに見える
それらのふるまいの違いを明確にしないとただの言葉遊びに見える
799デフォルトの名無しさん
2023/02/22(水) 22:46:55.03ID:SB7jqjIk >>793だけ理解できていない
Rustで使われているmoveという用語は所有権が移動することで値が移動する概念を指す
例えばエラーメッセージのmove occursなどのmoveはその事象を指している
だからそこはtransferではなくmoveで正しい
Rustで使われているmoveという用語は所有権が移動することで値が移動する概念を指す
例えばエラーメッセージのmove occursなどのmoveはその事象を指している
だからそこはtransferではなくmoveで正しい
800デフォルトの名無しさん
2023/02/22(水) 22:59:45.22ID:H3r2EuTC RustはC++から輸入して所有権って言葉を使っているだけであって
C++で言う「所有権を失ったがオブジェクトとしては存在している」みたいな状態は少なくともsafe Rustには無いからね
だから値と所有権を切り離して考えるだけ無駄
C++で言う「所有権を失ったがオブジェクトとしては存在している」みたいな状態は少なくともsafe Rustには無いからね
だから値と所有権を切り離して考えるだけ無駄
801デフォルトの名無しさん
2023/02/22(水) 23:28:17.85ID:ejRdyGcN 値と所有権を切り離して考えてもムダなのはその通りだね
値には必ず所有者(owner)すなわち変数が対応してる
そして所有者である変数がスコープを尽きて消えるときに値もdropで消える
だから切り離すことはできない
値が消えないためには所有者である変数のスコープが尽きる前に、他の変数へ代入か、関数引数渡しか、関数戻値返し、をしなければならない
その時にCopy実装型だと値が複製されて渡した先にも別の所有者が生じて各々が別の人生を辿る
!Copy実装型だと値が「概念的に」移動して渡した先に所有者が変わる
この両者の違いを端的に表した用語がcopyとmove
値には必ず所有者(owner)すなわち変数が対応してる
そして所有者である変数がスコープを尽きて消えるときに値もdropで消える
だから切り離すことはできない
値が消えないためには所有者である変数のスコープが尽きる前に、他の変数へ代入か、関数引数渡しか、関数戻値返し、をしなければならない
その時にCopy実装型だと値が複製されて渡した先にも別の所有者が生じて各々が別の人生を辿る
!Copy実装型だと値が「概念的に」移動して渡した先に所有者が変わる
この両者の違いを端的に表した用語がcopyとmove
802デフォルトの名無しさん
2023/02/22(水) 23:31:46.84ID:9y2tPN5s 所有権が「移る」という意味の英訳として「move」という単語を当てるのが間違ってるわけではないが
「所有権を複製する」といった致命的な間違いを生む原因になってるの可能なら避けた方が良い
「所有権を複製する」といった致命的な間違いを生む原因になってるの可能なら避けた方が良い
803デフォルトの名無しさん
2023/02/22(水) 23:55:25.59ID:ejRdyGcN >>802
いや、所有権に対して直接moveと言っているわけではないんだよ
値の所有者(=変数)が変わることを、視点を変えると、旧所有者から新所有者へ値が移動している、それはさらに視点を変えると、所有権が移動していると表現してもいいわけだけど、
それら視点は様々あるけど同じことを指してRustでは『move』と呼んでいる
だから所有権(ownership)という単語に対して一般的な英語の用法として動詞にtransferやtakeを文章では使うけれど、そのこととは全く関係ない
いや、所有権に対して直接moveと言っているわけではないんだよ
値の所有者(=変数)が変わることを、視点を変えると、旧所有者から新所有者へ値が移動している、それはさらに視点を変えると、所有権が移動していると表現してもいいわけだけど、
それら視点は様々あるけど同じことを指してRustでは『move』と呼んでいる
だから所有権(ownership)という単語に対して一般的な英語の用法として動詞にtransferやtakeを文章では使うけれど、そのこととは全く関係ない
804デフォルトの名無しさん
2023/02/22(水) 23:57:57.68ID:H3r2EuTC いや、そんな状態が無いはさすがに嘘か……
Option<T> where T: Dropのtake()は実質ムーコンみたいなことやるし
所有権=リソースの解放義務と考えればそもそも!Dropには所有権なんてものは存在しないって考え方が正しいのかねえ
Option<T> where T: Dropのtake()は実質ムーコンみたいなことやるし
所有権=リソースの解放義務と考えればそもそも!Dropには所有権なんてものは存在しないって考え方が正しいのかねえ
805デフォルトの名無しさん
2023/02/23(木) 00:13:31.19ID:C4cWdlsx >>804
その場合も値と所有者は単体には生じてない
take()で新しい所有者に値が移動している
ただしデフォルト値のNoneにスワップされるため元の所有者も生きたままというだけ
これは一般的にはstd::mem::swap(),replace(),take()であり
互いに相手にmoveが生じただけ
その場合も値と所有者は単体には生じてない
take()で新しい所有者に値が移動している
ただしデフォルト値のNoneにスワップされるため元の所有者も生きたままというだけ
これは一般的にはstd::mem::swap(),replace(),take()であり
互いに相手にmoveが生じただけ
806デフォルトの名無しさん
2023/02/23(木) 00:58:23.78ID:a6t3KRYM exeを実行するみたいなトートロジーは極めて有用だけどつまんないね
807デフォルトの名無しさん
2023/02/23(木) 00:58:28.47ID:esRNNZX1 やっと分かったかも
コードのある時点において、仮にその時点での継続を全部消したとき、Drop::dropが自動で差し挟まれることになるブロックはその時点でそのリソースを所有している、と解釈できるわけか
というのがNLL以前の話ってやつなんだなたぶん
そうなると所有の主体はブロックじゃなくてライフタイムってことになるのかね?
コードのある時点において、仮にその時点での継続を全部消したとき、Drop::dropが自動で差し挟まれることになるブロックはその時点でそのリソースを所有している、と解釈できるわけか
というのがNLL以前の話ってやつなんだなたぶん
そうなると所有の主体はブロックじゃなくてライフタイムってことになるのかね?
808デフォルトの名無しさん
2023/02/23(木) 01:29:31.74ID:rq0OeSBM どうしてドキュメントと違う言い回しの独自解釈を捻り出そうとしてしまうのか。
809デフォルトの名無しさん
2023/02/23(木) 01:50:57.31ID:Kuyiw7Zm 複オジる バレてあばれて ぼけつほる
810デフォルトの名無しさん
2023/02/23(木) 02:02:47.49ID:bPCulnq5 >>807
値の所有はそれを他へ渡さない限りレキシカルにブロックスコープが尽きるまで続く
ただし参照のライフタイムについてはレキシカルなスコープではなく実際の使われ方に応じて短くなりうる
例えば非可変参照を使っていて、後から可変参照を使うことになった時は、
それらが重なってなければ非可変参照のライフタイムは終わった扱いにして、同じブロックスコープの中で新たに可変参照を借用できるのがNLL
値の所有はそれを他へ渡さない限りレキシカルにブロックスコープが尽きるまで続く
ただし参照のライフタイムについてはレキシカルなスコープではなく実際の使われ方に応じて短くなりうる
例えば非可変参照を使っていて、後から可変参照を使うことになった時は、
それらが重なってなければ非可変参照のライフタイムは終わった扱いにして、同じブロックスコープの中で新たに可変参照を借用できるのがNLL
811デフォルトの名無しさん
2023/02/23(木) 02:18:44.46ID:UvuOvWmE >>804
もちろん正しくない
もちろん正しくない
812デフォルトの名無しさん
2023/02/23(木) 09:29:02.67ID:BoWU7ZWJ 以前指摘されたDrop Obligationを今になって勉強して一人芝居してるw
ほんと滑稽な人やでww
ほんと滑稽な人やでww
813デフォルトの名無しさん
2023/02/23(木) 09:41:47.82ID:nQ2ppFvg 説明をわかりやすくするために創作された抽象概念と実装が1対1で結びついてるわけないのにね
814デフォルトの名無しさん
2023/02/23(木) 09:55:07.36ID:FonN/9hK815デフォルトの名無しさん
2023/02/23(木) 09:57:21.40ID:rJOtMcwO C++のはmoveした後に抜け殻が残る話じゃね
816デフォルトの名無しさん
2023/02/23(木) 11:25:42.30ID:pfd9YhIH 値に所有権フラグ的なものがくっついてるイメージでとらえてしまってるんでしょ
だからコピーしたら所有権も複製されるし
値と所有権を切り離して考えても無駄だと勘違いしてしまう
全部つながってる
だからコピーしたら所有権も複製されるし
値と所有権を切り離して考えても無駄だと勘違いしてしまう
全部つながってる
817デフォルトの名無しさん
2023/02/23(木) 11:47:29.47ID:suv8L/am818デフォルトの名無しさん
2023/02/23(木) 13:08:38.52ID:Oid02u1J 複オジの常識は
Rustの非常識
このスレでは常識
Rustの非常識
このスレでは常識
819デフォルトの名無しさん
2023/02/23(木) 13:34:12.46ID:esRNNZX1 >>807
っていうかそこまで難しい話じゃなくて
move a value と transfer its ownership を同義語として、自然言語としてわかりやすいように適宜言い分けてるだけなのか?
じゃあ結局「ownershipとは〜〜」という形でのownershipの定義なんてものはRustにはない?
公式のドキュメント検索しても見つからなかったんだよね
っていうかそこまで難しい話じゃなくて
move a value と transfer its ownership を同義語として、自然言語としてわかりやすいように適宜言い分けてるだけなのか?
じゃあ結局「ownershipとは〜〜」という形でのownershipの定義なんてものはRustにはない?
公式のドキュメント検索しても見つからなかったんだよね
820デフォルトの名無しさん
2023/02/23(木) 13:44:46.02ID:lWMy0tB5 >>817で合ってるよ
オジ使いの人は文句をつけることが主目的なのか正しいことにも文句をつける印象
オジ使いの人は文句をつけることが主目的なのか正しいことにも文句をつける印象
821デフォルトの名無しさん
2023/02/23(木) 13:46:51.41ID:a6t3KRYM 不動産みたいな移動できないものの代わりにその所有権を移動する
メモリ上では実は複製と消去しかできないので本当は移動ができない
メモリ上では実は複製と消去しかできないので本当は移動ができない
822デフォルトの名無しさん
2023/02/23(木) 13:56:15.25ID:lWMy0tB5823デフォルトの名無しさん
2023/02/23(木) 14:13:14.00ID:lWMy0tB5 そしてmoveの概念とは異なりmoveの実際の生成コードは最適化によって多種多様
基本はmove先に複製して元が無効となるけど、最適化によって複製が発生せずそのまま使ったり、
関数でサイズがある程度あるものをmoveで返す場合には、関数呼び出し元のスタック上に呼び出し先関数から直接書き込んでしまったりもする
基本はmove先に複製して元が無効となるけど、最適化によって複製が発生せずそのまま使ったり、
関数でサイズがある程度あるものをmoveで返す場合には、関数呼び出し元のスタック上に呼び出し先関数から直接書き込んでしまったりもする
824デフォルトの名無しさん
2023/02/23(木) 14:28:29.93ID:sG3kr234 書けば書くほど的外れになっていくのが凄い
やっぱり基礎が重要なんだね
やっぱり基礎が重要なんだね
825デフォルトの名無しさん
2023/02/23(木) 15:57:28.87ID:suv8L/am 言い掛かりつけるだけの人はこのスレ常駐の荒らしだから無視しとけ
826デフォルトの名無しさん
2023/02/23(木) 17:27:04.57ID:knazEHUl たまにはCloneのことも思い出してあげてください
827デフォルトの名無しさん
2023/02/23(木) 18:26:04.33ID:G9ttzE8v moveは値と所有権の移動
copyは値と所有権の複製
cloneは値と所有権の複製
borrowは値と所有権の借用
mut borrowは値と所有権の書き換え可能な借用
(๑•̀д•́๑)何ら問題ないキリッ
www
copyは値と所有権の複製
cloneは値と所有権の複製
borrowは値と所有権の借用
mut borrowは値と所有権の書き換え可能な借用
(๑•̀д•́๑)何ら問題ないキリッ
www
828デフォルトの名無しさん
2023/02/23(木) 19:16:28.85ID:3Mx58NHj 所有権の複製って聞いておかしいと思わない子もそりゃいるよ
みんなが賢いわけじゃなくて残念ながらアホな子もそりゃいるんだよ
あんまりいじめてやるなよ
みんなが賢いわけじゃなくて残念ながらアホな子もそりゃいるんだよ
あんまりいじめてやるなよ
829デフォルトの名無しさん
2023/02/23(木) 21:37:16.18ID:a6t3KRYM 弱者は強者に負けるとかいう理論もまた創作なのに
創作と現実が一致するまで戦争をやめられない現象は実際に起きている
創作と現実が一致するまで戦争をやめられない現象は実際に起きている
830デフォルトの名無しさん
2023/02/23(木) 22:01:41.01ID:6fqNKB/7 よほど誤解を招きやすい情報ソースがあるのか
それともここにはアホの子しかいないのか
はたまた一人が暴れているだけなのか
それともここにはアホの子しかいないのか
はたまた一人が暴れているだけなのか
831デフォルトの名無しさん
2023/02/23(木) 22:02:05.98ID:vkbZDErw C++のリファレンスカウンタの仕組みからやってないヤツにはちんぷんかんぷんだろうぜ
832デフォルトの名無しさん
2023/02/23(木) 22:14:56.65ID:A0wb20Dk 経緯は>>770の通りだろうけどそんなに引っ張る話なのかがわからんね。
それで実害があるならともかく。
それで実害があるならともかく。
833デフォルトの名無しさん
2023/02/23(木) 22:23:17.99ID:WkxhN+WD 病気な人が荒らすためのネタとしてやってるだけだろうからスルーが一番
834デフォルトの名無しさん
2023/02/23(木) 22:41:43.47ID:6seZ46P8835デフォルトの名無しさん
2023/02/23(木) 22:51:26.41ID:VTDygilb オジ連呼の人だろ
放置でええやん
放置でええやん
836デフォルトの名無しさん
2023/02/23(木) 23:14:02.76ID:7+yv+Q2n837デフォルトの名無しさん
2023/02/23(木) 23:43:30.64ID:a6t3KRYM 概念にも最適化があって概念の「わかりやすさ」を最適化するために
moveとtransferどっちが優れた概念かを決めるバトルをやってたんだな
moveとtransferどっちが優れた概念かを決めるバトルをやってたんだな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国とロシアの爆撃機、日本周辺で共同飛行 [少考さん★]
- 空自機レーダー照射、音声データ公開 中国 ★2 [蚤の市★]
- 「中国側も日本機のレーダーを感知していた」 中国メディアが報道 [♪♪♪★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 高市早苗首相、消費税減税に後ろ向き 足かせはレジシステム? 「責任ある積極財政」期待高いが [蚤の市★]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★3 [597533159]
- 防衛省、中国を完全論破www 「事前通告があったのは海自であって空自ではない」 高市早苗勝利 [175344491]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★4 [597533159]
- よん!よん!マールマール!ワンワンワン!
- オーストラリアで16歳未満はSNS禁止になったらしいけどこれ
- スバルが言ったらノエルが濡れそうなこと
