[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 06/23 14:13 / Filesize : 233 KB / Number-of Response : 1025
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラミング言語 Rust 2



1 名前:デフォルトの名無しさん mailto:sageteoff [2016/11/02(水) 03:12:40.30 ID:MYQ7Ohex.net]
Mozillaがリリースした、プログラミング言語「Rust」について語るスレです。

www.rust-lang.org/
https://github.com/rust-lang/rust

Servo
https://servo.org/
https://github.com/servo/servo

◆前スレ
プログラミング言語 Rust
echo.2ch.net/test/read.cgi/tech/1327489549/

596 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 00:07:58.70 ID:jGQ3Wak9.net]
`:arg1` は型注釈と混同する
ラムダ計算風に `let f = \x y. x + y` はどうかな

597 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 01:20:07.77 ID:hUBRL+mA.net]
パラレルワールドのrust文法を議論してて草生える
お前らは何年前に分岐した世界線にいるんだw

598 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 04:54:52.43 ID:nJl4hm2p.net]
何で新しい言語が創られるかといえば、それはもう、C++コードのメンテから解放されたいという宿願のためでしょ

599 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 19:53:48.61 ID:jxiHI5n5.net]
しかし名前が良くないなこの言語は
なんでまたこんな名前にしたんだろうか

600 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 20:15:31.45 ID:FTYjcOZq.net]
俺は名前は好き
四文字でさえあればいいと思ってる
それよりも嫌なのはifの波括弧

短く書きたいときCなら
if (cond) foo(); else bar();
で、目に優しい

if cond {foo();} else {bar();}
これはたまらなく苦痛
C方式に戻してもらうか三項演算子の導入をしてほすい

601 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 20:19:33.66 ID:FTYjcOZq.net]
https://doc.rust-lang.org/book/if.html
let y = if x == 5 { 10 } else { 15 }; // y: i32
↑これよりはやっぱ↓
let y = x == 5 ? 10 : 15;

602 名前:デフォルトの名無しさん [2017/02/25(土) 20:37:24.76 ID:gF7KaGBm.net]
>>588
それがC言語でどれだけのバグを生み出してきたか考えたら有り得ないと思うのだが。
”俺は間違わない?” だったらC使ってればいいんじゃね?

603 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 20:39:21.20 ID:FTYjcOZq.net]
>>590
どれだけのバグを生み出してきたの?

604 名前:デフォルトの名無しさん [2017/02/25(土) 20:42:35.76 ID:gF7KaGBm.net]
>>591
qiita.com/tomohisaota/items/e6995e89b843e1295c08



605 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 20:43:00.57 ID:AAACSty6.net]
適用の順序が一見して分からないケースがあってクソ

606 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 20:48:49.11 ID:FTYjcOZq.net]
>>592
ほえー
あーifに波括弧大事、これがあるからやっぱ波括弧大事だなぁ
波括弧ないからこそこんなことになっちゃうんだなぁ
波括弧さえあればこれ避けられたのになぁ
波括弧無しのifなんてあり得ないよなぁ
ってこと?

あとはどれだけのバグを生み出してきたの?

607 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 20:58:23.81 ID:AAACSty6.net]
>>592を一般化した
if (cond)
  foo();
  bar();
の形式(ただし全角スペースはインデントの代わり)のバグはAppleの例に限らず普遍的なものだろ

608 名前:デフォルトの名無しさん [2017/02/25(土) 21:03:09.97 ID:gF7KaGBm.net]
>>594
多くのコーディング規約で禁止されてる。(例えばGoogle C++ Style Guideとか)。
わざわざそういう項目がある理由は、まぁ言わなくても解るよね?

609 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:04:36.43 ID:OjMnqw5o.net]
僕はそんなコード絶対に書かないしレビューでも見落とさないんですうううううう!!!!!
万一紛れ込んでもテストで拾うしっ!!!!!!!!!!

