Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
9105cb6d
R
Rust
项目概览
int
/
Rust
大约 1 年 前同步成功
通知
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,发现更多精彩内容 >>
提交
9105cb6d
编写于
6月 08, 2012
作者:
N
Niko Matsakis
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
revise map interface so that K need not be copyable
上级
fc9eadf7
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
9 addition
and
9 deletion
+9
-9
src/libstd/map.rs
src/libstd/map.rs
+6
-6
src/libstd/smallintmap.rs
src/libstd/smallintmap.rs
+1
-1
src/test/run-pass/class-impl-parameterized-iface.rs
src/test/run-pass/class-impl-parameterized-iface.rs
+1
-1
src/test/run-pass/class-impl-very-parameterized-iface.rs
src/test/run-pass/class-impl-very-parameterized-iface.rs
+1
-1
未找到文件。
src/libstd/map.rs
浏览文件 @
9105cb6d
...
...
@@ -21,7 +21,7 @@
type
hashmap
<
K
,
V
>
=
chained
::
t
<
K
,
V
>
;
iface
map
<
K
:
copy
,
V
:
copy
>
{
iface
map
<
K
,
V
:
copy
>
{
#[doc
=
"Return the number of elements in the map"
]
fn
size
()
->
uint
;
...
...
@@ -33,7 +33,7 @@
Returns true if the key did not already exist in the map
"
]
fn
insert
(
K
,
V
)
->
bool
;
fn
insert
(
+
K
,
+
V
)
->
bool
;
#[doc
=
"Returns true if the map contains a value for the specified key"
]
fn
contains_key
(
K
)
->
bool
;
...
...
@@ -96,7 +96,7 @@ enum search_result<K, V> {
found_after
(
@
entry
<
K
,
V
>
,
@
entry
<
K
,
V
>
)
}
impl
private_methods
<
K
:
copy
,
V
:
copy
>
for
t
<
K
,
V
>
{
impl
private_methods
<
K
,
V
:
copy
>
for
t
<
K
,
V
>
{
fn
search_rem
(
k
:
K
,
h
:
uint
,
idx
:
uint
,
e_root
:
@
entry
<
K
,
V
>
)
->
search_result
<
K
,
V
>
{
let
mut
e0
=
e_root
;
...
...
@@ -174,7 +174,7 @@ fn each_entry(blk: fn(@entry<K,V>) -> bool) {
}
}
impl
hashmap
<
K
:
copy
,
V
:
copy
>
of
map
<
K
,
V
>
for
t
<
K
,
V
>
{
impl
hashmap
<
K
,
V
:
copy
>
of
map
<
K
,
V
>
for
t
<
K
,
V
>
{
fn
size
()
->
uint
{
self
.count
}
fn
contains_key
(
k
:
K
)
->
bool
{
...
...
@@ -185,7 +185,7 @@ fn contains_key(k: K) -> bool {
}
}
fn
insert
(
k
:
K
,
v
:
V
)
->
bool
{
fn
insert
(
+
k
:
K
,
+
v
:
V
)
->
bool
{
let
hash
=
self
.hasher
(
k
);
alt
self
.search_tbl
(
k
,
hash
)
{
not_found
{
...
...
@@ -249,7 +249,7 @@ fn remove(k: K) -> option<V> {
fn
each
(
blk
:
fn
(
K
,
V
)
->
bool
)
{
for
self
.each_entry
{
|
entry
|
if
!
blk
(
copy
entry
.key
,
copy
entry
.value
)
{
break
;
}
if
!
blk
(
entry
.key
,
copy
entry
.value
)
{
break
;
}
}
}
...
...
src/libstd/smallintmap.rs
浏览文件 @
9105cb6d
...
...
@@ -62,7 +62,7 @@ fn size() -> uint {
}
sz
}
fn
insert
(
&&
key
:
uint
,
value
:
V
)
->
bool
{
fn
insert
(
+
key
:
uint
,
+
value
:
V
)
->
bool
{
let
exists
=
contains_key
(
self
,
key
);
insert
(
self
,
key
,
value
);
ret
!
exists
;
...
...
src/test/run-pass/class-impl-parameterized-iface.rs
浏览文件 @
9105cb6d
...
...
@@ -36,7 +36,7 @@ fn eat() -> bool {
}
fn
size
()
->
uint
{
self
.meows
as
uint
}
fn
insert
(
&&
k
:
int
,
&&
v
:
bool
)
->
bool
{
fn
insert
(
+
k
:
int
,
+
v
:
bool
)
->
bool
{
if
v
{
self
.meows
+=
k
;
}
else
{
self
.meows
-=
k
;
};
true
}
...
...
src/test/run-pass/class-impl-very-parameterized-iface.rs
浏览文件 @
9105cb6d
...
...
@@ -41,7 +41,7 @@ fn eat() -> bool {
}
fn
size
()
->
uint
{
self
.meows
as
uint
}
fn
insert
(
&&
k
:
int
,
&&
_
v
:
T
)
->
bool
{
fn
insert
(
+
k
:
int
,
+
_
v
:
T
)
->
bool
{
self
.meows
+=
k
;
true
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录