質問編集履歴

1

その後推測したことを追記

2022/12/13 07:20

投稿

rim_yamamoto
rim_yamamoto

スコア22

test CHANGED
File without changes
test CHANGED
@@ -87,7 +87,14 @@
87
87
  #### playerへの代入を止める
88
88
  `player = `を消して、`self.get_next_player();` だけにするとエラーが起きません。
89
89
 
90
+ #### 追記1
91
+ その後、思い当たった仮説を追記。
90
92
 
93
+ そももの原因は、self.get_next_player()のところで、selfがimmutable借用された後、self.item.change()でmuttable借用されるから?
94
+
95
+ player.play()、player = self.get_next_player()を書き換えたときエラーが起きなくなるのは、Non-lexical lifetimesの機能によって、コンパイラーがplayerにselfが借用されてないと判定されている?
96
+
97
+ ただ、if文を消すとエラーにならない原因は分からない。
91
98
 
92
99
  ### 補足情報(FW/ツールのバージョンなど)
93
100