610 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:08:17.05 ID:FTYjcOZq.net]
>>596
ちょっと茶化したけど、理屈は分からないというわけではないよ

実際にrustのifがこうなってる経緯は知らないけど
現状について少なくともそういう視点で支持する意見があるのは正直驚いた
勉強になりました

611 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:11:22.58 ID:ihKm/PIs.net]
ifのやらかしは有名なプロジェクトでもあったりするよね

612 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:16:11.60 ID:oY1Z/R8w.net]
別に見づらくないじゃんって意見のほうが多数な気がするけど
https://github.com/rust-lang/rust/issues/1698

613 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:17:27.66 ID:A0aZ5Z9S.net]
ブレインファックじゃないんだから、人間に読めるコードとなる言語仕様が必要

614 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:20:30.53 ID:AAACSty6.net]
まあ実際のコードでは無理に一行にまとめず5行に分けろってことだな
let x = if cond {
f()
} else {
g()
};

もしf(cond ? g() : h())みたいな形で使おうと思っていたのなら、そもそもそれ読みづらいから一旦バインドしてからその結果を使おう
let x = if cond {
g()
} else {
h()
};
f(x);



615 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:22:26.82 ID:oY1Z/R8w.net]
あと波括弧外せるようにする提案はここにあるから+1しとけ
https://github.com/rust-lang/rfcs/issues/1616
めっちゃ劣勢だけど

616 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:30:13.94 ID:FTYjcOZq.net]
>>602
一点だけ

let x = if cond {
g()
} else {
h()
};
f(x);

↑これよりやっぱ↓これが読みやすい(個人の感想です)

f(cond ? g() : h())

617 名前:デフォルトの名無しさん [2017/02/25(土) 21:51:13.57 ID:gF7KaGBm.net]
f(cond ? g() : h() ? q() : r() )
と書く奴が現れるデメリットの方がでかいと思うわ

618 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:53:07.56 ID:OjMnqw5o.net]
そしてfだのgだのが本当にただの関数呼び出しであるケースは少ないという

619 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 22:40:54.42 ID:Cjys9ebm.net]
波括弧外せなくてもいい派だけど、
三項演算子は何かいい感じのやつを追加してくれ

620 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 22:48:27.45 ID:jxiHI5n5.net]
if式なら三項演算子はいらないよ

621 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 23:00:24.91 ID:BrkcZ5hg.net]
if-elseの波括弧外したらtype ascriptionが曖昧になる。

622 名前:デフォルトの名無しさん [2017/02/25(土) 23:54:27.38 ID:+Hmh+RyZ.net]
>>604
ioでも使ってろ

623 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 23:57:17.74 ID:jxiHI5n5.net]
f( if cond { g() } else { h() } )

624 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 23:58:32.04 ID:0X9bWbPB.net]
3項演算子とか、関数型の基本のif式(if文じゃないよ)なんだけど、サポートしてねえのかよ



625 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 02:13:52.49 ID:Xq2/OYkK.net]
三項演算子なんてifが文になってる言語でようやく存在を許されるものじゃねえか
波括弧をダサいというのは分かる

626 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 02:26:37.59 ID:kIbkRe9i.net]
if x > 0 { x } else { -x }
if (x > 0) x else -x
個人的にはブレースなしだとelseの前後1トークンの範囲の視認性が低く感じる

627 名前:デフォルトの名無しさん [2017/02/26(日) 02:27:19.95 ID:hKGUofZ0.net]
if文はSwiftやGoとの差別化をしたいってこと?

628 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 11:17:28.79 ID:dRlELnWs.net]
波括弧省略はLinuxカーネルの連中が使い続けてる。
奴ら頭良いからあれでも上手く回ってるんだろうな。

逆に、波括弧省略するなって言われてる奴らは信用されてないってことなんだよ。

