From 6149e2afd52b7813f4a23fd288738821a4e74c9b Mon Sep 17 00:00:00 2001
From: Rustln <rustln@outlook.com>
Date: Sun, 27 Feb 2022 18:22:20 +0800
Subject: [PATCH] Update advance-trait.md

---
 contents/basic/trait/advance-trait.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contents/basic/trait/advance-trait.md b/contents/basic/trait/advance-trait.md
index 138b7ed1..95650d36 100644
--- a/contents/basic/trait/advance-trait.md
+++ b/contents/basic/trait/advance-trait.md
@@ -384,7 +384,7 @@ fn main() {
 
 类似的,任何数组上的方法,你都无法直接调用,需要先用 `self.0` 取出数组,然后再进行调用。
 
-当然,解决办法还是有的,要不怎么说 Rust 是极其强大灵活的编程语言!Rust 提供了一个特征叫 [`Deref`](../../traits/deref.md),实现该特征后,可以自动做一层类似类型转换的操作,可以将 `Wrapper` 变成 `Vec<String>` 来使用。这样就会像直接使用数组那样去使用 `Wrapper`,而无需为每一个操作都添加上 `self.0`。
+当然,解决办法还是有的,要不怎么说 Rust 是极其强大灵活的编程语言!Rust 提供了一个特征叫 [`Deref`](../../advance/smart-pointer/deref.md),实现该特征后,可以自动做一层类似类型转换的操作,可以将 `Wrapper` 变成 `Vec<String>` 来使用。这样就会像直接使用数组那样去使用 `Wrapper`,而无需为每一个操作都添加上 `self.0`。
 
 同时,如果不想 `Wrapper` 暴漏底层数组的所有方法,我们还可以为 `Wrapper` 去重载这些方法,实现隐藏的目的。