Rust part28

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2025/03/24(月) 17:37:00.15ID:NJwebgj2
公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust

公式ドキュメント
https://www.rust-lang.org/learn

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

※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/

※Rustを学ぶ際に犯しがちな12の過ち
https://dystroy.org/blog/how-not-to-learn-rust

※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/

※次スレは原則>>980が立てること

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

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
2025/03/30(日) 11:11:48.21ID:4y0c+ddG
まだやってんのか
制約でいいじゃん
オライリーがそうなってんだし
154デフォルトの名無しさん
垢版 |
2025/03/30(日) 11:33:03.21ID:oLFS0Pje
nightlyじゃないとカスタムアロケーターすら使えないんか・・・
Rustって思ったより未完成すぎんな
2025/03/30(日) 12:44:09.91ID:22uPyPsf
GlobalAllocは使えないの?
2025/03/30(日) 17:14:17.40ID:w2PW/L+Y
sbrkは使えないの?
2025/03/30(日) 18:18:08.22ID:qYlvw5QP
ゲーム開発したいんかな
2025/03/30(日) 18:18:10.57ID:VEZofEgk
ゲーム開発したいんかな
159デフォルトの名無しさん
垢版 |
2025/03/30(日) 20:01:37.56ID:XoWLs3od
egui
2025/03/30(日) 23:24:44.75ID:1KOgVEB/
>>156
Cでも普通はmalloc/reallocを呼んでその中で間接的にsbrkが使われる
Rustの抽象化層の下も同様にlibcのmalloc/reallocを呼んでいる
直接sbrkを呼び出す独自のアロケータを作ろうとしているのかな
2025/03/30(日) 23:43:38.72ID:0YGMHJcy
Issue出せばいいでしょ。Cで出来ることが出来ないなら考えてくれる人がいるか。自分で実装しても良し
2025/03/30(日) 23:46:35.01ID:1KOgVEB/
もちろん呼びたければRustからsbrkだろうがmmapだろうが呼び出せる
2025/03/30(日) 23:51:36.82ID:0YGMHJcy
C++みたいにRAIIな基板でお手軽アロケータ実装したいんじゃないの
2025/03/31(月) 09:09:53.86ID:NkWcWpUf
traitのFromを描いたらIntoは描かなくて良い?
Intoを勝手に造ってくれるのは一部だけ?
2025/03/31(月) 11:08:35.12ID:ToWOl/+F
>>164
全自動
Fromを実装すれば以下のコードがあるためジェネリックに逆向きのIntoが自動的に実装される

impl<T, U> Into<U> for T
where
 U: From<T>,
{
 fn into(self) -> U {
  U::from(self)
 }
}
2025/03/31(月) 12:19:01.61ID:lPDrQxU4
blanket implementation というやつ
2025/04/01(火) 11:58:58.47ID:25dpyBej
リファレンスでblanket implementationの定義を確認しようとしたら一つ下にboundの定義もあった
https://doc.rust-lang.org/reference/glossary.html#bound

この定義を踏まえて前スレを読むと境界支持者らの主張はことごとく出鱈目だな
アイツらマジで何なの?
2025/04/01(火) 12:04:22.14ID:gjHbwVK/
Bound
Bounds are constraints on a type or trait. For example, if a bound is placed on the argument a function takes, types passed to that function must abide by that constraint.
2025/04/01(火) 12:14:34.31ID:DWOYlQp7
その話もうええっちゅうねん
170デフォルトの名無しさん
垢版 |
2025/04/01(火) 12:16:55.39ID:fnMFLzbI
一度こだわり始めたら自分でも制御できないんだ
たぶん自閉症とかの障害がある
2025/04/01(火) 12:29:39.99ID:P2vsOxzW
Bounds are constraintsワロタw
制約大勝利やんw
2025/04/01(火) 12:33:32.91ID:rb2Yplrr
>>171
バカだろ
英語をよく読めよ
constraints on a type
つまりいわゆる型制約が正解
トレイト制約になるのはスーパートレイトがサブトレイトに対する時のみに限られる
したがってトレイト制約の訳は間違っている
2025/04/01(火) 12:37:50.50ID:rb2Yplrr
俺はトレイト境界よりもトレイト範囲かトレイト限界がベターと思っている派
しかしトレイト境界で定着していて意味するところは同じなのでトレイト境界で構わない
誤訳のトレイト制約だけはNG
2025/04/01(火) 12:40:33.02ID:rb2Yplrr
訳はこうなる
「トレイト境界は型(もしくはサブトレイト)に対する制約である」
2025/04/01(火) 13:58:37.31ID:PJuk1MUs
やばい、人類が滅亡する!
2025/04/01(火) 14:18:55.81ID:a32Fz+d6
トレイト世界とか宇宙でどうや
2025/04/01(火) 14:20:58.62ID:a32Fz+d6
システムプログラミング用言語であるから簡単な用語がいいんだがね
数学はやめいよ
2025/04/01(火) 14:33:15.61ID:/iF38gH/
この画像を貼る時が来たようだな
https://i.imgur.com/vGcEcQa.png
2025/04/01(火) 15:42:56.21ID:WabwVzC7
グロ中尉
2025/04/01(火) 15:44:46.09ID:WabwVzC7
Trait
A trait is a language item that is used for describing the functionalities a type must provide. It allows a type to make certain promises about its behavior.

