問題タブ [rust]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rust - 所有ポインタを移動する方法
参考までに、Rust 0.7 を使用しています。
所有リンク リストを使用してスタック実装を作成しようとしていますが、問題が発生しています。
しようとするrustc stack.rs
と、次のエラーが表示されます。
これをどのように克服できるか、またはこれを可能にするために別の方法で何ができるかわかりません。マネージ ポインターを使用せずにこのデータ構造を作成できるはずですが、この種のドキュメントはあまり見たことがありません。
rust - 所有されたポインターの移動のセマンティクス
この記事は、Rust ドキュメントでの「移動」という用語の使用が、コピーを意味するのではなく、コンパイル時の所有権の譲渡を意味する可能性を暗示しているようです。具体的には、この引用を参照してください。
コンパイラは、所有者が 1 人だけであることを強制します。ポインターを新しい場所に割り当てると、所有権が譲渡されます (略して移動と呼ばれます)。このプログラムを考えてみましょう:
これは正しいです?所有権の譲渡/移動は実行時に実際にコピーするのではなく、コンパイル時の抽象化にすぎません。
rust - Rustでオプションの所有ポインタを管理するにはどうすればよいですか?
私は自分の C++ プロジェクトの 1 つである単純な DSL を、錆を学習する演習として錆に変換していますが、ネストされた構造と所有権に問題があります。次のようなものを変換するのに苦労しています:
このために私が書くさびは次のとおりです。
この種のコードの偶像的なさびた方法は何ですか?
json - 逆参照から移動できません
私は Rust と extra::json モジュールを学んでいます。これが私の例です(余分な不要な型注釈があります):
コンパイルすると、次のようになります。
このエラーにヒットしない match の使用例が他にもあります。
ご協力いただきありがとうございます!
hashmap - さびの文字列キーのHashMap?
タイプのキーを持つ HashMap を~str
慣用的に使用する方法を理解するのに苦労しています。例えば、
このバグレポートに基づいて、試しました
しかし得た
この最後のメッセージはよくわかりません。誰か提案がありますか?
rust - 未解決のインポート: `std::num` に `atan` がありません
Rust チュートリアルから例を作成しています。この例をコンパイルしようとすると:
タイトルエラーが発生します。でコンパイルしていrust build Test.rs
ます。コンパイラが を見つけられないのはなぜstd::num::atan
ですか?
rust - 不変フィールドと有効期間の不一致
このコードを考えると(ここでも):
15 ~ 17 行目に問題があります。
15 行目と 16 行目で、これら 2 つの変数を変更する最善の方法を誰か説明できますか? 正しく使用していないか、どこか self
が欠けているようです。mut
17行目では、次のようlifetime mismatch
にも言っています。
タイプの不一致: '&Vector2' が予期されていましたが、'&Vector2' が見つかりました... 14:41 にブロックで定義された匿名の有効期間 #1 は、14:41 でブロックに定義された匿名の有効期間 #2 よりも長生きするとは限りません。
これら2つの問題を解決する方法を知っている人はいますか?
testing - クレート内のモジュールのテストの実行
複数のファイルにまたがる複数のモジュールで構成されるクレートを作成しています。これらのモジュールは相互に依存しています。つまり、一部のモジュールはこのクレート内の他のモジュールを使用しています。
クレート内の他のモジュールとは別に、そのようなモジュールでテストを実行することは可能ですか? このクレートに他のモジュールへの参照が含まれている場合、実行rust test some_module.rs
は機能しません。some_module.rs
実行rust test my_crate.rc
は機能しますが、すべてのクレート モジュールからテストを実行します。これは私が望んでいるものではありません。
pointers - 奇妙な借用チェックの失敗
私はおおよそ次のコードを持っています:
次のメッセージで失敗します。
次のコードでこれを修正できます。
しかし、なぜ失敗するのでしょうか。可変ポインターと不変ポインターが取得されるスコープは異なり、それらは異なる式です。私には一種のバグのように見えますが、ここで何かが欠けていないことを確認したいだけです。