[過去ログ] Rust part16 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
736: 2022/09/19(月)13:11 ID:PTk7Q+2G(1) AAS
その手のやつでオーバーヘッド減らすならOS毎にネイティブ実装するしかなくない?
737: 2022/09/19(月)18:38 ID:EybjBREq(1/2) AAS
なんとかtauri使うにしてもJSやらWASMやらで動画レンダリングするようなもの作らないとだめそう
738(4): 2022/09/19(月)18:45 ID:npVSxydm(1/2) AAS
実装を追加させない方法ってありますか?
別個に渡されたふたつの型が同じであるという制約を付けたいという目的で
以下のようなトレイト Same を定義した場合、実装を追加できてしまうと破綻してしまうので、
なんらかの方法で制限できるだろうかという疑問です。
pub trait Same<T> {}
impl<T> Same<T> for T {}
// 使用例
pub fn foo<T, U>(x: T, y: U)
where
T: Same<U
省4
739(1): 2022/09/19(月)19:32 ID:sJf7ZiDr(1) AAS
trait Sealed {}
pub trait Same<T>: Sealed {}
740(1): 2022/09/19(月)21:19 ID:EybjBREq(2/2) AAS
外部リンク[html]:rust-lang.github.io
741(1): 2022/09/19(月)21:29 ID:Elo9mBmF(1) AAS
ふたつの型が同じという制約を付けたいなら
TとUじゃなくTとTにすればいいじゃんか
742: 2022/09/19(月)21:34 ID:jWPeXdq1(1) AAS
>>738
達成したいことが特にないらしいからなんとも言えないけど enum を使っても近いことはできるんじゃないかな。
enum Same{SameA(型A),SameB(型B)}
みたいにしてやれば、Same 経由で扱う限り実装は増やせないぞ。
743(1): 2022/09/19(月)22:48 ID:npVSxydm(2/2) AAS
>>739-740
実装を追加させないテクニックのひとつとして有用ですし紹介はありがたいです。
しかしそれだと Sealed を実装した型だけにしか使えず、 >>738 で示したような汎用的に型を比較するトレイトには使えないですよね。
この Same のように機能するトレイトに実装を追加させないというのは前提と考えて欲しいです。
>>741
そういうレスが付くことを避けたいから最後の文をつけたつもりなんですが……。
Rust の初心者として様々な言語機能を理解したいという立場で疑問に思った部分を抜き出し、
説明のために前提条件を設定したのであって、前提条件の部分自体は解決したい課題ではないです。
いわゆるXY問題というものの存在は承知しておりますので
解決したい大元の問題を示さないというのがモヤモヤするだろうなというのはわかります。
省2
744: 2022/09/20(火)00:14 ID:nBuFqijL(1) AAS
2つの矛盾してる要求を同時に実現は無理だわな
745: 2022/09/20(火)00:42 ID:FykVNAq+(1/4) AAS
impl Foo for Tが存在する時点で他の型にFoo実装しようとするとconflictしなかったっけ
746: 2022/09/20(火)00:43 ID:FykVNAq+(2/4) AAS
fundamentalな型に一通り実装しておけば良さそう
747: 2022/09/20(火)00:48 ID:FykVNAq+(3/4) AAS
外部リンク:play.rust-lang.org
748: 2022/09/20(火)00:50 ID:FykVNAq+(4/4) AAS
fundamental云々はcoherent ruleの話でconflictとは関係なかったわ
749: 738 2022/09/20(火)01:17 ID:w2qVrruo(1/2) AAS
なるほど、 C++ と違って特殊化にならないからより狭い範囲の実装は追加できないんですね。
&T とか &mut T とかも先に実装しておけば追加の余地をなくせると。
&T とか &mut T とか以外にどういうのがありえますかね?
750(1): 2022/09/20(火)01:40 ID:lHbnVGdk(1) AAS
>>743
Sealedも<T>にすればいいんじゃないの
外部リンク:play.rust-lang.org
751: 738 2022/09/20(火)01:53 ID:w2qVrruo(2/2) AAS
>>750
ありがとうございます。
言われてみれば当然のような感じですがまだまだ私は Rust らしい考え方が出来ていないようです。
752(1): 2022/09/20(火)18:26 ID:p9SiwD2d(1) AAS
「Linux」、バージョン6.1でRustを導入へ--トーバルス氏が明言
外部リンク:japan.zdnet.com
753: 2022/09/20(火)20:25 ID:ckEqOjly(1) AAS
>>752
いいね
ここ最近で一番いい知らせだわ
754: 2022/09/20(火)20:46 ID:Di+jgu/u(1) AAS
今のところデバドラだけという話だけど
基幹部分の新実装をRustで作りましたという
人が絶対現れるからそのときどうなるだろ
755: 2022/09/20(火)20:51 ID:rUHkgvjw(1) AAS
誰もvoldemort typeの名を呼ぼうとしない
756(2): 2022/09/22(木)02:33 ID:OUmiFnaH(1) AAS
MS AzureのCTOが「新しいプロジェクトでC/C++使うのはやめて
非GC言語が必要な状況ではRustを使うべき時だ」ってツイートしてるけど
Visual StudioでもRustが最初からパッケージングされてるようになるのかな
757: 2022/09/22(木)09:05 ID:e5bGjsaE(1) AAS
外部リンク[html]:www.publickey1.jp
Cloudflare、NGINXに代えて自社開発のRust製HTTPプロキシ「Pingora」をグローバルCDNに採用。性能向上しつつCPUとメモリ消費を3分の1に
758(1): 2022/09/22(木)13:36 ID:V4zanZlp(1) AAS
>>756
MSがRustの開発環境に投資するならVSCodeのエクステンションじゃない?
いまさらVSに対応言語を追加する気はないでしょ
どう考えてもWindowsユーザーは少ないだろうし
759: 2022/09/22(木)19:38 ID:VGEMfVQX(1) AAS
>>756
マーク・ルシノビッチ氏、Microsoft AzureのCTOなのか。
インサイドWindowsにはお世話になったわ。
760: 2022/09/23(金)05:18 ID:I8UIrhRk(1) AAS
Iteratorに対するIntoIteratorのように
Futureに対するIntoFutureということか
しかも.awaitに対して自動適用だからもっと効果が大きいか
非同期を返すビルダーに対してFutureを返させるためのビルド完了指示メソッド呼び出しが不要となる
761: 2022/09/23(金)08:24 ID:G8O+P73a(1) AAS
Rust analyzerが優秀過ぎてMSが入る余地なさそう
PythonがMS Storeから落とせるみたいにインストールが楽になるとかならありそう
VSに導入されたらそれはそれで面白いんだけど.Net言語との連携が強化されないと旨味がないな
762(1): 2022/09/23(金)08:29 ID:exFn1ITS(1/2) AAS
Rustからから.Net?
意味ないやろ...
763: 2022/09/23(金)10:08 ID:QyFSmn0+(1) AAS
既存ライブラリがそのまま呼べるならお試しで部分的に新言語導入してみようとなる可能性もあるので意味はある
764: 2022/09/23(金)10:43 ID:bBi47OZ4(1) AAS
Rust/Cliとか余計なもの作られそう
765: 2022/09/23(金)12:31 ID:aakQSAhx(1) AAS
>>758
VSCodeの方が対応は早いかもだが、VSに追加する気がないことは無いんじゃないかな
上下前次1-新書関写板覧索設栞歴
あと 237 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.030s