Generic functions and generic structs can use traits to constrain, or bound, the types they accept.
2025/04/01(火) 18:32:01.55ID:35V+D+1X
旧約聖書の解釈でさえもこのスレほどバトルにはなってないと言うのに!
182デフォルトの名無しさん
垢版 |
2025/04/01(火) 19:37:06.51ID:heNo9Jy4
>>168
バカの極みやね
Bounds are constraints on a type or trait.
Bounds = constraints ではないぞ
トレイト教会がトレイトを聖約するんだぞ
2025/04/01(火) 19:51:03.44ID:MORrUUwC
Bounds are constraints(境界は制約である)
Bounds are constraints on a type or trait.(境界は、型または特性に対する制約です。)

つまり制約です
2025/04/01(火) 19:53:23.79ID:rb2Yplrr
いわゆる型制約だよ
型制約と同様にサブトレイト制約でもある
トレイト制約は誤用
2025/04/01(火) 19:59:34.21ID:MORrUUwC
DeepL翻訳
Bounds are constraints(境界は制約である)
Bounds are constraints on a type or trait.(バウンズは型や特性に対する制約である。)
2025/04/02(水) 08:01:55.21ID:6WURLMGL
だからとっとと Rust Book最新版翻訳して、好きな方の用語に統一しとけ。

最新版で「トレイト制約」になっていれば文句言わんよ。
2025/04/02(水) 12:57:04.07ID:ku7Mbk5p
境界信者の反知性主義がここまで凄まじいとは
さすがに想定外
2025/04/02(水) 13:00:58.34ID:doxXhnNc
訳者本人じゃないの
信者の素性はニート?
2025/04/02(水) 13:23:48.52ID:ETZ+3G/b
普及率100パーセント、100人中100人が守るルールか
なるほどたしかに法律なら不可能なことが言語なら可能かもしれない
2025/04/02(水) 13:31:04.44ID:k9Y5euIy
境界と描かれてる本は不良品だから法制化して全数リコール
2025/04/02(水) 14:20:43.22ID:5SS1+7gJ
そろそろ凡俗な人達による用語統一議論終わった?
2025/04/02(水) 15:11:44.14ID:hi8l+lAW
では高尚な話題どうぞ
2025/04/02(水) 15:17:23.33ID:J7kQrx92
プロジェクト名に '-' を入れるのって非推奨?
2025/04/02(水) 15:18:40.63ID:Jip2DsUV
では高尚な話題です
原語のboundがまず間違っているのでは?
2025/04/02(水) 15:25:44.81ID:hi8l+lAW
>>193
RFC430にありそうでないや
クレート名は不明瞭
2025/04/02(水) 16:15:00.32ID:kFN7dZ5N
電界磁界より電場磁場が適切である様に
トレイトはトレイト場であるべき
2025/04/02(水) 18:20:52.95ID:ETZ+3G/b
ルビを原文ママにするという高尚テクニックがあったなそういえば
解(イコライザ)とか
198デフォルトの名無しさん
垢版 |
2025/04/02(水) 19:54:18.16ID:7MGV8+qg
制約と訳すと原文の意味が失われるので技術翻訳では避けるべき
もちろん小説を訳すなら過激な意訳も可

今回の件はTrait境界が妥当でしょう
199デフォルトの名無しさん
垢版 |
2025/04/02(水) 19:56:28.56ID:7MGV8+qg
分かりやすく言ってみましょうか

Trait制約は制約である
制約は制約である

