fix some grammarly mistakes

pull/1249/head
infopensource 2 years ago committed by GitHub
parent 1429899531
commit 494575c6c8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -490,7 +490,7 @@ fn exec<'a, F: FnMut(&'a str)>(mut f: F) {
}
```
我们注意到这段代码中`update_string`没有使用mut关键字修饰而上文我们提到想要在闭包内部捕获可变借用需要用关键词把该闭包声明为可变类型。我们确实这么做了———`exec(mut f: F)`表明我们的`exec`接收的是一个可变类型的闭包。看似这段代码中`update_string`声明为不可变闭包,但是`exec(mut f: F)`函数接收的又是可变参数,为什么可以正常执行呢?
我们注意到这段代码中`update_string`没有使用mut关键字修饰而上文我们提到想要在闭包内部捕获可变借用需要用关键词把该闭包声明为可变类型。我们确实这么做了———`exec(mut f: F)`表明我们的`exec`接收的是一个可变类型的闭包。看似这段代码中`update_string`声明为不可变闭包,但是`exec(mut f: F)`函数接收的又是可变参数,为什么可以正常执行呢?
是的rust不可能接受类型不匹配的形参和实参通过编译这说明`update_string`一定是一个可变类型的闭包我们不妨看看rust-analyzer给出的类型标注

Loading…
Cancel
Save