問題タブ [borrow-checker]

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.

0 投票する
1 に答える
2372 参照

pattern-matching - Strings のスライスでスライス パターンを使用する

s のスライスでスライス パターンを使用しようとしていますStringStringRust はスライスの s を&strリテラルと一致させないため、これは機能しません。Strings のスライスをs のスライスに変換する方法がわかりませんでした&str

遊び場

0 投票する
2 に答える
552 参照

rust - データの具体的な Vec 表現の代わりにイテレータを公開しようとして、借用した値が十分に長生きしない

データのグリッドを表す構造体と、行と列のアクセサーがあります。Vec の代わりにイテレータを返す行と列のアクセサを追加しようとしています。

関数rows_iterとの両方cols_iterに同じ問題があります: error: borrowed value does not live long enough. 私は多くのことを試しましたが、ここに投稿する最も単純なものに戻しました。

0 投票する
2 に答える
957 参照

rust - 変数をローテーションするときに「変数が借用されているため、変数の外に移動できません」

ファイルに書き込み、書き込み先のファイルを時々ローテーションするプログラムを書いています。ファイルのローテーションを確認すると、構造体によって借用されているため、ファイルを変更できないようです。構造体のインスタンスであってもdrop、ファイルの所有権を取り戻して名前を変更することはできないようです。これが私のです:

ファイル作成を中間変数newの代わりに関数呼び出しに移動することでこれを機能させることができることはわかっていますが、すべての変数参照が返される必要があるすべての変数を強制的にドロップするこのメソッドの理由を知りたいです動作しません。FileStructfile

0 投票する
0 に答える
35 参照

rust - イテレータが新しいベクトルを生成するときの競合する有効期間要件

私はGridこのような構造体を持っています:

私はその上にさまざまな種類のイテレータを書き直そうとしています (主に演習として、ここで提示された特定の問題を解決するための「より良い」方法がある場合でも、これを行いたいと思います)。

行の反復は簡単でした。フィールドは単なる行のベクトルであるrawため、毎回後続の各行への参照を生成できます。

しかし、列を反復処理するのに苦労しています。への呼び出しごとに新しい Vec を作成しようとしましたnext()が、参照が十分に長く存続しません。これは理にかなっています。以下のコードは、一時的な vec への参照を iterator 構造体に格納して、有効期間を継承しようとする試みです。しかし、それもうまくいきません:

エラーが発生します:

提案が特性と互換性がないため、「ヘルプ」行は役に立ちません。

0 投票する
1 に答える
92 参照

rust - コレクションをコンテキスト外に移動する

ライフタイムを使用していくつかの特性を実装しようとしていますが、いつものように借用チェッカーと戦っています。

私の特性は次のようになります。

遊び場リンク

これにより、次のエラーが発生します。

なぜこれが起こっているのか理解していると思います.自己を借りているので、データをコピーできません. どうすればこれを回避できますか?

0 投票する
1 に答える
746 参照

rust - 同じリソースを 2 回使用しようとした場合の「移動された値の使用」

コードは次のとおりです。

問題のある行がコメントアウトされている場合、コードは正常にコンパイルされます。コメントを外すと、エラーが発生し始めます。

問題は、初めて使用するときに移動することだと理解していますが、テストで両方にアクセスする必要があるため、これら 2 つのサブフォルダー間stage_dirで共有する方法がわかりません。stage_dir

私は遊んでみました&stage_dirが、それは私にはさらに不明瞭ないくつかの警告を生成しました.

0 投票する
1 に答える
235 参照

rust - ベクターはクローンを作成するまで長生きしない

なぜvsnippet で長生きしないのか理解できません(2)が、それ以外の場合は機能します。cloneの変数が必要ない(1)のに、2 番目のケースを機能させるためにクローンを作成する必要があるのはなぜですか?

0 投票する
3 に答える
1654 参照

rust - 構造体フィールドから変数を割り当てるときに「借用したコンテンツを移動できません」

私は Rust を学んでいて、借用チェッカーと戦っています。

私は基本的なPoint構造を持っています。scaleポイントのすべての座標を変更する関数があります。という名前の別のメソッドからこのメソッドを呼び出したいconvert:

今、私は次のエラーがあります:

私は何を間違っていますか?