Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
6c547e42
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,发现更多精彩内容 >>
提交
6c547e42
编写于
6月 15, 2013
作者:
D
Daniel Micay
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
rm vec::uniq_len
上级
c989b791
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
39 addition
and
36 deletion
+39
-36
src/libextra/flatpipes.rs
src/libextra/flatpipes.rs
+3
-5
src/libextra/net_tcp.rs
src/libextra/net_tcp.rs
+2
-3
src/libextra/priority_queue.rs
src/libextra/priority_queue.rs
+2
-2
src/libextra/sha1.rs
src/libextra/sha1.rs
+1
-1
src/libextra/smallintmap.rs
src/libextra/smallintmap.rs
+5
-5
src/libextra/test.rs
src/libextra/test.rs
+1
-1
src/libstd/comm.rs
src/libstd/comm.rs
+1
-1
src/libstd/container.rs
src/libstd/container.rs
+2
-2
src/libstd/io.rs
src/libstd/io.rs
+1
-1
src/libstd/repr.rs
src/libstd/repr.rs
+3
-2
src/libstd/rt/io/extensions.rs
src/libstd/rt/io/extensions.rs
+2
-1
src/libstd/vec.rs
src/libstd/vec.rs
+16
-12
未找到文件。
src/libextra/flatpipes.rs
浏览文件 @
6c547e42
...
...
@@ -583,12 +583,12 @@ pub struct PipeByteChan {
impl
BytePort
for
PipeBytePort
{
fn
try_recv
(
&
self
,
count
:
uint
)
->
Option
<~
[
u8
]
>
{
if
vec
::
uniq_len
(
&
const
*
self
.buf
)
>=
count
{
if
self
.buf
.len
(
)
>=
count
{
let
mut
bytes
=
::
core
::
util
::
replace
(
&
mut
*
self
.buf
,
~
[]);
*
self
.buf
=
bytes
.slice
(
count
,
bytes
.len
())
.to_owned
();
bytes
.truncate
(
count
);
return
Some
(
bytes
);
}
else
if
vec
::
uniq_len
(
&
const
*
self
.buf
)
>
0
{
}
else
if
!
self
.buf
.is_empty
()
{
let
mut
bytes
=
::
core
::
util
::
replace
(
&
mut
*
self
.buf
,
~
[]);
assert
!
(
count
>
bytes
.len
());
match
self
.try_recv
(
count
-
bytes
.len
())
{
...
...
@@ -598,7 +598,7 @@ fn try_recv(&self, count: uint) -> Option<~[u8]> {
}
None
=>
return
None
}
}
else
if
vec
::
uniq_len
(
&
const
*
self
.buf
)
==
0
{
}
else
/* empty */
{
match
self
.port
.try_recv
()
{
Some
(
buf
)
=>
{
assert
!
(
!
buf
.is_empty
());
...
...
@@ -607,8 +607,6 @@ fn try_recv(&self, count: uint) -> Option<~[u8]> {
}
None
=>
return
None
}
}
else
{
::
core
::
util
::
unreachable
()
}
}
}
...
...
src/libextra/net_tcp.rs
浏览文件 @
6c547e42
...
...
@@ -879,8 +879,7 @@ fn read(&self, buf: &mut [u8], len: uint) -> uint {
// If possible, copy up to `len` bytes from the internal
// `data.buf` into `buf`
let
nbuffered
=
vec
::
uniq_len
(
&
const
self
.data.buf
)
-
self
.data.buf_off
;
let
nbuffered
=
self
.data.buf
.len
()
-
self
.data.buf_off
;
let
needed
=
len
-
count
;
if
nbuffered
>
0
{
unsafe
{
...
...
@@ -934,7 +933,7 @@ fn read(&self, buf: &mut [u8], len: uint) -> uint {
}
fn
read_byte
(
&
self
)
->
int
{
loop
{
if
vec
::
uniq_len
(
&
const
self
.data.buf
)
>
self
.data.buf_off
{
if
self
.data.buf
.len
(
)
>
self
.data.buf_off
{
let
c
=
self
.data.buf
[
self
.data.buf_off
];
self
.data.buf_off
+=
1
;
return
c
as
int
...
...
src/libextra/priority_queue.rs
浏览文件 @
6c547e42
...
...
@@ -35,10 +35,10 @@ fn size_hint(&self) -> Option<uint> { self.data.size_hint() }
impl
<
T
:
Ord
>
Container
for
PriorityQueue
<
T
>
{
/// Returns the length of the queue
fn
len
(
&
const
self
)
->
uint
{
vec
::
uniq_len
(
&
const
self
.data
)
}
fn
len
(
&
self
)
->
uint
{
self
.data
.len
(
)
}
/// Returns true if a queue contains no elements
fn
is_empty
(
&
const
self
)
->
bool
{
self
.len
()
==
0
}
fn
is_empty
(
&
self
)
->
bool
{
self
.len
()
==
0
}
}
impl
<
T
:
Ord
>
Mutable
for
PriorityQueue
<
T
>
{
...
...
src/libextra/sha1.rs
浏览文件 @
6c547e42
...
...
@@ -93,7 +93,7 @@ fn add_input(st: &mut Sha1State, msg: &const [u8]) {
}
fn
process_msg_block
(
st
:
&
mut
Sha1State
)
{
assert_eq!
(
st
.h
.len
(),
digest_buf_len
);
assert_eq!
(
vec
::
uniq_len
(
st
.work_buf
),
work_buf_len
);
assert_eq!
(
st
.work_buf
.len
(
),
work_buf_len
);
let
mut
t
:
int
;
// Loop counter
let
w
=
st
.work_buf
;
...
...
src/libextra/smallintmap.rs
浏览文件 @
6c547e42
...
...
@@ -32,9 +32,9 @@ pub struct SmallIntMap<T> {
impl
<
V
>
Container
for
SmallIntMap
<
V
>
{
/// Return the number of elements in the map
fn
len
(
&
const
self
)
->
uint
{
fn
len
(
&
self
)
->
uint
{
let
mut
sz
=
0
;
for
uint
::
range
(
0
,
vec
::
uniq_len
(
&
const
self
.v
))
|
i
|
{
for
uint
::
range
(
0
,
self
.v
.len
(
))
|
i
|
{
match
self
.v
[
i
]
{
Some
(
_
)
=>
sz
+=
1
,
None
=>
{}
...
...
@@ -44,7 +44,7 @@ fn len(&const self) -> uint {
}
/// Return true if the map contains no elements
fn
is_empty
(
&
const
self
)
->
bool
{
self
.len
()
==
0
}
fn
is_empty
(
&
self
)
->
bool
{
self
.len
()
==
0
}
}
impl
<
V
>
Mutable
for
SmallIntMap
<
V
>
{
...
...
@@ -199,12 +199,12 @@ pub struct SmallIntSet {
impl
Container
for
SmallIntSet
{
/// Return the number of elements in the map
fn
len
(
&
const
self
)
->
uint
{
fn
len
(
&
self
)
->
uint
{
self
.map
.len
()
}
/// Return true if the map contains no elements
fn
is_empty
(
&
const
self
)
->
bool
{
self
.len
()
==
0
}
fn
is_empty
(
&
self
)
->
bool
{
self
.len
()
==
0
}
}
impl
Mutable
for
SmallIntSet
{
...
...
src/libextra/test.rs
浏览文件 @
6c547e42
...
...
@@ -365,7 +365,7 @@ fn write_pretty(out: @io::Writer,
fn
print_failures
(
st
:
&
ConsoleTestState
)
{
st
.out
.write_line
(
"
\n
failures:"
);
let
mut
failures
=
~
[];
for
uint
::
range
(
0
,
vec
::
uniq_len
(
&
const
st
.failures
))
|
i
|
{
for
uint
::
range
(
0
,
st
.failures
.len
(
))
|
i
|
{
let
name
=
copy
st
.failures
[
i
]
.name
;
failures
.push
(
name
.to_str
());
}
...
...
src/libstd/comm.rs
浏览文件 @
6c547e42
...
...
@@ -209,7 +209,7 @@ impl<T: Owned> Peekable<T> for PortSet<T> {
fn
peek
(
&
self
)
->
bool
{
// It'd be nice to use self.port.each, but that version isn't
// pure.
for
uint
::
range
(
0
,
vec
::
uniq_len
(
&
const
self
.ports
))
|
i
|
{
for
uint
::
range
(
0
,
self
.ports
.len
(
))
|
i
|
{
let
port
:
&
pipesy
::
Port
<
T
>
=
&
self
.ports
[
i
];
if
port
.peek
()
{
return
true
;
...
...
src/libstd/container.rs
浏览文件 @
6c547e42
...
...
@@ -16,10 +16,10 @@
/// knowledge known is the number of elements contained within.
pub
trait
Container
{
/// Return the number of elements in the container
fn
len
(
&
const
self
)
->
uint
;
fn
len
(
&
self
)
->
uint
;
/// Return true if the container contains no elements
fn
is_empty
(
&
const
self
)
->
bool
;
fn
is_empty
(
&
self
)
->
bool
;
}
/// A trait to represent mutable containers
...
...
src/libstd/io.rs
浏览文件 @
6c547e42
...
...
@@ -1667,7 +1667,7 @@ fn write(&self, v: &[u8]) {
fn
seek
(
&
self
,
offset
:
int
,
whence
:
SeekStyle
)
{
let
pos
=
*
self
.pos
;
let
len
=
vec
::
uniq_len
(
&
const
*
self
.bytes
);
let
len
=
self
.bytes
.len
(
);
*
self
.pos
=
seek_in_buf
(
offset
,
pos
,
len
,
whence
);
}
...
...
src/libstd/repr.rs
浏览文件 @
6c547e42
...
...
@@ -18,6 +18,7 @@
use
cast
::
transmute
;
use
char
;
use
container
::
Container
;
use
intrinsic
;
use
intrinsic
::{
TyDesc
,
TyVisitor
,
visit_tydesc
};
use
intrinsic
::
Opaque
;
...
...
@@ -502,7 +503,7 @@ fn visit_enum_variant_field(&self,
_
offset
:
uint
,
inner
:
*
TyDesc
)
->
bool
{
match
self
.var_stk
[
vec
::
uniq_len
(
&
const
*
self
.var_stk
)
-
1
]
{
match
self
.var_stk
[
self
.var_stk
.len
(
)
-
1
]
{
Matched
=>
{
if
i
!=
0
{
self
.writer
.write_str
(
", "
);
...
...
@@ -520,7 +521,7 @@ fn visit_leave_enum_variant(&self, _variant: uint,
_
disr_val
:
int
,
n_fields
:
uint
,
_
name
:
&
str
)
->
bool
{
match
self
.var_stk
[
vec
::
uniq_len
(
&
const
*
self
.var_stk
)
-
1
]
{
match
self
.var_stk
[
self
.var_stk
.len
(
)
-
1
]
{
Matched
=>
{
if
n_fields
>
0
{
self
.writer
.write_char
(
')'
);
...
...
src/libstd/rt/io/extensions.rs
浏览文件 @
6c547e42
...
...
@@ -297,7 +297,8 @@ fn push_bytes(&mut self, buf: &mut ~[u8], len: uint) {
do
(||
{
while
total_read
<
len
{
let
slice
=
vec
::
mut_slice
(
*
buf
,
start_len
+
total_read
,
buf
.len
());
let
len
=
buf
.len
();
let
slice
=
vec
::
mut_slice
(
*
buf
,
start_len
+
total_read
,
len
);
match
self
.read
(
slice
)
{
Some
(
nread
)
=>
{
total_read
+=
nread
;
...
...
src/libstd/vec.rs
浏览文件 @
6c547e42
...
...
@@ -118,15 +118,6 @@ pub fn capacity<T>(v: &const ~[T]) -> uint {
}
}
// A botch to tide us over until core and std are fully demuted.
#[allow(missing_doc)]
pub
fn
uniq_len
<
T
>
(
v
:
&
const
~
[
T
])
->
uint
{
unsafe
{
let
v
:
&~
[
T
]
=
transmute
(
v
);
as_const_buf
(
*
v
,
|
_
p
,
len
|
len
)
}
}
/**
* Creates and initializes an owned vector.
*
...
...
@@ -1767,19 +1758,32 @@ fn add(&self, rhs: & &'self const [T]) -> ~[T] {
}
}
impl
<
'self
,
T
>
Container
for
&
'self
const
[
T
]
{
impl
<
'self
,
T
>
Container
for
&
'self
const
[
T
]
{
/// Returns true if a vector contains no elements
#[inline]
fn
is_empty
(
&
const
self
)
->
bool
{
fn
is_empty
(
&
self
)
->
bool
{
as_const_buf
(
*
self
,
|
_
p
,
len
|
len
==
0u
)
}
/// Returns the length of a vector
#[inline]
fn
len
(
&
const
self
)
->
uint
{
fn
len
(
&
self
)
->
uint
{
as_const_buf
(
*
self
,
|
_
p
,
len
|
len
)
}
}
impl
<
T
>
Container
for
~
[
T
]
{
/// Returns true if a vector contains no elements
#[inline]
fn
is_empty
(
&
self
)
->
bool
{
as_const_buf
(
*
self
,
|
_
p
,
len
|
len
==
0u
)
}
/// Returns the length of a vector
#[inline]
fn
len
(
&
self
)
->
uint
{
as_const_buf
(
*
self
,
|
_
p
,
len
|
len
)
}
}
#[allow(missing_doc)]
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录