回答編集履歴

2

書式を修正しました

2021/09/14 09:53

投稿

tatsuya6502
tatsuya6502

スコア2035

test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
 
34
34
 
35
- -`private_decl!`マクロで以下のトレイトメソッドを定義する
35
+ - `private_decl!`マクロで以下のトレイトメソッドを定義する
36
36
 
37
37
  - `fn __private__(&self) -> crate::private::PrivateMarker`
38
38
 

1

わかりやすさのために、いくつかの文を修正しました

2021/09/14 09:53

投稿

tatsuya6502
tatsuya6502

スコア2035

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- その意味(目的)は[private.rs](https://github.com/rust-ndarray/ndarray/blob/master/src/private.rs)のコメントに書かれているのですが、ndarrayクレート外に公開している`RawData`のようなトレイトを、ndarrayのユーザーが定義した型に`impl`しようとするのを禁止するためです。
5
+ その意味(目的)は[private.rs](https://github.com/rust-ndarray/ndarray/blob/master/src/private.rs)のコメントに書かれているのですが、ndarrayクレート外に公開している`RawData`のようなトレイトを、ndarrayのユーザーが定義した型に`impl`されるのを禁止するためです。
6
6
 
7
7
 
8
8
 
@@ -28,19 +28,23 @@
28
28
 
29
29
 
30
30
 
31
- `RawData`のようにpublicだかユーザーには`impl`させたくないトレイト、`private_decl!`マクロで以下のトレイトメソッドを定義する
31
+ `RawData`のようにpublicだかユーザーには`impl`させたくないトレイトは以下のようにする
32
+
33
+
34
+
35
+ -`private_decl!`マクロで以下のトレイトメソッドを定義する
32
36
 
33
37
  - `fn __private__(&self) -> crate::private::PrivateMarker`
34
38
 
35
- - ndarrayクレート外からは`PrivateMarker`にアクセスできないのでクレート外でこのトレイトを`impl`することはできなくなる
39
+ - ndarrayクレート外からは`PrivateMarker`にアクセスできないので`__private__`メソッドは実装できない。つまりクレート外でこのトレイトを`impl`することはできなくなる
36
40
 
37
41
 
38
42
 
39
- ndarrayクレート内の型に`RawData`のようなトレイトを`impl`するとき
43
+ ndarrayクレート内の型に`RawData`のようなトレイトを`impl`するには以下のようにする。
40
44
 
41
45
 
42
46
 
43
- - `private_impl!`マクロ`__private__`メソッドを実装する
47
+ - `private_impl!`マクロを使って`__private__`メソッドを実装する
44
48
 
45
49
 
46
50