問題タブ [rust-rocket]
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 - Rocket ハンドルバーの例を作成する際の未解決のインポート テンプレート
Rocketハンドルバーの例を機能させることができません 。これらは私の Cargo.toml 依存関係です:
エラー:
最初のエラーはTemplate
探しても見つかりません。例のgit リポジトリには存在しません。この例がどのように機能する可能性がありますか? main.rs の Rust コードは問題ないと確信しています。例と同じです。依存関係だけの問題だと思います。
Cargo.toml を次のように変更しました。
今、私はこれらのエラーを受け取ります:
rust - FromForm 内で JSON を逆シリアル化する場合の有効期間
このコードのライフタイム間の関係を理解するのに苦労しています。x-www-form-urlencoded
基本的に、キーが 1 つだけのデータを受け取る Rocket API がありますjson
。このキーには、直観的に、パーセントエンコーディングでエンコードされた struct の JSON 値が含まれていますMessage<T>
。
(これが次善の API 設計であることは承知していますが、これはリバース エンジニアリング作業であるため、選択の余地はありません)
として簡単にリクエストガードとして使えるようにFrom<Message<T>>
、 を実装してFromForm
います。そのためには、FromForm<'f>
あらゆるMessage<T>
場所にT
実装する必要がありますDeserialize<'de>
。impl 署名を として書きましたimpl<'f, 'de, T> FromForm<'f> for Message<T> where T: Deserialize<'de>
。
実際にデコードを実行するには、次のようにします。
"json"
フォーム データのキーを取得します。- 値を URL デコードします。
- 値に含まれる JSON を解析します。
できるだけ早く救済します。それを行うコード (読者の便宜のための明示的な型注釈):
貼り付けて実行する方法で問題を示す Gist (Playground は Rocket に依存しているため、Playground では機能しません)。
私が理解しているように:
&RawStr
of にencoded
はライフタイムがあります'f
。- A
String
は によってそれから作成されurl_decode
、関数の最後まで存続します serde_json
と一致する必要のない&'x str
場所を取り、値を返します(したがって、関数の最後まで存続し、返されるため、それを超えて移動されます)'x
'de
しかし、私の理解は間違っているようです:
何が間違っているのですか?どうすればデシリアライズされた値を適切に返すことができますか?
rust - Rocket がルートに一致する URL の RawStr を解析しない
Rocket のサイトのガイドでは、動的ルートをランク付けできることが示唆されています。この例では、ルートの一致基準として動的部分にさまざまなタイプを使用しています。以外の URL を入力するとusize
、次のエラーが発生します。
私が使用しているコード:
テスト404 error
を表示する際にページの代わりに期待します。なぜこれをしていないのですか?/user/three
last rank
rust - Rust/Rocket は `state` と `pear_codegen` をコンパイルできません
私は Rust と Rocket を使い始めています。
Rocket Getting Startedの指示に従っていますが、「エラー: コンパイルできませんでしstate
た」というメッセージが表示されます。完全なログはこちら:`
~/.cargo/bin/cargo run レジストリを更新しています
https://github.com/rust-lang/crates.io-index
Rocket_codegen v0.3.3 をダウンロードしています Rocket v0.3.3 をダウンロードしています
gcc v0.3.54 をコンパイルしています smallvec v0.4.4 をコンパイルしています libc v0.2.34 をコンパイルしています version_check v0.1.3 をコンパイルしています language-tags v0.2.2 をコンパイルしています serde v1.0.23 コンパイル状態 v0.3.2 error[E0554]: #![feature] may not be used on the stable release channel --> /Users/ktenjin/.cargo/registry/src/github.com-1ecc6299db9ec823/state- 0.3.2/src/lib.rs:1:1 | 1 | #![feature(const_fn)] | ^^^^^^^^^^^^^^^^^^^^^^^^error[E0554]: #![feature] は安定版リリース チャンネルでは使用できない可能性があります --> /Users/ktenjin/.cargo/registry/src/github.com-1ecc6299db9ec823/state-0.3.2/src/lib. rs:2:1 | 2 | #![feature(const_unsafe_cell_new)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0554]: #![feature] は安定版リリース チャンネルでは使用できない可能性があります --> /Users/ktenjin/.cargo/registry/src/github.com-1ecc6299db9ec823/state-0.3.2/src/lib. rs:3:1 | 3 | #![feature(const_atomic_usize_new)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0554]: #![feature] は安定版リリース チャンネルでは使用できない可能性があります --> /Users/ktenjin/.cargo/registry/src/github.com-1ecc6299db9ec823/state-0.3.2/src/lib. rs:4:1 | 4 | #![feature(const_atomic_bool_new)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
エラー: 4 つの前のエラーが原因で中止します
エラー: コンパイルできませんでし
state
た。警告: ビルドに失敗しました。他のジョブが終了するのを待っています... エラー: ビルドに失敗しました
もう一度実行すると、
エラー: コンパイルできませんでし
pear_codegen
た。
これを解決するにはどうすればよいですか。助けてください!ありがとう!