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


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

Rust part10



1 名前:デフォルトの名無しさん mailto:sage [2021/04/02(金) 21:38:04.11 ID:L7IeSfpL.net]
Mozilla発のRust言語のスレ

公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust

Web上の実行環境
https://play.rust-lang.org

日本語の情報
https://rust-jp.rs/

前スレ
Rust part9
https://mevius.5ch.net/test/read.cgi/tech/1598112455/

801 名前:はちみつ餃子 mailto:sage [2021/05/31(月) 15:24:48.93 ID:hqkxpUd6.net]
ウェブシステム全体の実行コストはネットワークや IO にボトルネックが有るので
システム構成やらなんやらで工夫するのがまずやることで、
言語の速度が少しばかり速いのはそんなに効いてこないよ。

という話もよく聞くんだけど、実際のところどんなもんやろね?

802 名前:デフォルトの名無しさん [2021/05/31(月) 16:31:16.04 ID:slsuSMsk.net]
そりゃそうね
でも実行速度だけで選ぶわけじゃないからね

803 名前:デフォルトの名無しさん mailto:sage [2021/05/31(月) 19:40:04.29 ID:mBUAbPrR.net]
今まではハードにぶん投げても大丈夫だったのが
ハードの進化の鈍化でソフト側が工夫しないと駄目になりつつあるって話ってマジ?

804 名前:デフォルトの名無しさん mailto:sage [2021/05/31(月) 21:37:16.00 ID:M7WLmn8V.net]
いやそこでソフトで頑張ってもほぼダメだろ。。アーキテクチャで分散化考えないとって話じゃないかね

805 名前:はちみつ餃子 mailto:sage [2021/06/01(火) 01:05:37.48 ID:69wa4c/Y.net]
>>788
ハードウェアがもう伸びないってことではなくて、 CPU の速度が単純に速くなるという方向ではもう伸びにくいって話。
電子の大きさは変えられないから際限なく微細化できるわけではない。

わかりやすい例で言えば今のパソコンはマルチコアが当たり前になってて複数の CPU を載せる方向で性能を上げているが、
マルチコアを想定してないソフトをマルチコアパソコンで動かしてもひとつのコアしか使わないので性能が出ない。
高価な GPU を乗せても GPU を使うプログラムになってなきゃ意味がない。

ハードウェアの総合的な性能を上げるには色んな工夫があり得て、それらを実現すると同時に
ソフトウェアは「ハードウェアに合わせて」「ハードウェアの性能を引き出すように」工夫がいる。

これは今までにも普通にやってたことで、今になって必要になったわけじゃない。
小さな変化の積み重ねなこともあれば大きな変革を迫られることもあるってだけ。

806 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 07:44:50.11 ID:DWqq5xbS.net]
後藤弘茂のWeekly海外ニュース■ Prescott/Tejasは5GHz台、65nmのNehalemは10GHz以上に
ttps://pc.watch.impress.co.jp/docs/2003/0227/kaigai01.htm
当時は景気よかったっすね。すぐ後に爆熱で日和ったけど
そして今、300Wの時代・・・

てか並列化によるスループットの向上はこのあたりから検討されるようになっていた気が

807 名前:デフォルトの名無しさん [2021/06/01(火) 19:29:09.48 ID:a3oi+h5L.net]
>>784 でも何故かcargoだけはcargo install cargo --forceとすれば自分でコンパイルしたもので上書きができる謎

808 名前:デフォルトの名無しさん [2021/06/04(金) 15:33:30.83 ID:kJqxa98Z.net]
よくわからないんだけどこれ、C言語のポインタ渡しが諸悪の根源で、そこを断ちさえすればC言語も所有権概念を取り入れられるの?

809 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 15:42:09.57 ID:03MQShFS.net]
>>793
C言語において、ポインタは大発明で、それによってリンクリストやツリー構造
が簡単に実装に出来る様になった、大変重要なもの。
C言語からポインタを絶てば何も残らない。



810 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 15:48:43.92 ID:1/rRer4v.net]
Javaキチガイはポインタ使いこなせない
日本のMSの社員がソレだった
破棄忘れてやんのw

