Skip to content

4.22. Trait Objects #88

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Mar 29, 2016
Merged

4.22. Trait Objects #88

merged 9 commits into from
Mar 29, 2016

Conversation

Nnwww
Copy link
Contributor

@Nnwww Nnwww commented Feb 13, 2016

翻訳開始

相談内容

  • "code bloat"はwikipediaある程度には確立された用語なのですが、和訳が見当たらないので暫定で「コードの膨張」としました
99行目、括弧書きの"cache rules everything around us"

何だか嫌な感じがして調べたのですが、90年代のヒップホップのクラシック、 "C.R.E.A.M." ("Cash Rules Everything Around Me")のモジリみたいです。"cream"→「金」というスラングになった元ネタらしいですね。曲聞いた雰囲気だと「オレらのトコじゃカネが全て」みたいな感じなのですが…
和訳ではまず通じませんし、「コンピュータ内ではキャッシュが全てです」に暫定訳しました。

Object Safetyについて

最後の節のobject-safeに関する説明が直訳でも違和感が有るため確認させていただきたいのですが、
Self: SizedSelfは違うもので、後者はSizedトレイトが抜けたもの、つまり型がコンパイル時に定まっていないものという認識で正しいでしょうか?
ここ初見だと少々分かりにくいと思うので、間違っていなければ注釈を挿入したいです。

進捗状況

  • 暫定翻訳完了
  • 相談内容洗い出し
  • 時間を置いて再確認
  • Ownerレビュー反映

@Nnwww
Copy link
Contributor Author

Nnwww commented Mar 25, 2016

@KeenS 暫定訳完了しました、宜しくお願いします。

@Nnwww Nnwww changed the title [WIP] 4.22. Trait Objects 4.22. Trait Objects Mar 25, 2016

We can use this trait to perform static dispatch with trait bounds:
<!-- We can use this trait to perform static dispatch with trait bounds: -->
トレイト境界による静的ディスパッチを実現するためにこのトレイトを使うことができます。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[IMO]
「トレイト境界を使ってこのトレイトで静的ディスパッチが出来ます」かな、と思います。
静的ディスパッチに使うのが「このトレイト」でこのトレイトを使うための準備立てが「トレイト境界」かなと思います。

@KeenS
Copy link
Member

KeenS commented Mar 26, 2016

@Nnwww レビューしました。

"code bloat"はwikipediaある程度には確立された用語なのですが、和訳が見当たらないので暫定で「コードの膨張」としました

コメントにも書きましたがこれで良いと思います。

99行目、括弧書きの"cache rules everything around us"

これも了解しました。日本語話者でもキャッシュがダブルミーニングなのは読み取れると思うので十分原文の意味を反映出来てると思います。

Object Safetyについて

たしかにややこしいですね。Self: Sized は「SelfSized であること」、 Self は 「Self という(自身のトレイトを指す)型」ということだと思います。メソッドには型パラメータを使ってはならないという制約がありますが、 Self 自体も一種型パラメータみたいなものなのでそれも使ってはならないという制約かと思います。

それでもtraitが Self: Sized を要求してはならないのにメソッドは Self: Sized を要求しないといけないのはよくわかりませんが…。少し考えてみます。

@Nnwww
Copy link
Contributor Author

Nnwww commented Mar 28, 2016

'monomorphization' を「単相化」に

では後でトレイトの章の同単語も修正します。

"special version of ..."と'specialized'の訳

恥ずかしながら明確な理屈が有るわけでは無く、special version ofは「専用」で意識して、そちらにspecializedが引っ張られた形になっています。

検索を掛けて見た所「特殊化」という単語は当リポジトリに一度も登場していないため、

これはRustが u8String それぞれ専用の do_something() を作成し、それら特殊化された関数を宛がうように呼び出しの部分を書き換えるという意味です。(訳注: 作成された専用のdo_something()は「特殊化された関数」(specialized function)と呼ばれます)

でどうでしょうか。ジェネリクスに疎い方でも「特殊化」の良い補足になると思われます。

@KeenS
Copy link
Member

KeenS commented Mar 28, 2016

どちらも了解しました。

@Nnwww
Copy link
Contributor Author

Nnwww commented Mar 28, 2016

@KeenS そういえばobject-safeの訳語を放置していました
そのままで良いような気もしますが、「オブジェクト安全」という感じでも既存とは被りませんよね

@Nnwww
Copy link
Contributor Author

Nnwww commented Mar 28, 2016

訳せるものを放置しておくのも不味いと言うことで「オブジェクト安全」で翻訳しました。
ここ周辺の話は自信が湧かないので私も注釈は一旦辞めておきます。
また、忘れていた「地獄の沙汰もキャッシュ次第」を追加し、その他の指摘はそのまま反映しました。
確認お願いします。

@KeenS
Copy link
Member

KeenS commented Mar 29, 2016

私もどういう意味で「object-safe」といってるのかはっきりは分かってないのでとりあえずのところ字面通りの「オジェクト安全」でいいと思います。
他点、確認しました。マージします。お疲れさまでした。

@KeenS KeenS merged commit 4105585 into rust-lang-ja:master Mar 29, 2016
@Nnwww Nnwww mentioned this pull request Mar 29, 2016
@tatsuya6502 tatsuya6502 modified the milestone: 1.6 Apr 28, 2016
@Nnwww Nnwww deleted the 4_22_Trait_Objects branch August 9, 2016 06:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants