Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
3c02e2b6
R
Rust
项目概览
int
/
Rust
12 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3c02e2b6
编写于
1月 29, 2013
作者:
T
Tim Chevalier
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #4669 from pnkfelix/tutorial-revisions
Small fixes to code samples in Tutorials
上级
464ec27f
20af4d73
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
14 addition
and
8 deletion
+14
-8
doc/tutorial-borrowed-ptr.md
doc/tutorial-borrowed-ptr.md
+5
-3
doc/tutorial.md
doc/tutorial.md
+9
-5
未找到文件。
doc/tutorial-borrowed-ptr.md
浏览文件 @
3c02e2b6
...
...
@@ -302,7 +302,7 @@ rejected by the compiler):
fn example3() -> int {
let mut x = ~X {f: 3};
let y = &x.f;
x = ~{f: 4}; // Error reported here.
x = ~
X
{f: 4}; // Error reported here.
*y
}
~~~
...
...
@@ -366,12 +366,14 @@ Things get trickier when the unique box is not uniquely owned by the
stack frame, or when there is no way for the compiler to determine the
box's owner. Consider a program like this:
~~~
~~~
{.xfail-test}
struct R { g: int }
struct S { mut f: ~R }
fn example5a(x: @S
...
) -> int {
fn example5a(x: @S
, callback: @fn()
) -> int {
let y = &x.f.g; // Error reported here.
...
callback();
...
# return 0;
}
~~~
...
...
doc/tutorial.md
浏览文件 @
3c02e2b6
...
...
@@ -2015,7 +2015,7 @@ the method name with the trait name.
The compiler will use type inference to decide which implementation to call.
~~~~
#
trait Shape { static fn new(area: float) -> self; }
trait Shape { static fn new(area: float) -> self; }
# use float::consts::pi;
# use float::sqrt;
struct Circle { radius: float }
...
...
@@ -2211,11 +2211,15 @@ Likewise, supertrait methods may also be called on trait objects.
~~~
{.xfail-test}
# trait Shape { fn area(&self) -> float; }
# trait Circle : Shape { fn radius(&self) -> float; }
# impl int: Shape { fn area(&self) -> float { 0.0 } }
# impl int: Circle { fn radius(&self) -> float { 0.0 } }
# let mycircle = 0;
# use float::consts::pi;
# use float::sqrt;
# struct Point { x: float, y: float }
# struct CircleStruct { center: Point, radius: float }
# impl CircleStruct: Circle { fn radius(&self) -> float { sqrt(self.area() / pi) } }
# impl CircleStruct: Shape { fn area(&self) -> float { pi * square(self.radius) } }
let mycircle: Circle = @mycircle as @Circle;
let concrete = @CircleStruct{center:Point{x:3f,y:4f},radius:5f};
let mycircle: Circle = concrete as @Circle;
let nonsense = mycircle.radius() * mycircle.area();
~~~
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录