どうです?
何かが失われていませんか?

Trait境界は制約である
境界は制約である

これなら意味が分かるでしょう
2025/04/02(水) 20:00:01.91ID:Jip2DsUV
まだ訳の問題だと思っているのか
2025/04/02(水) 20:36:53.45ID:ZXMS8tUt
制約で決まったみたいだね
202デフォルトの名無しさん
垢版 |
2025/04/02(水) 21:03:24.67ID:Guu+GWGm
『ゼロから学ぶRust』という書籍だとトレイト制約だな
訳なんだから複数あることはあり得るし、それ以上でもそれ以下でもない
2025/04/02(水) 21:24:12.08ID:BbIBPK29
まぁ自分の思う訳語を広めたいんなら本を書いたり記事を書いたりすればいいのであって
このスレでレスバして決めるようなことではないよな
2025/04/02(水) 21:33:29.51ID:+3uS3HDF
トレイト制約境界にしよう
2025/04/02(水) 21:56:50.54ID:XDSWIi9m
まぁオライリーからして制約なんでしょそもそも
206デフォルトの名無しさん
垢版 |
2025/04/02(水) 22:06:25.87ID:7MGV8+qg
オライリーも質が落ちたな
2025/04/02(水) 22:25:27.67ID:xGG0i3Qy
境界信者    :「boundsに制約の意味はない!」
公式リファレンス:「boundsとは型もしくはトレイトに対する制約のことです」

境界信者    :「制約という単語は真逆の意味だから使ってはいけない」
公式リファレンス:「boundsとは型もしくはトレイトに対する制約のことです」

境界信者    :「トレイト制約派は本質を理解できていないから制約なんて間違った用語を用いてしまう」
公式リファレンス:「boundsとは型もしくはトレイトに対する制約のことです」


www
2025/04/02(水) 22:47:40.00ID:UyFxJKtn
>>199
そこだよな
少なくとも制約と訳すとおかしくなる

>>207
そこでboundsを制約と訳すと意味のわからない日本語になってしまう
「制約とは型もしくはトレイトに対する制約のことです」
2025/04/02(水) 23:07:01.46ID:eWxvA1Ub
そもそも特定の文脈においてしか「境界」と訳してはいけない単語なのにそれを知らずに誤訳をしてしまったのが間違いの始まり

その後繰り返し指摘があり何度も見直す機会があったにも関わらず自分の誤った判断を修正したくないばかりに「境界」に執着して日本のRustコミュニティの足を引っ張った罪は重い
2025/04/02(水) 23:08:32.45ID:dxnRa7Rm
boundsの訳語を制約としてはいけない理由がようやくわかった
2025/04/02(水) 23:10:03.40ID:ETZ+3G/b
X=X (XはXである) という等式は無意味だとか意味不明だとかいう批判は日本語限定じゃなくて普遍的な話題だ
2025/04/02(水) 23:13:35.48ID:UyFxJKtn
「制約とは型もしくはトレイトに対する制約のことです」
となり破綻する
だから英語でもboundsとconstraintを使い分けているのだ
2025/04/02(水) 23:22:33.90ID:ZXMS8tUt
美味しんぼ「冬のアラは最高たい!」

※ここでのアラはクエのことです
2025/04/02(水) 23:26:13.72ID:dxnRa7Rm
boundsの訳語を制約としてはいけない理由はわかったけど
boundsの訳語を何にすると良いのかな
2025/04/02(水) 23:52:15.22ID:3y9C0Jbf
境界信者:「boundsに制約の意味はない」
境界信者:「trait boundsが何かを制約することはない」
境界信者:「制約の視点で見るやつは本質を理解してない」
(公式リファレンスが指摘されると)
境界信者:「境界は制約である」

www
216デフォルトの名無しさん
垢版 |
2025/04/02(水) 23:53:09.75ID:9mU4kqKI
「トレイト制約とは、ジェネリクスとして受け入れる型をトレイトにより制限する機能です」
とでも書けばいいんじゃないの

