Rustçµè¾¼ã¿ãã¬ã¤ãã®ã³ãã¼ã¬ã³ã¹
以ä¸ã®ãã¬ã¤ãã¯é常ã®ã³ãã¼ã¬ã³ã¹è¦åã«å ãã¦ãç¹å¥ãªã³ãã¼ã¬ã³ã¹è¦åãé©ç¨ãããã
Sized
, Unsize
Sized
, Unsize
ã®æåå®è£
ãä¸ãããã¨ã¯ã§ããªãã
Fn
, FnMut
, FnOnce
Drop
Drop
ã¯ã¦ã¼ã¶ã¼å®ç¾©ã®æ§é ä½ã»åæåã»å
±ç¨ä½ã«ã®ã¿å®ç¾©ã§ããã
ã¾ãã(ãªããã³ãã¼ã¬ã³ã¹ãã§ãã«ã¼ã§ã¯ãªãDropãã§ãã«ã¼ã®ä¸é¨ã«ãªã£ã¦ããã)Drop
ã¯å
ã®æ§é ä½ã»åæåã»å
±ç¨ä½ã®ã¸ã§ããªã¯ã¹ãç¹æ®åãã¦ã¯ãªããªããããã«ãã Drop
ã¯ãåADTåã«å¯¾ãã¦å®ç¾©ãããããå®ç¾©ãããªããã®ã©ã¡ããã«ãªãã
Copy
Copy
ã®å®è£
ã¯ä»¥ä¸ã®æ¡ä»¶ãæºããã¦ããå¿
è¦ãããã
Self
ã¯ã¦ã¼ã¶ã¼å®ç¾©ã®æ§é ä½ã»åæåã»å ±ç¨ä½ã§ããã- ãã®
impl
ã«èª²ãããå¢çãããåãã£ã¼ã«ããCopy
ã§ãããã¨ãçµè«ã¥ããããã - ãã®æ§é ä½ã»åæåã»å
±ç¨ä½ã¯
Drop
ãå®è£ ãã¦ããªãã
CoerceUnsized
CoerceUnsized
ã®å®è£
ã¯ä»¥ä¸ã®æ¡ä»¶ãæºããã¦ããå¿
è¦ãããã
- 両辺ã¨ããã¤ã³ã¿/åç §åã§ãããã両辺ã¨ãæ§é ä½ã§ããã
- ãã¤ã³ã¿/åç
§åã®å ´åã (ããã¯
libcore
ã§ç¶²ç¾ ããã¦ãã)- ãã¤ã³ã¿ãããã¤ã³ã¿ããã¤ã³ã¿ããåç §ãåç §ããåç §ã®ããããã§ããå¿ è¦ãããã
mut
ããmut
,mut
ããconst
,const
ããconst
ã®ããããã§ããå¿ è¦ãããã- åç §ããåç §ã¸ã®å ´åã¯ã大ãããªã¼ã¸ã§ã³(é¨ååã¥ãã®æå³ã§ã¯å°ãã)ããå°ãããªã¼ã¸ã§ã³(é¨ååã¥ãã®æå³ã§ã¯å¤§ãã)ã¸ã®å¤æã§ããå¿ è¦ãããã
- æ§é ä½ã®å ´åã
- 両辺ãåãå®ç¾©ãæãã¦ããå¿ è¦ãããã
- 両辺ã®ãã£ã¼ã«ããããããåä¸åããã¨ããã¡ããã©1åã ãã失æããå¿ è¦ãããã
- åä¸åã失æãããã£ã¼ã«ãã«å¯¾ãã¦åæ§ã«
CoerceUnsized
ãæãç«ã£ã¦ããå¿ è¦ãããã