811 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 15:55:06.60 ID:JfDLBnT5.net]
RAIIなしで良いなら多少の拡張で所有権の概念取り込めるかも知れないけど
絶対スマートポインタ欲しくなるしCの表現力だと使いづらい物になりそうな気がする

812 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 16:03:03.62 ID:KjgiO9jk.net]
>>794
>C言語において、ポインタは大発明
笑笑

813 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 17:24:32.39 ID:Lunsq3fv.net]
Cと比較するのは流石に乱暴だろ
C++と比較するべき
で、C++でできなくてRustでできるものというのは現状存在しない (今後その差も埋まっていくだろうが)

C++とRustの違いはひとえにスタンスの違いだよ
自由奔放なC++か良いコードにカッチリ導いてくれるRustか
意欲的に新機能取り込んで発展してるのは両者とも同じ

814 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 17:31:18.17 ID:AGlHvwIO.net]
>>798
>C++でできなくてRustでできるものというのは現状存在しない
こういう比べ方はアホ
チューリング完全ならなんでもできるじゃんみたいなことになる
できるできないの線引きが恣意的

815 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 17:54:18.33 ID:7u0nl5aT.net]
>>799
バカアホじゃなくて、Rustでしかできないものの例を挙げてください
そうすれば一単語で反論の余地なく終わるんで

816 名前:デフォルトの名無しさん [2021/06/04(金) 17:58:01.49 ID:UUHTR6cx.net]
C++は奇麗に描くと言うのが出来ない

817 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 18:03:48.84 ID:Pwqe5Yy7.net]
>>800
C++でできなくてRustでできるもの
から
Rustでしかできないもの
への華麗な転身www

818 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 18:16:57.72 ID:hlBLv8XD.net]
C++はMemory Safetyをコンパイル時に担保できない
Rustを使う一番の動機

819 名前:デフォルトの名無しさん [2021/06/04(金) 18:53:59.58 ID:nHzCWsfU.net]
>>802 C++とRustの比較において「C++でできなくてRustでできるもの」と「Rustでしかできないもの」は同じ意味だから転身でもなんでもない
https://i.imgur.com/3svkdus.png



820 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 19:11:16.95 ID:s8nyhwnD.net]
Cloudflareの画像処理責任者を名乗る人も、これ以上C++ライブラリを増やすのはイヤでござると発言してるな

821 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 19:23:30.63 ID:4pNcWBF2.net]
>>804
C++とRust以外にも言語はたくさんある

822 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 19:29:23.53 ID:nsxzushh.net]
Rustのモジュール(ファイル分割)の仕組みはC++のヘッダー+ソース(+名前空間)より扱いやすいと思う
C++は分割コンパイルが主流だった歴史的経緯があるから仕方ないけど事前の宣言が必要なのは地味に面倒くさい

823 名前:デフォルトの名無しさん [2021/06/04(金) 19:43:15.38 ID:nHzCWsfU.net]
>>806 この会話の流れではC++とRustの比較をしていたから

824 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 19:58:10.76 ID:4pNcWBF2.net]
ライフタイムによるメモリ管理はRustオンリーだろ

825 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 20:12:39.71 ID:s8nyhwnD.net]
マイナーな環境だとC++プログラムは様々な理由でコンパイルが通らないことがよくある
Rustは基本的にはそういう事ないし、コンパイラ実装が一つしかないというのも利点に働く

826 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 20:40:42.82 ID:CpdoeubZ.net]
C++との比較を議論したいなら専用の隔離スレでどうぞ

827 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 22:02:04.46 ID:ivUqItUs.net]
>>793は言語レベルのサポートがほしいんだろ?
substructural type systemがないと無理。

>>809
MLkit,RTSJ,cyclone,ATS/ATS2。学術的にはとっくの昔に廃れたぞ。

828 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 22:04:58.58 ID:yXI/MC9G.net]
WinUIとRustやってる人いる?
同じネイティブのMFCとかと比べて、やっぱり生産性は高いんかな

829 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 22:26:52.09 ID:I1RVdPKQ.net]
メモリ関連って原因不明のバグ引き起こしやすいしトータルな目で見れば上がるんじゃないだろうか