単語の繰り返しを避けるのは文章表現の問題であって、それらが理屈の上で異なるものという意味ではない
特に英語だと、同じ単語を避けるための言い換えをよく使う
2025/04/02(水) 23:59:24.49ID:iqeRQBxg
>>216
それは本質を理解できておらず失格
trait boundsは機能ではない
traitのカヴァーする領域を示している
それが型に対する制約となる
したがってtrait boundsをトレイト制約と訳すのは理解できていない証拠
218デフォルトの名無しさん
垢版 |
2025/04/03(木) 00:01:08.33ID:8CqSbYxm
いつまで日本語喋ってんだよ
2025/04/03(木) 00:04:50.72ID:+bCmk9Ai
>>215
やめたれw
2025/04/03(木) 00:15:34.46ID:ZaOVYWDn
他のもので例えるとわかりやすい
「人間は哺乳類である」
これは確かに正しいが人間と哺乳類は意味が異なる
人間と言うべきところで哺乳類と言うのは間違い

「boundsは制約(constraint)である」
これは確かに正しいがboundsと制約(constraint)は意味が異なる
boundsと言うべきところで制約と言うのは間違い
2025/04/03(木) 00:16:55.80ID:yptlPnek
「制約は制約である」という文は数学的には全く問題ないのだ
でも工学的あるいは商業的には、役に立たない(気がする)文は過度に問題視される
2025/04/03(木) 00:20:44.56ID:ZaOVYWDn
人間は哺乳類である
哺乳類は生物である
いずれも正しいが意味が明確に異なる

boundsはconstraintである
これも同様に両者は意味が明確に異なる
だからわざわざ別の単語を用いている
両者を共に同じ「制約」と訳すのは頭が弱い人であると断言できる
2025/04/03(木) 01:01:25.93ID:SsrDHKVx
>>221
なんと進次郎構文だ
2025/04/03(木) 01:08:41.15ID:yptlPnek
>>223
詐欺にも誹謗中傷にもならない、比較的安全な構文だ
225デフォルトの名無しさん
垢版 |
2025/04/03(木) 01:17:18.29ID:fEBWzqBi
Trait制約と言ってる人は理解が足りていない
2025/04/03(木) 01:32:50.74ID:aMSce+h/
文脈を無視して対訳表だけで機械的に翻訳しようとするからゴミ翻訳ができあがる
それも指摘されたそばからやってるんだから始末に終えない
2025/04/03(木) 01:57:47.64ID:jzL1ni2p
Trait BoundsやLifetime BoundsなどでのBoundsは一般名詞ではなくて専門用語として位置付けられてるよ
だからBoundsの日本語訳も常に一貫して同一の訳を当てないといけない
そして使われ方の意味合いがconstraint (制約)とは異なるため少なくとも「制約」とは異なる訳を当てないといけないね
2025/04/03(木) 07:34:50.76ID:x1QSEzan
いつまでもアホなこと言っていないで、まずはRust Book最新版の翻訳を作って統一しとけ。

最新版で「トレイト制約」になっていれば文句言わんよ。
229デフォルトの名無しさん
垢版 |
2025/04/03(木) 07:55:55.24ID:OyObPfFB
機械翻訳みたいに一対一に当て嵌めてるのはどっちなんだか
辞書で引けば constraint = 制限、制約、圧迫、束縛 などいろいろあるよ?

英語だと
bound is a constraint that restricts the type ...
のように、ある概念を伝えるのに複数の語を使うことをよく行う
これは同じ単語の繰り返しを避ける (そういう文章を拙いと見做す) 文化があるのと、単語が誤って理解されないようにというのがある
この例なら、 bound が「飛び跳ねる」などの意味と解釈されないよう、 constraint や restrict などと言い換えることでそれが制限・制約という意味だと伝わるようにする

