差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
rust:language_memo [2024/06/13 14:57] ともやんrust:language_memo [2024/06/17 07:09] (現在) – [もしもハマってしまったら...🔰] ともやん
行 1: 行 1:
 ====== Rust ランゲージ メモ ====== ====== Rust ランゲージ メモ ======
  
-===== ふつうのプロググ言語にうなもが無い😅 =====+===== よく使機能 - Cargo 編 😍 ===== 
 + 
 +==== 新しいパッケージ作成 [new] ==== 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">cargo</font> new h<font color="#999999">aruo_axum</font> 
 +</pre></html></WRAP> 
 +<WRAP color_result><html><pre> 
 +<font color="#26A269"><b>    Creating</b></font> binary (application) `haruo_axum` package 
 +<font color="#2AA1B3"><b>note</b></font><b>:</b> see more `Cargo.toml` keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">tree</font> <u style="text-decoration-style:solid">haruo_axum</u> 
 +</pre></html></WRAP> 
 +<WRAP color_result><html><pre> 
 +<font color="#12488B"><b>haruo_axum</b></font> 
 +├── Cargo.toml 
 +└── <font color="#12488B"><b>src</b></font> 
 +    └── main.rs 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +==== 依存クレートの追加 [add] ==== 
 +Cargo.toml を手で編集することなく、cargo add で好きなクレートをどんどん追加して開発できる😊\\ 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">cd</font> <u style="text-decoration-style:solid">haruo</u><font color="#999999"><u style="text-decoration-style:solid">_axum</u></font> 
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">bat</font> <font color="#A347BA">-p</font> <u style="text-decoration-style:solid">Cargo.toml</u> 
 +</pre></html></WRAP> 
 +<WRAP color_result><html><pre> 
 +<font color="#F8F8F2">[</font><font color="#A6E22E">package</font><font color="#F8F8F2">]</font> 
 +<font color="#F92672">name</font><font color="#F8F8F2"> = </font><font color="#E6DB74">&quot;haruo_axum&quot;</font> 
 +<font color="#F92672">version</font><font color="#F8F8F2"> = </font><font color="#E6DB74">&quot;0.1.0&quot;</font> 
 +<font color="#F92672">edition</font><font color="#F8F8F2"> = </font><font color="#E6DB74">&quot;2021&quot;</font> 
 + 
 +<font color="#F8F8F2">[</font><font color="#A6E22E">dependencies</font><font color="#F8F8F2">]</font> 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +Axum を追加する場合...🤔\\ 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">cargo</font> add axum 
 +</pre></html></WRAP> 
 +<WRAP color_result_hlong><html><pre> 
 +<font color="#26A269"><b>    Updating</b></font> crates.io index 
 +<font color="#26A269"><b>      Adding</b></font> axum v0.7.5 to dependencies 
 +             Features: 
 +             <font color="#26A269"><b>+</b></font> form 
 +             <font color="#26A269"><b>+</b></font> http1 
 +             <font color="#26A269"><b>+</b></font> json 
 +             <font color="#26A269"><b>+</b></font> matched-path 
 +             <font color="#26A269"><b>+</b></font> original-uri 
 +             <font color="#26A269"><b>+</b></font> query 
 +             <font color="#26A269"><b>+</b></font> tokio 
 +             <font color="#26A269"><b>+</b></font> tower-log 
 +             <font color="#26A269"><b>+</b></font> tracing 
 +             <font color="#C01C28"><b>-</b></font> __private_docs 
 +             <font color="#C01C28"><b>-</b></font> http2 
 +             <font color="#C01C28"><b>-</b></font> macros 
 +             <font color="#C01C28"><b>-</b></font> multipart 
 +             <font color="#C01C28"><b>-</b></font> ws 
 +<font color="#26A269"><b>    Updating</b></font> crates.io index 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">bat</font><font color="#999999"> </font><font color="#A347BA">-p</font><font color="#999999"> </font><font color="#999999"><u style="text-decoration-style:solid">Cargo.toml</u></font> 
 +</pre></html></WRAP> 
 +<WRAP color_result><html><pre> 
 +<font color="#F8F8F2">[</font><font color="#A6E22E">package</font><font color="#F8F8F2">]</font> 
 +<font color="#F92672">name</font><font color="#F8F8F2"> = </font><font color="#E6DB74">&quot;haruo_axum&quot;</font> 
 +<font color="#F92672">version</font><font color="#F8F8F2"> = </font><font color="#E6DB74">&quot;0.1.0&quot;</font> 
 +<font color="#F92672">edition</font><font color="#F8F8F2"> = </font><font color="#E6DB74">&quot;2021&quot;</font> 
 + 
 +<font color="#F8F8F2">[</font><font color="#A6E22E">dependencies</font><font color="#F8F8F2">]</font> 
 +<font color="#F92672">axum</font><font color="#F8F8F2"> = </font><font color="#E6DB74">&quot;0.7.5&quot;</font> 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +**Features** (特徴) を有効にしてクレートを追加する場合...🤔\\ 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">cargo</font> add to<font color="#999999">kio </font><font color="#A347BA">--features</font><font color="#999999"> rt-multi-thread</font> 
 +</pre></html></WRAP> 
 +Or 
 +<WRAP color_command><html><pre> 
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">cargo</font> add to<font color="#999999">kio </font><font color="#A347BA">-F</font><font color="#999999"> rt-multi-thread</font> 
 +</pre></html></WRAP> 
 +<WRAP color_result_hlong><html><pre> 
 +<font color="#26A269"><b>    Updating</b></font> crates.io index 
 +<font color="#26A269"><b>      Adding</b></font> tokio v1.38.0 to dependencies 
 +             Features: 
 +             <font color="#26A269"><b>+</b></font> num_cpus 
 +             <font color="#26A269"><b>+</b></font> rt 
 +             <font color="#26A269"><b>+</b></font> rt-multi-thread 
 +             <font color="#C01C28"><b>-</b></font> bytes 
 +             <font color="#C01C28"><b>-</b></font> fs 
 +             <font color="#C01C28"><b>-</b></font> full 
 +             <font color="#C01C28"><b>-</b></font> io-std 
 +             <font color="#C01C28"><b>-</b></font> io-util 
 +             <font color="#C01C28"><b>-</b></font> libc 
 +             <font color="#C01C28"><b>-</b></font> macros 
 +             <font color="#C01C28"><b>-</b></font> mio 
 +             <font color="#C01C28"><b>-</b></font> net 
 +             <font color="#C01C28"><b>-</b></font> parking_lot 
 +             <font color="#C01C28"><b>-</b></font> process 
 +             <font color="#C01C28"><b>-</b></font> signal 
 +             <font color="#C01C28"><b>-</b></font> signal-hook-registry 
 +             <font color="#C01C28"><b>-</b></font> socket2 
 +             <font color="#C01C28"><b>-</b></font> sync 
 +             <font color="#C01C28"><b>-</b></font> test-util 
 +             <font color="#C01C28"><b>-</b></font> time 
 +             <font color="#C01C28"><b>-</b></font> tokio-macros 
 +             <font color="#C01C28"><b>-</b></font> tracing 
 +             <font color="#C01C28"><b>-</b></font> windows-sys 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +依存クレートを追加済みでも、**Features** をあとから追加で有効化できる...🤔\\ 
 +**Features** を複数有効化したい場合はカンマ(",") で区切って指定する😊\\ 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">cargo</font> add di<font color="#999999">esel</font> 
 +</pre></html></WRAP> 
 +<WRAP color_result_hlong><html><pre> 
 +<font color="#26A269"><b>    Updating</b></font> crates.io index 
 +<font color="#26A269"><b>      Adding</b></font> diesel v2.2.0 to dependencies 
 +             Features: 
 +             <font color="#26A269"><b>+</b></font> 32-column-tables 
 +             <font color="#26A269"><b>+</b></font> with-deprecated 
 +             <font color="#C01C28"><b>-</b></font> 128-column-tables 
 +             <font color="#C01C28"><b>-</b></font> 64-column-tables 
 +             <font color="#C01C28"><b>-</b></font> __with_asan_tests 
 +             <font color="#C01C28"><b>-</b></font> chrono 
 +             <font color="#C01C28"><b>-</b></font> extras 
 +             <font color="#C01C28"><b>-</b></font> huge-tables 
 +             <font color="#C01C28"><b>-</b></font> i-implement-a-third-party-backend-and-opt-into-breaking-changes 
 +             <font color="#C01C28"><b>-</b></font> ipnet-address 
 +             <font color="#C01C28"><b>-</b></font> large-tables 
 +             <font color="#C01C28"><b>-</b></font> mysql 
 +             <font color="#C01C28"><b>-</b></font> mysql_backend 
 +             <font color="#C01C28"><b>-</b></font> mysqlclient-src 
 +             <font color="#C01C28"><b>-</b></font> network-address 
 +             <font color="#C01C28"><b>-</b></font> numeric 
 +             <font color="#C01C28"><b>-</b></font> postgres 
 +             <font color="#C01C28"><b>-</b></font> postgres_backend 
 +             <font color="#C01C28"><b>-</b></font> pq-src 
 +             <font color="#C01C28"><b>-</b></font> quickcheck 
 +             <font color="#C01C28"><b>-</b></font> r2d2 
 +             <font color="#C01C28"><b>-</b></font> returning_clauses_for_sqlite_3_35 
 +             <font color="#C01C28"><b>-</b></font> serde_json 
 +             <font color="#C01C28"><b>-</b></font> sqlite 
 +             <font color="#C01C28"><b>-</b></font> time 
 +             <font color="#C01C28"><b>-</b></font> unstable 
 +             <font color="#C01C28"><b>-</b></font> uuid 
 +             <font color="#C01C28"><b>-</b></font> without-deprecated 
 +<font color="#26A269"><b>    Updating</b></font> crates.io index 
 +</pre></html></WRAP> 
 +<WRAP color_command><html><pre> 
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">cargo</font> add diesel <font color="#A347BA">-F</font> postgres,r2d2,chrono,i-implement-a-third-party-backend-and-opt-into-breaking-changes 
 +</pre></html></WRAP> 
 +<WRAP color_result_hlong><html><pre> 
 +<font color="#26A269"><b>    Updating</b></font> crates.io index 
 +<font color="#26A269"><b>      Adding</b></font> diesel v2.2.0 to dependencies 
 +             Features: 
 +             <font color="#26A269"><b>+</b></font> 32-column-tables 
 +             <font color="#26A269"><b>+</b></font> chrono 
 +             <font color="#26A269"><b>+</b></font> i-implement-a-third-party-backend-and-opt-into-breaking-changes 
 +             <font color="#26A269"><b>+</b></font> postgres 
 +             <font color="#26A269"><b>+</b></font> postgres_backend 
 +             <font color="#26A269"><b>+</b></font> r2d2 
 +             <font color="#26A269"><b>+</b></font> with-deprecated 
 +             <font color="#C01C28"><b>-</b></font> 128-column-tables 
 +             <font color="#C01C28"><b>-</b></font> 64-column-tables 
 +             <font color="#C01C28"><b>-</b></font> __with_asan_tests 
 +             <font color="#C01C28"><b>-</b></font> extras 
 +             <font color="#C01C28"><b>-</b></font> huge-tables 
 +             <font color="#C01C28"><b>-</b></font> ipnet-address 
 +             <font color="#C01C28"><b>-</b></font> large-tables 
 +             <font color="#C01C28"><b>-</b></font> mysql 
 +             <font color="#C01C28"><b>-</b></font> mysql_backend 
 +             <font color="#C01C28"><b>-</b></font> mysqlclient-src 
 +             <font color="#C01C28"><b>-</b></font> network-address 
 +             <font color="#C01C28"><b>-</b></font> numeric 
 +             <font color="#C01C28"><b>-</b></font> pq-src 
 +             <font color="#C01C28"><b>-</b></font> quickcheck 
 +             <font color="#C01C28"><b>-</b></font> returning_clauses_for_sqlite_3_35 
 +             <font color="#C01C28"><b>-</b></font> serde_json 
 +             <font color="#C01C28"><b>-</b></font> sqlite 
 +             <font color="#C01C28"><b>-</b></font> time 
 +             <font color="#C01C28"><b>-</b></font> unstable 
 +             <font color="#C01C28"><b>-</b></font> uuid 
 +             <font color="#C01C28"><b>-</b></font> without-deprecated 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +開発時のみ必要なクレートは、<html><code>--dev</code></html>ションを指定して追加する🤔\\ 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">cargo</font> add <font color="#A347BA">--dev</font> assert_cmd predicates 
 +</pre></html></WRAP> 
 +<WRAP color_result_hlong><html><pre> 
 +<font color="#26A269"><b>    Updating</b></font> crates.io index 
 +<font color="#26A269"><b>      Adding</b></font> assert_cmd v2.0.14 to dev-dependencies 
 +             Features: 
 +             <font color="#C01C28"><b>-</b></font> color 
 +             <font color="#C01C28"><b>-</b></font> color-auto 
 +<font color="#26A269"><b>      Adding</b></font> predicates v3.1.0 to dev-dependencies 
 +             Features: 
 +             <font color="#26A269"><b>+</b></font> color 
 +             <font color="#26A269"><b>+</b></font> diff 
 +             <font color="#26A269"><b>+</b></font> float-cmp 
 +             <font color="#26A269"><b>+</b></font> normalize-line-endings 
 +             <font color="#26A269"><b>+</b></font> regex 
 +             <font color="#C01C28"><b>-</b></font> unstable 
 +<font color="#26A269"><b>    Updating</b></font> crates.io index 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +必要なクレートをどんどん追加する😅\\ 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">cargo</font> add serde <font color="#A347BA">-F</font> derive 
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">cargo</font> add tr<font color="#999999">acing-subscriber</font> 
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">cargo</font> add cl<font color="#999999">ap </font><font color="#A347BA">-F</font><font color="#999999"> derive</font> 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +==== コードチェック [check] ==== 
 +パッケージコードと依存関係にエーがないか確認する🤔\\ 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">cargo</font> ch<font color="#999999">eck</font> 
 +</pre></html></WRAP> 
 +<WRAP color_result_hlong><html><pre> 
 +<font color="#26A269"><b>  Downloaded</b></font> diesel_table_macro_syntax v0.2.0 
 +<font color="#26A269"><b>  Downloaded</b></font> utf8parse v0.2.2 
 +<font color="#26A269"><b>  Downloaded</b></font> dsl_auto_type v0.1.0 
 +<font color="#26A269"><b>  Downloaded</b></font> httparse v1.9.3 
 +<font color="#26A269"><b>  Downloaded</b></font> parking_lot v0.12.3 
 +<font color="#26A269"><b>  Downloaded</b></font> clap v4.5.7 
 +<font color="#26A269"><b>  Downloaded</b></font> diesel_derives v2.2.0 
 +<font color="#26A269"><b>  Downloaded</b></font> clap_builder v4.5.7 
 +<font color="#26A269"><b>  Downloaded</b></font> diesel v2.2.0 
 +<font color="#26A269"><b>  Downloaded</b></font> 9 crates (759.2 KB) in 2m 56s 
 +<font color="#26A269"><b>   Compiling</b></font> proc-macro2 v1.0.85 
 +<font color="#26A269"><b>   Compiling</b></font> unicode-ident v1.0.12 
 +<font color="#26A269"><b>   Compiling</b></font> libc v0.2.155 
 +<font color="#26A269"><b>    Checking</b></font> itoa v1.0.11 
 +<font color="#26A269"><b>   Compiling</b></font> autocfg v1.3.0 
 +<font color="#26A269"><b>    Checking</b></font> pin-project-lite v0.2.14 
 +<font color="#26A269"><b>    Checking</b></font> smallvec v1.13.2 
 +<font color="#26A269"><b>    Checking</b></font> futures-core v0.3.30 
 +<font color="#26A269"><b>    Checking</b></font> log v0.4.21 
 +<font color="#26A269"><b>    Checking</b></font> once_cell v1.19.0 
 +<font color="#26A269"><b>   Compiling</b></font> rustversion v1.0.17 
 +<font color="#26A269"><b>    Checking</b></font> fnv v1.0.7 
 +<font color="#26A269"><b>    Checking</b></font> pin-utils v0.1.0 
 +<font color="#26A269"><b>    Checking</b></font> cfg-if v1.0.0 
 +<font color="#26A269"><b>    Checking</b></font> futures-task v0.3.30 
 +<font color="#26A269"><b>    Checking</b></font> bytes v1.6.0 
 +<font color="#26A269"><b>    Checking</b></font> http v1.1.0 
 +<font color="#26A269"><b>   Compiling</b></font> quote v1.0.36 
 +<font color="#26A269"><b>   Compiling</b></font> syn v2.0.66 
 +<font color="#26A269"><b>    Checking</b></font> futures-util v0.3.30 
 +<font color="#26A269"><b>    Checking</b></font> tracing-core v0.1.32 
 +<font color="#26A269"><b>   Compiling</b></font> lock_api v0.4.12 
 +<font color="#26A269"><b>   Compiling</b></font> serde v1.0.203 
 +<font color="#26A269"><b>   Compiling</b></font> strsim v0.11.1 
 +<font color="#26A269"><b>   Compiling</b></font> ident_case v1.0.1 
 +<font color="#26A269"><b>   Compiling</b></font> parking_lot_core v0.9.10 
 +<font color="#26A269"><b>    Checking</b></font> http-body v1.0.0 
 +<font color="#26A269"><b>    Checking</b></font> mio v0.8.11 
 +<font color="#26A269"><b>    Checking</b></font> socket2 v0.5.7 
 +<font color="#26A269"><b>    Checking</b></font> num_cpus v1.16.0 
 +<font color="#26A269"><b>   Compiling</b></font> heck v0.5.0 
 +<font color="#26A269"><b>   Compiling</b></font> httparse v1.9.3 
 +<font color="#26A269"><b>    Checking</b></font> scopeguard v1.2.0 
 +<font color="#26A269"><b>   Compiling</b></font> num-traits v0.2.19 
 +<font color="#26A269"><b>    Checking</b></font> utf8parse v0.2.2 
 +<font color="#26A269"><b>    Checking</b></font> parking_lot v0.12.3 
 +<font color="#26A269"><b>    Checking</b></font> anstyle-parse v0.2.4 
 +<font color="#26A269"><b>    Checking</b></font> tracing v0.1.40 
 +<font color="#26A269"><b>   Compiling</b></font> axum-core v0.4.3 
 +<font color="#26A269"><b>    Checking</b></font> futures-channel v0.3.30 
 +<font color="#26A269"><b>    Checking</b></font> percent-encoding v2.3.1 
 +<font color="#26A269"><b>    Checking</b></font> httpdate v1.0.3 
 +<font color="#26A269"><b>    Checking</b></font> tower-service v0.3.2 
 +<font color="#26A269"><b>    Checking</b></font> tower-layer v0.3.2 
 +<font color="#26A269"><b>    Checking</b></font> colorchoice v1.0.1 
 +<font color="#26A269"><b>   Compiling</b></font> either v1.12.0 
 +<font color="#26A269"><b>    Checking</b></font> ryu v1.0.18 
 +<font color="#26A269"><b>    Checking</b></font> anstyle v1.0.7 
 +<font color="#26A269"><b>    Checking</b></font> anstyle-query v1.1.0 
 +<font color="#26A269"><b>    Checking</b></font> is_terminal_polyfill v1.70.0 
 +<font color="#26A269"><b>   Compiling</b></font> pq-sys v0.6.0 
 +<font color="#26A269"><b>   Compiling</b></font> serde_json v1.0.117 
 +<font color="#26A269"><b>    Checking</b></font> anstream v0.6.14 
 +<font color="#26A269"><b>    Checking</b></font> form_urlencoded v1.2.1 
 +<font color="#26A269"><b>    Checking</b></font> scheduled-thread-pool v0.2.7 
 +<font color="#26A269"><b>    Checking</b></font> http-body-util v0.1.2 
 +<font color="#26A269"><b>   Compiling</b></font> axum v0.7.5 
 +<font color="#26A269"><b>    Checking</b></font> mime v0.3.17 
 +<font color="#26A269"><b>    Checking</b></font> overload v0.1.1 
 +<font color="#26A269"><b>    Checking</b></font> clap_lex v0.7.1 
 +<font color="#26A269"><b>    Checking</b></font> sync_wrapper v0.1.2 
 +<font color="#26A269"><b>   Compiling</b></font> darling_core v0.20.9 
 +<font color="#26A269"><b>   Compiling</b></font> diesel_table_macro_syntax v0.2.0 
 +<font color="#26A269"><b>    Checking</b></font> lazy_static v1.4.0 
 +<font color="#26A269"><b>    Checking</b></font> iana-time-zone v0.1.60 
 +<font color="#26A269"><b>    Checking</b></font> sharded-slab v0.1.7 
 +<font color="#26A269"><b>    Checking</b></font> chrono v0.4.38 
 +<font color="#26A269"><b>    Checking</b></font> clap_builder v4.5.7 
 +<font color="#26A269"><b>    Checking</b></font> nu-ansi-term v0.46.0 
 +<font color="#26A269"><b>    Checking</b></font> r2d2 v0.8.10 
 +<font color="#26A269"><b>    Checking</b></font> tracing-log v0.2.0 
 +<font color="#26A269"><b>    Checking</b></font> thread_local v1.1.8 
 +<font color="#26A269"><b>    Checking</b></font> sync_wrapper v1.0.1 
 +<font color="#26A269"><b>    Checking</b></font> memchr v2.7.2 
 +<font color="#26A269"><b>    Checking</b></font> matchit v0.7.3 
 +<font color="#26A269"><b>    Checking</b></font> bitflags v2.5.0 
 +<font color="#26A269"><b>    Checking</b></font> byteorder v1.5.0 
 +<font color="#26A269"><b>    Checking</b></font> tracing-subscriber v0.3.18 
 +<font color="#26A269"><b>   Compiling</b></font> serde_derive v1.0.203 
 +<font color="#26A269"><b>   Compiling</b></font> tokio-macros v2.3.0 
 +<font color="#26A269"><b>   Compiling</b></font> darling_macro v0.20.9 
 +<font color="#26A269"><b>   Compiling</b></font> pin-project-internal v1.1.5 
 +<font color="#26A269"><b>    Checking</b></font> tokio v1.38.0 
 +<font color="#26A269"><b>   Compiling</b></font> darling v0.20.9 
 +<font color="#26A269"><b>   Compiling</b></font> dsl_auto_type v0.1.0 
 +<font color="#26A269"><b>   Compiling</b></font> async-trait v0.1.80 
 +<font color="#26A269"><b>    Checking</b></font> pin-project v1.1.5 
 +<font color="#26A269"><b>   Compiling</b></font> diesel_derives v2.2.0 
 +<font color="#26A269"><b>    Checking</b></font> hyper v1.3.1 
 +<font color="#26A269"><b>    Checking</b></font> hyper-util v0.1.5 
 +<font color="#26A269"><b>    Checking</b></font> tower v0.4.13 
 +<font color="#26A269"><b>   Compiling</b></font> clap_derive v4.5.5 
 +<font color="#26A269"><b>    Checking</b></font> serde_urlencoded v0.7.1 
 +<font color="#26A269"><b>    Checking</b></font> serde_path_to_error v0.1.16 
 +<font color="#26A269"><b>    Checking</b></font> diesel v2.2.0 
 +<font color="#26A269"><b>    Checking</b></font> clap v4.5.7 
 +<font color="#26A269"><b>    Checking</b></font> haruo_axum v0.1.0 (/home/tomoyan/my_projects/haruo_axum) 
 +<font color="#26A269"><b>    Finished</b></font> `dev` profile [unoptimized + debuginfo] target(s) in 3m 57s 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +===== 慣れていないと戸惑うもの...😲 ===== 
 +[[https://doc.rust-jp.rs/rust-by-example-ja/error/option_unwrap.html|Option と unwrap - Rust By Example 日本語版]]\\ 
 +[[https://doc.rust-jp.rs/rust-by-example-ja/error/option_unwrap/question_mark.html|?によるOptionのアパック - Rust By Example 日本版]]\\ 
 +[[https://doc.rust-jp.rs/rust-by-example-ja/error/result.html|Result - Rust By Example 日本語版]]\\ 
 + 
 +==== いちいち細々とうるさいコンパイラを黙らせる😝 ==== 
 +<WRAP color_term> 
 +<WRAP color_result><html><pre> 
 +<font color="#A2734C"><b>warning</b></font><b>: unused imports: `Spinner`, `Spinners`</b> 
 +  <font color="#2A7BDE"><b>--&gt; </b></font>src/main.rs:24:16 
 +   <font color="#2A7BDE"><b>|</b></font> 
 +<font color="#2A7BDE"><b>24</b></font> <font color="#2A7BDE"><b>|</b></font> use spinners::{Spinner, Spinners}; 
 +   <font color="#2A7BDE"><b>| </b></font>               <font color="#A2734C"><b>^^^^^^^</b></font>  <font color="#A2734C"><b>^^^^^^^^</b></font> 
 +   <font color="#2A7BDE"><b>|</b></font> 
 +   <font color="#2A7BDE"><b>= </b></font><b>note</b>: `#[warn(unused_imports)]` on by default 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +<html><code>#[warn(unused_imports)]</code></html> を <html><code>#[allow(unused_imports)]</code></html> して、該当箇所に貼付けて黙らせる😝\\ 
 +<wrap em>あとから **allow** を検索して修正しないと直し漏れる可能性がある🤔</wrap>\\ 
 +<WRAP color_term> 
 +<WRAP color_mincode><html><pre> 
 +<font color="#444444">  23</font> <font color="#F8F8F2">#[allow(unused_imports)]</font> 
 +<font color="#444444">  24</font> <font color="#F92672">use</font><font color="#F8F8F2"> spinners::{Spinner, Spinners};</font> 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +=== モジュール、クレート全体に属性を付与 === 
 +[[https://doc.rust-lang.org/reference/attributes.html|Attributes - The Rust Reference]]\\ 
 +[[so>questions/27454761/what-is-a-crate-attribute-and-where-do-i-add-it|rust - What is a crate attribute and where do I add it? - Stack Overflow]]\\ 
 + 
 +ファイルの先頭で <html><code>#!</code></html> 構文で <html><code>#![allow(unused)]</code></html>を使🤔\\ 
 +diesel_ext で model を生成すると書かれている😉\\ 
 +<WRAP color_term> 
 +<WRAP color_result><html><pre> 
 +<font color="#75715E">// Generated by diesel_ext</font> 
 + 
 +<font color="#F8F8F2">#![allow(unused)]</font> 
 +</pre></html></WRAP> 
 +</WRAP> 
 +===== できいと言われてしたくなる時あります...😅 ===== 
 +**String を &'static str に変換したい**\\ 
 +String はプログラムの存続期間全体に渡って存続していないので、String から &'static str を取得することはできない...🤔\\ 
 +[[so>questions/23975391/how-to-convert-a-string-into-a-static-str|rust - How to convert a String into a &'static str - Stack Overflow]]\\ 
 + 
 +===== Rust にふつうにありそうで無いもの...😳 =====
  
 ==== Try - Catch ステートメント ==== ==== Try - Catch ステートメント ====
 [[so>questions/55755552/what-is-the-rust-equivalent-to-a-try-catch-statement|error handling - What Is the Rust Equivalent to a Try-Catch Statement? - Stack Overflow]]\\ [[so>questions/55755552/what-is-the-rust-equivalent-to-a-try-catch-statement|error handling - What Is the Rust Equivalent to a Try-Catch Statement? - Stack Overflow]]\\
 +
 +===== もしもハマってしまったら...🤪🔰 =====
 +
 +==== cargo add tokio してるのに #[tokio::main] が使えない 😅 ====
 +[[so>questions/63874178/cannot-find-tokiomain-macro|rust - Cannot find tokio::main macro? - Stack Overflow]]\\
 +<WRAP color_term>
 +<WRAP color_result><html><pre>
 +<font color="#F66151"><b>error[E0433]</b></font><b>: failed to resolve: could not find `main` in `tokio`</b>
 +  <font color="#2A7BDE"><b>--&gt; </b></font>src/main.rs:69:10
 +   <font color="#2A7BDE"><b>|</b></font>
 +<font color="#2A7BDE"><b>69</b></font> <font color="#2A7BDE"><b>|</b></font> #[tokio::main]
 +   <font color="#2A7BDE"><b>| </b></font>         <font color="#F66151"><b>^^^^</b></font> <font color="#F66151"><b>could not find `main` in `tokio`</b></font>
 +</pre></html></WRAP>
 +</WRAP>
 +
 +[[https://docs.rs/tokio/latest/tokio/attr.main.html|main in tokio - Rust]]\\
 +<html><code>#[main]</code></html> には Cargo.toml の <html><code>features = ["rt", "macros"]</code></html> が必要です🤔\\
 +Available on crate features <wrap em>rt</wrap> and <wrap em>macros</wrap> only.\\
 +<WRAP color_term>
 +<WRAP color_command><html><pre>
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">bat</font><font color="#FF9999"> </font><font color="#A347BA">-p</font><font color="#FF9999"> </font><font color="#A347BA">--pager=never</font><font color="#FF9999"> </font><font color="#FF9999"><u style="text-decoration-style:solid">Cargo.toml</u></font>
 +</pre></html></WRAP>
 +<WRAP color_result><html><pre>
 +<font color="#F92672">tokio</font><font color="#F8F8F2"> = { </font><font color="#F92672">version</font><font color="#F8F8F2"> = </font><font color="#E6DB74">&quot;1.38.0&quot;</font><font color="#F8F8F2">, </font><font color="#F92672">features</font><font color="#F8F8F2"> = [</font><font color="#E6DB74">&quot;rt&quot;</font><font color="#F8F8F2">, </font><font color="#E6DB74">&quot;macros&quot;</font><font color="#F8F8F2">] }</font>
 +</pre></html></WRAP>
 +</WRAP>
 +
 +<html><code>#[tokio::main]</code></html> には Cargo.toml の <html><code>features = ["rt-multi-thread", "macros"]</code></html> が必要です🤔\\
 +Note: The multi-threaded runtime requires the <wrap em>rt-multi-thread</wrap> feature flag.\\
 +<WRAP color_term>
 +<WRAP color_command><html><pre>
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">bat</font><font color="#FF9999"> </font><font color="#A347BA">-p</font><font color="#FF9999"> </font><font color="#A347BA">--pager=never</font><font color="#FF9999"> </font><font color="#FF9999"><u style="text-decoration-style:solid">Cargo.toml</u></font>
 +</pre></html></WRAP>
 +<WRAP color_result><html><pre>
 +<font color="#F92672">tokio</font><font color="#F8F8F2"> = { </font><font color="#F92672">version</font><font color="#F8F8F2"> = </font><font color="#E6DB74">&quot;1.38.0&quot;</font><font color="#F8F8F2">, </font><font color="#F92672">features</font><font color="#F8F8F2"> = [</font><font color="#E6DB74">&quot;rt-multi-thread&quot;</font><font color="#F8F8F2">, </font><font color="#E6DB74">&quot;macros&quot;</font><font color="#F8F8F2">] }</font>
 +</pre></html></WRAP>
 +</WRAP>
  
 ===== FFI - Foreign Function Interface ===== ===== FFI - Foreign Function Interface =====
  • rust/language_memo.1718258278.txt.gz
  • 最終更新: 2024/06/13 14:57
  • by ともやん