629 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 11:28:50.68 ID:kIbkRe9i.net]
そうだね
俺は当然ながら、例えばGoogleの人たちなんかよりよっぽど頭が悪いからブレースは省略しないよ

630 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 12:56:41.32 ID:ilyf8Ugu.net]
自覚があるのはよろしい
頭の悪い人は無理に波括弧省略しなくていいんだぞ
だれもそれを咎めはしないし止めもしない

631 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 13:14:04.69 ID:j+1S0ikr.net]
ソース管理がしっかり運用されてると
空の波括弧さんありがとう!!と感謝する機会が多くなる

632 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 13:42:37.90 ID:n9+kiTzj.net]
if文の波括弧は例え1行でも省略すべきではないな

633 名前:デフォルトの名無しさん [2017/02/26(日) 13:57:31.18 ID:AijJH6kn.net]
>>616
残念だけど常に付ける派だが省略するななんて言われたこと無いからそんな煽り無駄
それに自分だけじゃないんだよ。信頼出来るメンバーだけで開発するならRustを使う必要なんてない。

634 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 14:37:50.15 ID:8fV4SlqM.net]
>>588
激しく同意



635 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 14:55:00.32 ID:IwI2aqEg.net]
ifの波括弧強制は多いに賛成
Rustは設計思想からして堅牢性が重視する言語なので
むしろ波括弧無しは設計思想に反する構文

636 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 18:31:01.83 ID:3oI2dcr0.net]
SwiftもGoもモダンな言語のifは{}必須だからRustもそうなんだろう

637 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 19:58:29.36 ID:LZ77JUIB.net]
ちなみにOCamlだと
ttps://ocaml.org/learn/tutorials/if_statements_loops_and_recursion.ja.html#beginend
let max a b = if a > b then a else b;;
でありウルトラシンプル

複数にしたいときは丸カッコかbegin-end
if 1 = 0 then
print_endline "THEN"
else begin
print_endline "ELSE";
failwith "else clause"
end;;
if 1 = 0 then
print_endline "THEN"
else (
print_endline "ELSE";
failwith "else clause"
);;
こういう世界だと波括弧よりもbegin-endがシックリきてるように見えなくもない

638 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 20:06:13.47 ID:zLpKV4Hz.net]
英数字が多過ぎて慣れてないと通常の識別子と瞬時に弁別できない

639 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 21:47:19.08 ID:C84dJOXo.net]
慣れ慣れ
冷静に考えてみ?中括弧だって別に見やすい記号じゃない

640 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 23:55:54.57 ID:/1/jo1+J.net]
シンタックスハイライトの有無で全然違う

641 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 00:02:16.49 ID:JC90/ck5.net]
>>627
俺も慣れだと思う
括弧あった方が統一性があって俺はむしろ見やすい

642 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 00:20:31.68 ID:hQ8vIQRp.net]
wwwww

643 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 13:27:14.36 ID:dbhoX2Op.net]
今の日本のRust界隈って、LT会を開いて100人は集まるくらいの規模なのか
https://rust.connpass.com/event/48826/

644 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 14:13:16.39 ID:SH8mWFxK.net]
>>631
そういうのに集まるのって、入門が趣味の人でしょ



645 名前:デフォルトの名無しさん [2017/03/01(水) 22:45:28.30 ID:gWF4n/wu.net]
誰だって最初は入門から始まる。
臆するな、前へ進めよ。

646 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 17:47:06.67 ID:5xdornxH.net]
Rust Language Server alpha 2がリリース。かなりインストールしやすくなってる
https://github.com/rust-lang-nursery/rls

647 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 18:10:52.07 ID:io4sIXyE.net]
C++とかから来た人はrustでも波括弧使わせられるの?やだーwのイメージ

648 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 19:04:04.08 ID:u/9aEmwY.net]
sever-clientモデルのコンパイラってどうなんだろうね
一周回ってクライアントモデルが良いなってことにならなければ良いけどと心配してる