830 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 23:27:29.47 ID:JfDLBnT5.net]
>>810
gcc-rsとかのプロジェクト始まってるけどそれはネガティブなことなのかね

831 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 06:04:54.16 ID:uC9Joojh.net]
>>810
そういえば、C++のSTLは、VSでは動くが、BSD系のLLVM用のlibc++は、
なかなか上手く動いてくれない。理由は、libc++が、その
基礎関数として滅多に使われないようなMB・WC文字変換関連や、
NAN、INFINITYなどのfloat/double調査関数など、昔ながらのC環境では
定義されて無いような(新しい)Cの関数を大量に必要としているため。
その意味で、WasmのWASIなんかは、たとえCUIだけであっても
世界共通の関数群を整備してくれるのだとしたら有りがたいかも知れない。
でもWASI自体の移植作業が必要になるから一緒か。

832 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 06:14:19.54 ID:uC9Joojh.net]
>>816
昔からCには文字種判別として、isalphaやisdigitなどがあるが、
libc++は、isalpha_l()などのlocale指定タイプを必要としていたりして
locale関連がやたらと複雑。また、その
isalpha_lなどを基礎にしてくれているならまだしも、isalpha_lが内部で使っている
文字種テーブル unsigned short _ctype[256]; も仮定していたりする。
このテーブルは、_CONTROL、_SPACE、_DIGIT、_ALPHAなどの
BIT定数とandを取ってBITが立っているかどうかで文字種を判定する。
それは環境依存なのだが、高速化のためか何故かそれを必要としている。
(C++のライブラリが欲しいのに、そのライブラリが、なぜか一般的ではない
大量のC関数や特殊なデータテーブルを必要としてしまっている。)
だから移植が進まない。
plain Cは、標準ライブラリが多くの環境である程度の互換性を持って整備されているが、
結果的にC++のSTLはなかなかそうではないようだ。

833 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 06:17:47.83 ID:uC9Joojh.net]
C++ライブラリがisalpha_lなどを用いてしまったら、速度面でC#やJavaなど
に比べた優位性が少なくなってしまうからかも知れない。
つまり高速化のためにやたらと移植性の低い方法を使っているから、
スムーズに移植が進まない。
それか単純にC++ライブラリを作る人の技術力が低いからだろうか?

834 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 06:20:08.28 ID:uC9Joojh.net]
>>801
すまんが、Rustはもっと出来ない気がする。

835 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 09:02:04.60 ID:KdS0cXcP.net]
RustスレでC++の話題が出てしまうのはもはや運命なのか

836 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 09:20:03.77 ID:3ILRB2eH.net]
>>820
そりゃ better C++言語として作られたんだから当たり前でしょう

837 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 09:32:35.80 ID:4o2YwJP1.net]
ライフラインの書き方がとにかく見づらい

838 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 09:45:07.09 ID:3ILRB2eH.net]
これヤバくない?
どうやって防いだらいいんだろう?

https://github.com/lucky/bad_actor_poc

839 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 09:46:58.65 ID:4o2YwJP1.net]
localhostに送るだけならいくないん?



840 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 09:53:33.78 ID:3ILRB2eH.net]
え、マジで言ってるの?

841 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 10:04:24.16 ID:4o2YwJP1.net]
あおられてもダメな理由がわかりまそん
びっくりはするけど

842 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 11:21:46.59 ID:KdS0cXcP.net]
悪意を持ったコードをビルドしない

843 名前:デフォルトの名無しさん [2021/06/05(土) 12:04:01.08 ID:bvIfRQLF.net]
c++との比較はガファムが結論出してくれたからもう話すことなどない

844 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 12:08:54.56 ID:85+uBK5B.net]
何をみて結論だと思ってんだか。短絡的だな。

