回答編集履歴

3

誤字を修正しました

2018/02/22 02:07

投稿

tatsuya6502
tatsuya6502

スコア2035

test CHANGED
@@ -62,7 +62,7 @@
62
62
 
63
63
 
64
64
 
65
- たとえば `S` に `fn f(&self)` というメソッドを実装したとき、`s.y` が変更できてしまうと問題があります。
65
+ たとえば `S` に `fn f(&self)` というメソッドを実装したとき、`self.y` が変更できてしまうと問題があります。
66
66
 
67
67
 
68
68
 

2

わかりやすさのために最初の段落を修正しました

2018/02/22 02:07

投稿

tatsuya6502
tatsuya6502

スコア2035

test CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
 
4
4
 
5
- 私もそうだと思います。`struct` またはフィールドを借用する際、mutable かはフィールド定義(`&mut i32`)ではなく、親(構造体自体の mutability で決まるようです。
5
+ 私もそうだと思います。struct 体またはフィールドを借用する際、フィールドが mutable になるかは、struct のフィールド定義(`y: &mut i32`)ではなく、struct 自体の mutability で決まるようです。
6
6
 
7
7
 
8
8
 
9
- たとえば以下のように `y` フィールドだけ借用しようとしてもコンパイルできません。
9
+ たとえば以下のように `s` が immutable の時に `y` フィールドの mutable な参照作ろうとしてもコンパイルできません。
10
10
 
11
11
 
12
12
 

1

わかりやすさのためにコードコメントを追加

2018/02/22 02:03

投稿

tatsuya6502
tatsuya6502

スコア2035

test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  let s = S { y: &mut x };
22
22
 
23
- let z_y = &mut s.y;
23
+ let z_y = &mut s.y; // y フィールドだけ mut 借用
24
24
 
25
25
  *z_y = &mut v;
26
26