649 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 19:24:21.19 ID:dGAZp2xa.net]
文字セットが貧弱でCのトライグラフ使ってた時代を思い出せ、とか

650 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 22:21:45.15 ID:TuErB/Pj.net]
>>636
language server protocolはコンパイラじゃない。
rustだけのものじゃないし。

651 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 23:53:09.94 ID:unB1K5KY.net]
ビルドツールって言い回しでもいいけど、結局そういうモノが使えるのかという疑問なんだが
MSが切った規格っぽいけど、MSは使ってて流行ってるのかねぇ

652 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 23:58:57.23 ID:5xdornxH.net]
流行るかどうかは知らんが、使って見た感想としては、racerで不十分だったエラーチェックやgo to definitionとかもあってそれなりに快適
不満があるとすれば、初期化に時間がかかる(ただし2回目以降は少し速い)のと入力の度の解析に少し時間がかかる(ただしcargo checkよりは速い)のとキャッシュがクソでかいところかな

653 名前:デフォルトの名無しさん [2017/03/03(金) 02:48:30.02 ID:NOi6E2uI.net]
Rust(錆)
流行ることなく誰にも使われず錆びていくプログラミング言語、それがRust
ルストハリケーン

654 名前:デフォルトの名無しさん [2017/03/03(金) 02:50:44.93 ID:8SEA7Mtt.net]
language server protocolはビルドツールでもない。
エディタでコード補完とかフォーマットとか(VisualStudioのIntellisenseのようなもの)を実現するためのプロトコル。
エディタの機能拡張のためのものだよ。



655 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 05:22:56.35 ID:Mo/AGisi.net]
Ryzenなら、rustcも爆速になる?
https://twitter.com/FuAnTaJi/status/837313090190467072

656 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 05:26:52.91 ID:bMgzQydB.net]
Rustスレで語るほどの話題でもないな

657 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 05:46:13.37 ID:Dlw1K2JE.net]
>>642
話がズレてんぞ
「Rust Language Server」(ソフトウェア)の利便性/実用性を問うているのであって
「language server protocol」(プロトコル)の利便性/実用性を問うているんじゃない

>>640
ああ、キャッシュはクソでかいのか...
元コードや依存crateに比例するだろうけど多少の利便性のために使って良いものか微妙なのかなぁ

658 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 06:25:02.22 ID:bMgzQydB.net]
まあクソでかいと言ってもdebug buildのキャッシュに少し欠けるくらいだけどね
逆にいえばdebug buildと同等のオーダーで容量を食うということだが

659 名前:デフォルトの名無しさん [2017/03/03(金) 08:53:13.29 ID:8SEA7Mtt.net]
>>645
ビルドツールとかいって何に使うものかも解ってない >>639 みたいなのが居たから書いたのに話がずれてるって…

660 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 09:37:43.14 ID:NTvASRIg.net]
それでもその程度(debugビルド)か
提供体系変えたからってそれ以上は減らないだろうから
結局は、サーバクライアントモデルにメリットがあればって所なのな, 情報thx

661 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 10:21:19.53 ID:Ufz5V5uO.net]
LSPをサポートしてれば、エディタ/IDEそれぞれに特化したプラグインを作らなくていいところが良い
まあracerもそうだけど。後は非同期的なのも重い処理にはいいかもね

662 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 18:34:23.36 ID:NTvASRIg.net]
IntelliJのRustプラグインはRLS対応メンドイから当分見送りな!とか言ってるんだよねぇ
エディタ/IDEのフロントエンドは作り込み必要だし、LSP共通でできることって結構薄いレイヤーなんだろうな

663 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 23:51:37.58 ID:JBnTbtYi.net]
Rainicorn開発して自前でon the fly error checkやってたRustDTが
LSPが発表された途端にRustLSP開発始めたのにRLSがでてきて完全に沈黙中。
(´・ω・)カワイソス