845 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 12:26:06.61 ID:YTe/4gPS.net]
依存するクレートの依存するクレートの依存するクレートの以下無限ループまで全部チェックしないと駄目ー?(´・ω・`)

846 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 12:58:14.11 ID:KdS0cXcP.net]
チェックするツールとか誰か作っていそうだね
バイナリを診断するよりは簡単だろうし

847 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 13:57:18.40 ID:IMH8ctkE.net]
>>826
念のためマジレスすると公開した人がいつでもlocalhostを〇国サーバーのアドレスに書き換えられるってこと
githubのオープンソースでそれやったらすぐにばれそうだけど

ビルド時ならともかくエディタ起動直後のコード解析でデータが送信されるのは盲点やね

848 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 14:01:47.49 ID:f5S9H8yw.net]
ビルドしなくてもファイルを開いたらコードが実行されるというのはよろしくないね

ファイルやネットワークならアクセスされる側でブロック可能だけど
メモリはサンドボックス内のみで展開・実行されるようにしないとブロックできない気がする

サンドボックス化できなければ
cargo auditやcargo crevを通して怪しいcrateだけ自分でチェックするとかかな

849 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 14:06:05.14 ID:KdS0cXcP.net]
vscodeやlspヤバイな



850 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 14:13:31.58 ID:8YO6sBC6.net]
解決方: vscode を使わない

851 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 14:27:34.92 ID:4o2YwJP1.net]
まったくだ

852 名前:デフォルトの名無しさん [2021/06/05(土) 14:48:29.61 ID:uV7DnhUL.net]
見た感じVSCode以外でもマクロが実行されるようなことをすると駄目っぽいが

853 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 14:52:35.33 ID:4o2YwJP1.net]
MS自身がやりたい放題だからメンタルも伝播するだろうな

854 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 15:03:58.08 ID:85+uBK5B.net]
>>835
それrust使わなけりゃでも良くね?

855 名前:デフォルトの名無しさん [2021/06/05(土) 15:09:20.73 ID:uV7DnhUL.net]
そもそもこれ本質はライブラリの信頼性って問題だと思うんだよな
Rustだけじゃなく他の言語にも言える話

856 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 15:22:11.73 ID:85+uBK5B.net]
お得意の静的チェックでなんとかしたら?

857 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 15:29:47.09 ID:KdS0cXcP.net]
中国のipアドレスは

858 名前:全部ブロックしておくのが正解だな []
[ここ壊れてます]

859 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 15:51:07.65 ID:3ILRB2eH.net]
IntelliJ/CLion でもproc_macro実行されちゃうの?



860 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 16:11:56.77 ID:Fi/fLauk.net]
LSPはクソ
vscodeありきの思想

861 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 16:32:08.49 ID:6EguRj/L.net]
LSPってHSPの親戚ですか?

862 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 16:43:48.73 ID:KdS0cXcP.net]
long short play モードだよ

863 名前:はちみつ餃子 mailto:sage [2021/06/05(土) 16:56:48.31 ID:G0EcoOQC.net]
>>844
LSP はエディタとの連携を前提として明文化された規格にしたってだけで、
処理系にコンパイルさせた結果をエディタの表示に反映させるというのは昔から有ったんだぞ。

864 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 17:38:04.49 ID:ftrSVS/I.net]
>>847
> 処理系にコンパイルさせた結果をエディタの表示に反映させるというのは昔から有ったんだぞ。

いやそりゃそうだろ
その説明じゃ flycheck 等と差がない

865 名前:はちみつ餃子 mailto:sage [2021/06/05(土) 18:00:21.39 ID:G0EcoOQC.net]
>>848
Rust のコードをビルドしないときでもエディタ経由で勝手にビルドする
(そのときに悪意のあるコードも走らせられるかもしれない)
という文脈の中で >>844 の発言があったので、
それは LSP が作られる前から同じような危険性はあっただろうという反論を私はしたつもり。

LSP のせいじゃなくてコンパイル時に出来ることが多い Rust のせいって話。

866 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 18:09:21.84 ID:Fi/fLauk.net]
はあ話になんね
こいつといいQZといい「何か物申したい」という気持ちだけで生きてるから常に空回ってんだよな

867 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 18:52:13.97 ID:ZTm581Ue.net]
proc-macroがwasm化されてサンドボックスで動くようになればマシになるのかね
そもそも怪しいコードが依存関係に混入しちゃう時点でcargo runなりtestなりしたらなにされるかわからん訳でproc-macroの件自体にどれくらいの影響度があるのかは分からんが

868 名前:デフォルトの名無しさん [2021/06/05(土) 19:44:30.63 ID:uV7DnhUL.net]
crossでx86_64-unknown-linux-gnuをtargetにクロスコンパイルしたらいいんじゃないか?
あれ確かDockerで動いてたはず

869 名前:デフォルトの名無しさん [2021/06/05(土) 19:45:33.78 ID:uV7DnhUL.net]
自分のPC向けにクロスコンパイル用ツールを使ってコンパイルするのがクロスコンパイルというかどうかは知らんけど



870 名前:デフォルトの名無しさん [2021/06/06(日) 08:03:37.51 ID:W7azs2BY.net]
>>823
特定のエディターの問題ではなく
特定のプログラミング言語の問題ではなく
自分が意図していない自動マクロ(プラグイン)を使えば自分が意図していない動作をするだけの話
大昔からあらゆる環境で起きていること

871 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 09:39:11.50 ID:3IIg9tuB.net]
コーディング時、ビルド時になんでもやらせようって発想が間違ってんだよ。

872 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 10:03:07.57 ID:mKFU6ep6.net]
マクロはやっぱ悪よな、無いと辛みが増すから仕方ないじゃなくて無くても何とか出来る仕様にすべき

873 名前:デフォルトの名無しさん [2021/06/06(日) 10:25:40.41 ID:W7azs2BY.net]
今回の>>823の問題に限っていえば
そもそもLSPを使う人のためのプラグインなのだからLSPのlocalhost:8080に接続に行くことは何の問題もないよね
問題としているのはSSHの秘密鍵をそこへ自動送付していること
LSPそこまで詳しくないのだけどそれはどうしても必要なことなの?

874 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 10:32:40.20 ID:MV541K/D.net]
LSPは、この騒動(?)と関係なくクソ

875 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 10:33:23.63 ID:MV541K/D.net]
快適なエディタと快適なIDEの区別がつかなくなったバカどもがゴリ押しで流行らせてる

876 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 11:08:51.30 ID:n+sQSuEO.net]
>>857
>LSPのlocalhost:8080に接続に行くことは何の問題もないよね

localhost:8080はLanguage Serverじゃないよ

877 名前:デフォルトの名無しさん [2021/06/06(日) 11:16:22.93 ID:W7azs2BY.net]
>>860
それはすまなんだ
じゃあ何が問題になってるのかな

878 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 12:13:20.98 ID:xB3z9vbi.net]
>>861
LSPをセットアップした状態だと「VSCodeを起動しただけで」自動ビルドが走ってしまって悪意あるprocedural macroが実行されてしまうこと
手動でビルドすれば同じことになるのでそこは問題の本質じゃなくね?とは思う

879 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 12:48:13.98 ID:V+UU2WI7.net]
LSPというよりrust-analyzerやrls、cargo/rustcの問題と言った方が正確かな



880 名前:デフォルトの名無しさん [2021/06/06(日) 14:24:19.60 ID:W7azs2BY.net]
では>>823で指摘されている問題点「自分のSSHの秘密鍵が勝手に読み出されて送信される」はどの部分がその動作を要求しているの?
本当に必要な動作なの?

881 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 14:29:37.79 ID:LOfpkHxA.net]
手続きマクロの展開なのでcargo checkでも起こり得る
言ってしまえばRustの言語仕様そのもの
解決策は>>851の言うようにサンドボックス化するみたいな方法しかなさそう

882 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 14:35:16.58 ID:n+sQSuEO.net]
>>861
macroをexpandする時に
macroの定義に書かれてる任意のコードを実行することができるって話

任意のコードの例としてSSHのキーをサーバーに送信する例が書かれてて
試す人に無害なように送信先サーバーはlocalhostになってるだけ

コード見たほうが早いかも
make_answer!がexpandされるときにread_ssh_keyが実行される
https://github.com/lucky/bad_actor_poc/blob/master/bad_actor/src/lib.rs

883 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 14:40:17.63 ID:3IIg9tuB.net]
このコード例はめちゃくちゃわかりやすい。問題は置いといてgoodなコードだ。

884 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 15:22:49.77 ID:fghVy2Pw.net]
crate-typeがproc-macroのときはffiを禁止して使用可能なextern crateを
安全性が保証されたものだけに制限するのがRustっぽいかな
proc-macro専用のstdが必要になるけどno_stdと同じ感覚でmacro_safe属性をつければいい

885 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 16:06:34.14 ID:xR3kS6+v.net]
そもそも普通はproc-macroなんか必要ないだろ
特殊用途以外では一律禁止してよいのでは?

886 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 16:20:07.52 ID:V+UU2WI7.net]
derive が使えなくなるのは結構困る

887 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 23:45:39.31 ID:xQoKsnFB.net]
>>843
マクロ展開すればどんな環境でもできるよ。
>>823はmulti-root workspaceの構成間違ってるから
IntelliJRustだとマクロ展開されないけど。

>>869
custom derive全部禁止だから当然thiserrorもserdeもdelegation系も禁止な。
ボイラープレート全部手書きしろよ。

888 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 06:02:10.08 ID:k/PpyTws.net]
頭悪い奴らばかりで議論にならぬ
趣旨と仕組みはreadme書いてあるのに。。

889 名前:デフォルトの名無しさん [2021/06/07(月) 13:37:53.63 ID:BQ22AOvo.net]
今勉強中なんだけど、Rustと合わせた時のgdbの使い方を教えてくれんかな
行指定でb main.rs:10みたいにブレイクポイントを指定するのってどうやるの?
>No source file named main.rs.
みたいに言われてしまって、どうやって行指定でブレイクポイントを設定するのかよくわからん
ソースのあるディレクトリがわからないのかと思って指定しても結果は変わらず・・・・
あと、ソースを表示しながらステップ実行したりってどうやるの?



890 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 13:52:39.17 ID:C46sPHOc.net]
vscodeでcodelldb使おう

891 名前:デフォルトの名無しさん [2021/06/07(月) 14:06:08.51 ID:BQ22AOvo.net]
ああ、デフォルトで-gつかないのか・・・・
でもlldbが主流っぽいし、それ使うかな

892 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 14:34:12.65 ID:VGLcnon2.net]
macのgdbだと今はまともに動かんぞ。

893 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 14:45:09.07 ID:OvPzoGrd.net]
M1になって

894 名前:macの開発環境死んだ []
[ここ壊れてます]

895 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 15:56:52.66 ID:D0MWfzjy.net]
iPhone開発でMac必須になったことで強気に出すぎたか。
Macは滅びると思っていたらx86系になってからなぜかしぶとく生き残ってきたけど、
もうだめかもな。

896 名前:デフォルトの名無しさん [2021/06/07(月) 16:08:45.47 ID:BQ22AOvo.net]
lldbを試しに使ってみてるんだけどさ
これって、ステップ実行するたびに自動で毎回「memory read --size 8 --format x $sp」をやってもらうことってできないの?
gdb-pedaを使っていたときはスタックの中身が自動で見れてたんだけど、なんか似たようなのないのかな?

897 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 20:20:51.05 ID:RuDnuZ5b.net]
>>878
iphoneアプリ開発のためにmacが生き残ってるのは面白いと思ってる
元マカーだからほんと言うと寂しいし悲しいんだけど

898 名前:デフォルトの名無しさん [2021/06/07(月) 21:33:04.68 ID:l0c3FfTp.net]
rustのlinux kernel対応の話ってどうなってゆの?なんだかずいぶんと作業が難航しているうだけど
それってrustのどのあたりの言語機能が悪さをしているのかね

899 名前:デフォルトの名無しさん [2021/06/07(月) 21:34:18.90 ID:l0c3FfTp.net]
難航しているよう



900 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 23:22:49.68 ID:TtFMbk6H.net]
>>873
シンボリックデバッガはまだ有名どころのフロントエンドが
ステップ実行できる程度しか対応してないから、アブソリュートデバッガ併用になる。
シンボルでブレークポイント設定できないとか実行に問題あるとかまだ普通。
msvcツールチェインは特に。

>>877
ねねっち死んだなって思ってたけど現実もか。

>>878
世界シェア15%切ったし頼みの日本シェアすら50%切ったからもう
iPhone専用開発機も持たないだろう。
rustだとandroidほどバインディングが充実してないから開発やりずらいだろうし。






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

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

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