もちろん用語としては trait bonud が正式な名称だから、これを trait constraint や trait restriction とは呼ばない
けど、意味としてはこれらに近いということ
2025/04/03(木) 11:23:23.08ID:6oWT3dN7
>>226が批判してるのはboundを制約と訳すとBounds are constraints on a type or traitが「制約は制約である」となってしまうからtrait boundsもトレイト制約と訳すべきではないと言ってるやつのほうでしょ
2025/04/03(木) 12:16:36.08ID:v+gtq4Fg
その一文だけ、うまく訳せばいいんじゃないの?
動詞の方を簡易な日本語表現にすれば進次郎構文は避けられる
2025/04/03(木) 12:19:56.95ID:XzSm1dM6
トレイト制約という明らかに間違った別の訳をしつこく持ち出す人はRust界の混乱を狙った荒らしなんだと思うよ
なぜtrait constraintではなくtrait boundsなのかという一番本質的なRustでの概念の違いに興味を持たないことからも
2025/04/03(木) 12:20:15.17ID:v+gtq4Fg
制約を英英辞典か国語辞典で調べて考えよう
2025/04/03(木) 12:23:12.59ID:v+gtq4Fg
英語的にはboundsの方が身近な表現かもしれんな。コンストなんちゃらは共和党支持層が嫌うラテン語由来なのだっけ
2025/04/03(木) 12:33:49.45ID:qiqxc1gJ
さっさとペンキの色決めろよ
2025/04/03(木) 12:34:32.24ID:4NO2Gn5f
どちらが間違ってるかは>>207>>215を見れば一目瞭然だよな
改めて振り返ると境界知能というのはあながち冗談ではなさそう
2025/04/03(木) 12:39:11.80ID:v+gtq4Fg
トレイト緊縛で決まりな
2025/04/03(木) 12:52:17.06ID:66iDY+yi
「トレイトバウンド」よりも日本語話者の理解を助ける言葉じゃなければ意味がないんだよな
その意味では同じ誤訳でも「トレイト境界」より「トレイト束縛」のほうがベターな訳だった
2025/04/03(木) 12:55:25.10ID:v+gtq4Fg
トレイト緊縛。大勝利ってこと
2025/04/03(木) 15:48:03.91ID:+bCmk9Ai
制限でいいよ

Javaの場合は
「Bounded Type Parameters」
https://docs.oracle.com/javase/tutorial/java/generics/bounded.html
google翻訳では「制限付き型パラメータ」
凄くわかりやすいよね
制約よりも境界よりもずっとわかりやすいよね
241デフォルトの名無しさん
垢版 |
2025/04/03(木) 17:10:42.17ID:fy3xRWQw
次スレは
Rust 29constraints
だね
2025/04/03(木) 18:04:14.96ID:g1vkomnK
そういう変なことしだすと隔離失敗するからやめてね
2025/04/03(木) 18:08:12.59ID:LgxNjrJf
Javaの日本語リファレンス終わったのか。Java終了だな
2025/04/03(木) 18:23:21.08ID:CH3VtQpy
>>240
俺の環境では
google翻訳は境界付き型パラメータ
DeepLは制約付き型パラメータだな

ただJavaも>>227みたいにboundには一貫して「境界」という訳を当てないといけない方針でやってたから関連語の訳がどうしようもなく悲惨なものになってたからね
同じ轍を踏んではいけない
2025/04/03(木) 18:30:06.80ID:N2gRzLe2
トレイト制約はトンデモ勘違いだから絶対避けるべきだけど
トレイト境界やトレイト範囲やトレイト領域やトレイト上界やトレイト上限やトレイト限界などの意味するところが合ってる用語ならばどの用語に統一されても構わないよ
もちろんトレイト境界のままでもOK
2025/04/03(木) 18:38:58.21ID:e7eRGvBW
Bound単体を「型制約」と訳したいならTrait Boundsは「トレイトによる型制約」とでも訳せばいいだろ
重要なのは形式よりも意味のほうなんだから
2025/04/03(木) 18:48:27.65ID:6vk0Qg+y
>>236
その2つ面白すぎるんですけど
特に「境界は制約である」がジワる
2025/04/03(木) 19:00:17.94ID:PM+GnFWY
>>246
普通に「トレイト境界は型やサブトレイトに対する制約である」でええやん
2025/04/03(木) 19:07:19.95ID:+bCmk9Ai
サブトレイトって言い続けてる奴一人な件w
2025/04/03(木) 19:13:35.15ID:PM+GnFWY
どういうこと?
みんな使っていてRustのどの記事を見てもスーパートレイトとサブトレイトと訳されてるけど別の訳があるの?
2025/04/03(木) 19:32:15.98ID:yptlPnek
形式主義って、完全情報ゲームなんだよな
オリジナルの原文にない情報が後知恵で追加されたらそれは完全情報とは言えないよね
2025/04/03(木) 19:35:30.32ID:SaeLc9s2
公式ではなくても定着していてカジュアルな場面では当たり前のように使われる用語ってあるからなぁ。
C++ で構造体とかアップキャストとかメソッドとか言ってることは結構あるでしょ。
253デフォルトの名無しさん
垢版 |
2025/04/03(木) 20:32:04.51ID:XfeSNHGY
ほかに話すことはいくらでもあるのに永遠にboundの訳語だけを言い争い続けるこのスレ、終わってるよ
ていうか別スレ立ててそっちでやれや
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況