LSPはリファクタに使える問い合わせもできるから
RLSとIDE側が対応すればrustのツールで初めてのリファクタ機能が現れるかも。

664 名前:デフォルトの名無しさん [2017/03/08(水) 03:21:51.70 ID:DeDFMxZF.net]
i.imgur.com/WTFdXwM.png

Rustのメモリ管理が良く分からないので
脳内整理してみたけどよく分からない



665 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 07:03:46.86 ID:jgMpoXzS.net]
このごちゃごちゃで整理とか笑える。

666 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 07:23:54.02 ID:CjJNAnlh.net]
コメ返してるのウケる

667 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 07:26:21.29 ID:fOyT060n.net]
こ、コメ

668 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 10:47:45.16 ID:6Gp+/qzY.net]
よく分かってないから脳内整理もぐちゃぐちゃになってるのではなかろうか
rustはマルチスレッドに影響受けることはないし、他にも理解が出来てない所が多そう

公式ドキュメントが分かりやすいからきちんと読み直したら?
https://doc.rust-lang.org/book/

>>654
ワロタ

669 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 13:45:42.21 ID:68sDUGxJ.net]
何が分からないのか分からない状態。borrowじゃなくてownershipが分からないのか、スタックとヒープが分からないのか。

670 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 13:59:22.48 ID:jMX+hATM.net]
>>652
java臭い

671 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 08:50:25.22 ID:mPQwWGXM.net]
>>455
JavaにはJapanese Eraあるな

672 名前:デフォルトの名無しさん [2017/03/11(土) 03:15:58.35 ID:ls0F4O8F.net]
Rustで作ったプログラムを公開するとき

Rust自身のライセンス文書と
crateで含めた各パッケージのライセンスと各パッケージが依存するパッケージのライセンスを
含める必要があると思うんですが

それらのライセンス文書をかき集めるcargoのコマンド等あったりしますか?
( ~/.cargo/registry/src/ 下にパッケージのソースファイルやライセンスファイルがあるのは分かってるんですが手動で集めるのは面倒なので・・・)

673 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:13:55.49 ID:kL5whW8F.net]
HyperのTokio化が間近まで迫っているわけだが、かなり仕組みが変わってて対応が面倒臭い

674 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:15:11.10 ID:x2OoeTeG.net]
DASH言語



675 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:16:44.20 ID:hkT0qMWn.net]
そういえばhyperってcharsetから自動でデコードしてくれないのかな

676 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:19:31.82 ID:qKzUYLvE.net]
>>662
まずは言語を動かすプロセッサーを作るための半導体から調達するのかな

677 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:24:05.78 ID:kL5whW8F.net]
Charsetはhyperの領分からはかなりかけ離れてるんじゃないかねえ。reqwestですら対応しなさそう

678 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:46:49.37 ID:qKzUYLvE.net]
charsetは別に良いけど、Content-Encodingは対応してくれないのかなぁ

679 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 09:04:48.56 ID:kL5whW8F.net]
>>666
gzipに関してはreqwestのupstreamで既に対応している
https://github.com/seanmonstar/reqwest/pull/61
いつリリースされるのかは分からん

680 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 12:10:28.94 ID:nSjuwCRc.net]
reqwestにモリモリとFeature Request投げつけて肥大化したライブラリにすればいいんじゃないかなぁ!

それを横目に、reqwestに代わる極最低限の機能をピックアップできるライブラリの登場を期待したい
tomlのoptionalで切れるのでもいいんだろうけど、crate分けてくれた方がrustらしい気がする

681 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 13:51:15.74 ID:oPHiMgG4.net]
Rayonの1.0 milestoneが残すところドキュメント関連のみとなって1.0が秒読みという感じでとてもよろしい
SerdeだのHyperだのRayonだのという目玉crateが軒並みpre-1.0なままなのは気持ち悪いからなあ

682 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 15:37:08.34 ID:O3/Gyy1q.net]
Windows版はVisual C++ 2015 Build Toolsをインストールする必要があるってことだけど、
これのライセンスってどうなってるの?
Communityと同じだったらうちの会社じゃあ使えないことになるけど、はっきり書いてある
ところが見つからない。

683 名前:デフォルトの名無しさん [2017/03/12(日) 15:41:23.49 ID:U4Jjwa7O.net]
>>670
インストーラーが表示しないの?

684 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 17:13:31.76 ID:O3/Gyy1q.net]
なるほど。ライセンス条項を表示して「同意する」にチェックを入れさせるいつもの奴じゃないから
スルーしそうになったけど、いちおうリンクが見つかった。ありがとう。



685 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 00:27:55.78 ID:olV+TTff.net]
#[allow(unuseed_variables)]
じゃなくgolangみたいに
let _ = hoge;
とプレースホルダでコンパイル通したりする?

686 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 00:32:20.78 ID:UwSzXh4Z.net]
>>673
それでも良いし、let _piyo = hoge;でも良い

687 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 22:39:18.78 ID:pGPNuxtq.net]
ていうかallow(unuseed_variables)とプレースホルダはぜんぜん違うぞ

688 名前:デフォルトの名無しさん mailto:sega [2017/03/14(火) 22:54:53.45 ID:UwSzXh4Z.net]
まあ確かに、unuseed_variablesなんてlintはないしな

689 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 09:52:08.89 ID:65dLeHL5.net]
うぬ種(unuseed)、、、これには深い秘密が

unused_variablesとプレースホルダ、ワーニングを消すために使うなら同じバイナリ出力するがな
traitのインターフェース切る時はプレースホルダ使ってる

690 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 22:41:36.30 ID:KeMWtB7g.net]
そういえばC++だとリリースビルドで消える変数はmaybe_unusedいるんだよな。rustかしこい!

691 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 03:23:47.24 ID:bRwtX1Af.net]
Announcing Rust 1.16
https://blog.rust-lang.org/2017/03/16/Rust-1.16.html

・staticとconstのlifetimeがデフォルトで'staticになった(RFC 1623)
// つまりこれが
const ENC: &'static [u8] = b"0123456789ABCDEF";
// こう書ける
const ENC: &[u8] = b"0123456789ABCDEF";

・consider using an explicit lifetime的なメッセージを廃止(不正確な内容を吐くことがあるから。将来安定すれば復活の可能性あり)

・cargo checkが追加(実際にコンパイルせずにコンパイルが通るかの検査だけを行う。cargo buildより時間の短縮が見込める)

・Cargo.tomlのpackage.categoriesがstableでも有効に

692 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 21:17:58.70 ID:OBbyZsQw.net]
b‘\x0a‘を”a”に一発で変換する関数ってライブラリにある?自分で書かないと無理?

693 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 21:33:20.90 ID:bRwtX1Af.net]
format!("{:x}", b'\x0a')

694 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 22:53:52.43 ID:OBbyZsQw.net]
>>681
マジでありがとう
こういうときはformatなのね



695 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 00:10:31.46 ID:c1jSzzlC.net]
cargo checkサブコマンド、エラー内容によっては挙動がおかしいんだよね。
cargo test --no-runなら完走する。それかrustcは問題ないから直接rustc叩く。

infinite typeが循環してるとrustcが止まらないのと組み合わさると
rustcがcargoに制御返さない→cargoが無言決め込むになって何が起こってるのかわからなかった。

>>682
自前で弱い動的型付け言語並みのto_string()実装しても良いんだぜ?

696 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 01:29:52.32 ID:ZU/olwx/.net]
標準ライブラリでは任意の記数法(62進数とか)を扱えないから自前でフォーマッタを定義してちょいちょいする羽目になることがある
std::fmt::fmt_radixは1.9で消えちゃったから、この手のものを公式で提供する気はなさそうだし






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<233KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef