mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-28 02:57:37 +00:00
auto merge of #19378 : japaric/rust/no-as-slice, r=alexcrichton
Now that we have an overloaded comparison (`==`) operator, and that `Vec`/`String` deref to `[T]`/`str` on method calls, many `as_slice()`/`as_mut_slice()`/`to_string()` calls have become redundant. This patch removes them. These were the most common patterns: - `assert_eq(test_output.as_slice(), "ground truth")` -> `assert_eq(test_output, "ground truth")` - `assert_eq(test_output, "ground truth".to_string())` -> `assert_eq(test_output, "ground truth")` - `vec.as_mut_slice().sort()` -> `vec.sort()` - `vec.as_slice().slice(from, to)` -> `vec.slice(from_to)` --- Note that e.g. `a_string.push_str(b_string.as_slice())` has been left untouched in this PR, since we first need to settle down whether we want to favor the `&*b_string` or the `b_string[]` notation. This is rebased on top of #19167 cc @alexcrichton @aturon
This commit is contained in:
commit
83a44c7fa6
@ -523,7 +523,7 @@ mod tests {
|
||||
#[test]
|
||||
fn show_arc() {
|
||||
let a = Arc::new(5u32);
|
||||
assert!(format!("{}", a).as_slice() == "5")
|
||||
assert!(format!("{}", a) == "5")
|
||||
}
|
||||
|
||||
// Make sure deriving works with Arc<T>
|
||||
|
@ -170,14 +170,14 @@ mod test {
|
||||
let b = box Test as Box<Any>;
|
||||
let a_str = a.to_str();
|
||||
let b_str = b.to_str();
|
||||
assert_eq!(a_str.as_slice(), "Box<Any>");
|
||||
assert_eq!(b_str.as_slice(), "Box<Any>");
|
||||
assert_eq!(a_str, "Box<Any>");
|
||||
assert_eq!(b_str, "Box<Any>");
|
||||
|
||||
let a = &8u as &Any;
|
||||
let b = &Test as &Any;
|
||||
let s = format!("{}", a);
|
||||
assert_eq!(s.as_slice(), "&Any");
|
||||
assert_eq!(s, "&Any");
|
||||
let s = format!("{}", b);
|
||||
assert_eq!(s.as_slice(), "&Any");
|
||||
assert_eq!(s, "&Any");
|
||||
}
|
||||
}
|
||||
|
@ -485,7 +485,7 @@ impl<T: Ord> BinaryHeap<T> {
|
||||
let mut end = q.len();
|
||||
while end > 1 {
|
||||
end -= 1;
|
||||
q.data.as_mut_slice().swap(0, end);
|
||||
q.data.swap(0, end);
|
||||
q.siftdown_range(0, end)
|
||||
}
|
||||
q.into_vec()
|
||||
@ -769,8 +769,8 @@ mod tests {
|
||||
v.sort();
|
||||
data.sort();
|
||||
|
||||
assert_eq!(v.as_slice(), data.as_slice());
|
||||
assert_eq!(heap.into_sorted_vec().as_slice(), data.as_slice());
|
||||
assert_eq!(v, data);
|
||||
assert_eq!(heap.into_sorted_vec(), data);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -812,7 +812,7 @@ mod tests {
|
||||
fn test_from_iter() {
|
||||
let xs = vec!(9u, 8, 7, 6, 5, 4, 3, 2, 1);
|
||||
|
||||
let mut q: BinaryHeap<uint> = xs.as_slice().iter().rev().map(|&x| x).collect();
|
||||
let mut q: BinaryHeap<uint> = xs.iter().rev().map(|&x| x).collect();
|
||||
|
||||
for &x in xs.iter() {
|
||||
assert_eq!(q.pop().unwrap(), x);
|
||||
|
@ -1692,10 +1692,10 @@ mod tests {
|
||||
#[test]
|
||||
fn test_to_str() {
|
||||
let zerolen = Bitv::new();
|
||||
assert_eq!(zerolen.to_string().as_slice(), "");
|
||||
assert_eq!(zerolen.to_string(), "");
|
||||
|
||||
let eightbits = Bitv::with_capacity(8u, false);
|
||||
assert_eq!(eightbits.to_string().as_slice(), "00000000")
|
||||
assert_eq!(eightbits.to_string(), "00000000")
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1718,7 +1718,7 @@ mod tests {
|
||||
let mut b = bitv::Bitv::with_capacity(2, false);
|
||||
b.set(0, true);
|
||||
b.set(1, false);
|
||||
assert_eq!(b.to_string().as_slice(), "10");
|
||||
assert_eq!(b.to_string(), "10");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -2029,7 +2029,7 @@ mod tests {
|
||||
fn test_from_bytes() {
|
||||
let bitv = from_bytes(&[0b10110110, 0b00000000, 0b11111111]);
|
||||
let str = format!("{}{}{}", "10110110", "00000000", "11111111");
|
||||
assert_eq!(bitv.to_string().as_slice(), str.as_slice());
|
||||
assert_eq!(bitv.to_string(), str);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -2048,7 +2048,7 @@ mod tests {
|
||||
fn test_from_bools() {
|
||||
let bools = vec![true, false, true, true];
|
||||
let bitv: Bitv = bools.iter().map(|n| *n).collect();
|
||||
assert_eq!(bitv.to_string().as_slice(), "1011");
|
||||
assert_eq!(bitv.to_string(), "1011");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -2207,7 +2207,7 @@ mod tests {
|
||||
|
||||
let expected = [3, 5, 11, 77];
|
||||
let actual = a.intersection(&b).collect::<Vec<uint>>();
|
||||
assert_eq!(actual.as_slice(), expected.as_slice());
|
||||
assert_eq!(actual, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -2226,7 +2226,7 @@ mod tests {
|
||||
|
||||
let expected = [1, 5, 500];
|
||||
let actual = a.difference(&b).collect::<Vec<uint>>();
|
||||
assert_eq!(actual.as_slice(), expected.as_slice());
|
||||
assert_eq!(actual, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -2247,7 +2247,7 @@ mod tests {
|
||||
|
||||
let expected = [1, 5, 11, 14, 220];
|
||||
let actual = a.symmetric_difference(&b).collect::<Vec<uint>>();
|
||||
assert_eq!(actual.as_slice(), expected.as_slice());
|
||||
assert_eq!(actual, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -2272,7 +2272,7 @@ mod tests {
|
||||
|
||||
let expected = [1, 3, 5, 9, 11, 13, 19, 24, 160, 200];
|
||||
let actual = a.union(&b).collect::<Vec<uint>>();
|
||||
assert_eq!(actual.as_slice(), expected.as_slice());
|
||||
assert_eq!(actual, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -2660,7 +2660,7 @@ mod tests {
|
||||
s.insert(10);
|
||||
s.insert(50);
|
||||
s.insert(2);
|
||||
assert_eq!("{1, 2, 10, 50}".to_string(), s.to_string());
|
||||
assert_eq!("{1, 2, 10, 50}", s.to_string());
|
||||
}
|
||||
|
||||
fn rng() -> rand::IsaacRng {
|
||||
|
@ -158,43 +158,43 @@ impl <K, V> Node<K, V> {
|
||||
/// Swap the given key-value pair with the key-value pair stored in the node's index,
|
||||
/// without checking bounds.
|
||||
pub unsafe fn unsafe_swap(&mut self, index: uint, key: &mut K, val: &mut V) {
|
||||
mem::swap(self.keys.as_mut_slice().unsafe_mut(index), key);
|
||||
mem::swap(self.vals.as_mut_slice().unsafe_mut(index), val);
|
||||
mem::swap(self.keys.unsafe_mut(index), key);
|
||||
mem::swap(self.vals.unsafe_mut(index), val);
|
||||
}
|
||||
|
||||
/// Get the node's key mutably without any bounds checks.
|
||||
pub unsafe fn unsafe_key_mut(&mut self, index: uint) -> &mut K {
|
||||
self.keys.as_mut_slice().unsafe_mut(index)
|
||||
self.keys.unsafe_mut(index)
|
||||
}
|
||||
|
||||
/// Get the node's value at the given index
|
||||
pub fn val(&self, index: uint) -> Option<&V> {
|
||||
self.vals.as_slice().get(index)
|
||||
self.vals.get(index)
|
||||
}
|
||||
|
||||
/// Get the node's value at the given index
|
||||
pub fn val_mut(&mut self, index: uint) -> Option<&mut V> {
|
||||
self.vals.as_mut_slice().get_mut(index)
|
||||
self.vals.get_mut(index)
|
||||
}
|
||||
|
||||
/// Get the node's value mutably without any bounds checks.
|
||||
pub unsafe fn unsafe_val_mut(&mut self, index: uint) -> &mut V {
|
||||
self.vals.as_mut_slice().unsafe_mut(index)
|
||||
self.vals.unsafe_mut(index)
|
||||
}
|
||||
|
||||
/// Get the node's edge at the given index
|
||||
pub fn edge(&self, index: uint) -> Option<&Node<K,V>> {
|
||||
self.edges.as_slice().get(index)
|
||||
self.edges.get(index)
|
||||
}
|
||||
|
||||
/// Get the node's edge mutably at the given index
|
||||
pub fn edge_mut(&mut self, index: uint) -> Option<&mut Node<K,V>> {
|
||||
self.edges.as_mut_slice().get_mut(index)
|
||||
self.edges.get_mut(index)
|
||||
}
|
||||
|
||||
/// Get the node's edge mutably without any bounds checks.
|
||||
pub unsafe fn unsafe_edge_mut(&mut self, index: uint) -> &mut Node<K,V> {
|
||||
self.edges.as_mut_slice().unsafe_mut(index)
|
||||
self.edges.unsafe_mut(index)
|
||||
}
|
||||
|
||||
/// Pop an edge off the end of the node
|
||||
@ -281,8 +281,8 @@ impl <K, V> Node<K, V> {
|
||||
pub fn iter<'a>(&'a self) -> Traversal<'a, K, V> {
|
||||
let is_leaf = self.is_leaf();
|
||||
Traversal {
|
||||
elems: self.keys.as_slice().iter().zip(self.vals.as_slice().iter()),
|
||||
edges: self.edges.as_slice().iter(),
|
||||
elems: self.keys.iter().zip(self.vals.iter()),
|
||||
edges: self.edges.iter(),
|
||||
head_is_edge: true,
|
||||
tail_is_edge: true,
|
||||
has_edges: !is_leaf,
|
||||
@ -292,8 +292,8 @@ impl <K, V> Node<K, V> {
|
||||
pub fn iter_mut<'a>(&'a mut self) -> MutTraversal<'a, K, V> {
|
||||
let is_leaf = self.is_leaf();
|
||||
MutTraversal {
|
||||
elems: self.keys.as_slice().iter().zip(self.vals.as_mut_slice().iter_mut()),
|
||||
edges: self.edges.as_mut_slice().iter_mut(),
|
||||
elems: self.keys.iter().zip(self.vals.iter_mut()),
|
||||
edges: self.edges.iter_mut(),
|
||||
head_is_edge: true,
|
||||
tail_is_edge: true,
|
||||
has_edges: !is_leaf,
|
||||
@ -477,8 +477,8 @@ fn split<T>(left: &mut Vec<T>) -> Vec<T> {
|
||||
let left_len = len - right_len;
|
||||
let mut right = Vec::with_capacity(left.capacity());
|
||||
unsafe {
|
||||
let left_ptr = left.as_slice().unsafe_get(left_len) as *const _;
|
||||
let right_ptr = right.as_mut_slice().as_mut_ptr();
|
||||
let left_ptr = left.unsafe_get(left_len) as *const _;
|
||||
let right_ptr = right.as_mut_ptr();
|
||||
ptr::copy_nonoverlapping_memory(right_ptr, left_ptr, right_len);
|
||||
left.set_len(left_len);
|
||||
right.set_len(right_len);
|
||||
|
@ -646,7 +646,7 @@ mod test {
|
||||
|
||||
let set_str = format!("{}", set);
|
||||
|
||||
assert!(set_str == "{1, 2}".to_string());
|
||||
assert_eq!(format!("{}", empty), "{}".to_string());
|
||||
assert!(set_str == "{1, 2}");
|
||||
assert_eq!(format!("{}", empty), "{}");
|
||||
}
|
||||
}
|
||||
|
@ -926,7 +926,7 @@ mod tests {
|
||||
let mut m = list_from(v.as_slice());
|
||||
m.prepend(list_from(u.as_slice()));
|
||||
check_links(&m);
|
||||
u.extend(v.as_slice().iter().map(|&b| b));
|
||||
u.extend(v.iter().map(|&b| b));
|
||||
assert_eq!(u.len(), m.len());
|
||||
for elt in u.into_iter() {
|
||||
assert_eq!(m.pop_front(), Some(elt))
|
||||
@ -1133,7 +1133,7 @@ mod tests {
|
||||
spawn(proc() {
|
||||
check_links(&n);
|
||||
let a: &[_] = &[&1,&2,&3];
|
||||
assert_eq!(a, n.iter().collect::<Vec<&int>>().as_slice());
|
||||
assert_eq!(a, n.iter().collect::<Vec<&int>>());
|
||||
});
|
||||
}
|
||||
|
||||
@ -1224,12 +1224,12 @@ mod tests {
|
||||
#[test]
|
||||
fn test_show() {
|
||||
let list: DList<int> = range(0i, 10).collect();
|
||||
assert!(list.to_string().as_slice() == "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]");
|
||||
assert!(list.to_string() == "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]");
|
||||
|
||||
let list: DList<&str> = vec!["just", "one", "test", "more"].iter()
|
||||
.map(|&s| s)
|
||||
.collect();
|
||||
assert!(list.to_string().as_slice() == "[just, one, test, more]");
|
||||
assert!(list.to_string() == "[just, one, test, more]");
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
@ -288,11 +288,11 @@ mod test {
|
||||
#[test]
|
||||
fn test_show() {
|
||||
let mut e = EnumSet::new();
|
||||
assert_eq!("{}", e.to_string().as_slice());
|
||||
assert_eq!("{}", e.to_string());
|
||||
e.insert(A);
|
||||
assert_eq!("{A}", e.to_string().as_slice());
|
||||
assert_eq!("{A}", e.to_string());
|
||||
e.insert(C);
|
||||
assert_eq!("{A, C}", e.to_string().as_slice());
|
||||
assert_eq!("{A, C}", e.to_string());
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -1246,7 +1246,7 @@ mod tests {
|
||||
}
|
||||
{
|
||||
let b: &[_] = &[&0,&1,&2,&3,&4];
|
||||
assert_eq!(d.iter().collect::<Vec<&int>>().as_slice(), b);
|
||||
assert_eq!(d.iter().collect::<Vec<&int>>(), b);
|
||||
}
|
||||
|
||||
for i in range(6i, 9) {
|
||||
@ -1254,7 +1254,7 @@ mod tests {
|
||||
}
|
||||
{
|
||||
let b: &[_] = &[&8,&7,&6,&0,&1,&2,&3,&4];
|
||||
assert_eq!(d.iter().collect::<Vec<&int>>().as_slice(), b);
|
||||
assert_eq!(d.iter().collect::<Vec<&int>>(), b);
|
||||
}
|
||||
|
||||
let mut it = d.iter();
|
||||
@ -1277,14 +1277,14 @@ mod tests {
|
||||
}
|
||||
{
|
||||
let b: &[_] = &[&4,&3,&2,&1,&0];
|
||||
assert_eq!(d.iter().rev().collect::<Vec<&int>>().as_slice(), b);
|
||||
assert_eq!(d.iter().rev().collect::<Vec<&int>>(), b);
|
||||
}
|
||||
|
||||
for i in range(6i, 9) {
|
||||
d.push_front(i);
|
||||
}
|
||||
let b: &[_] = &[&4,&3,&2,&1,&0,&6,&7,&8];
|
||||
assert_eq!(d.iter().rev().collect::<Vec<&int>>().as_slice(), b);
|
||||
assert_eq!(d.iter().rev().collect::<Vec<&int>>(), b);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1495,12 +1495,12 @@ mod tests {
|
||||
#[test]
|
||||
fn test_show() {
|
||||
let ringbuf: RingBuf<int> = range(0i, 10).collect();
|
||||
assert!(format!("{}", ringbuf).as_slice() == "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]");
|
||||
assert!(format!("{}", ringbuf) == "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]");
|
||||
|
||||
let ringbuf: RingBuf<&str> = vec!["just", "one", "test", "more"].iter()
|
||||
.map(|&s| s)
|
||||
.collect();
|
||||
assert!(format!("{}", ringbuf).as_slice() == "[just, one, test, more]");
|
||||
assert!(format!("{}", ringbuf) == "[just, one, test, more]");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -201,7 +201,7 @@ impl Iterator<(uint, uint)> for ElementSwaps {
|
||||
match max {
|
||||
Some((i, sd)) => {
|
||||
let j = new_pos(i, sd.dir);
|
||||
self.sdir.as_mut_slice().swap(i, j);
|
||||
self.sdir.swap(i, j);
|
||||
|
||||
// Swap the direction of each larger SizeDirection
|
||||
for x in self.sdir.iter_mut() {
|
||||
@ -256,7 +256,7 @@ impl<T: Clone> Iterator<Vec<T>> for Permutations<T> {
|
||||
Some((0,0)) => Some(self.v.clone()),
|
||||
Some((a, b)) => {
|
||||
let elt = self.v.clone();
|
||||
self.v.as_mut_slice().swap(a, b);
|
||||
self.v.swap(a, b);
|
||||
Some(elt)
|
||||
}
|
||||
}
|
||||
@ -779,11 +779,11 @@ mod tests {
|
||||
#[test]
|
||||
fn test_head_mut() {
|
||||
let mut a = vec![];
|
||||
assert_eq!(a.as_mut_slice().head_mut(), None);
|
||||
assert_eq!(a.head_mut(), None);
|
||||
a = vec![11i];
|
||||
assert_eq!(*a.as_mut_slice().head_mut().unwrap(), 11);
|
||||
assert_eq!(*a.head_mut().unwrap(), 11);
|
||||
a = vec![11i, 12];
|
||||
assert_eq!(*a.as_mut_slice().head_mut().unwrap(), 11);
|
||||
assert_eq!(*a.head_mut().unwrap(), 11);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -800,10 +800,10 @@ mod tests {
|
||||
fn test_tail_mut() {
|
||||
let mut a = vec![11i];
|
||||
let b: &mut [int] = &mut [];
|
||||
assert!(a.as_mut_slice().tail_mut() == b);
|
||||
assert!(a.tail_mut() == b);
|
||||
a = vec![11i, 12];
|
||||
let b: &mut [int] = &mut [12];
|
||||
assert!(a.as_mut_slice().tail_mut() == b);
|
||||
assert!(a.tail_mut() == b);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -817,7 +817,7 @@ mod tests {
|
||||
#[should_fail]
|
||||
fn test_tail_mut_empty() {
|
||||
let mut a: Vec<int> = vec![];
|
||||
a.as_mut_slice().tail_mut();
|
||||
a.tail_mut();
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -834,10 +834,10 @@ mod tests {
|
||||
fn test_init_mut() {
|
||||
let mut a = vec![11i];
|
||||
let b: &mut [int] = &mut [];
|
||||
assert!(a.as_mut_slice().init_mut() == b);
|
||||
assert!(a.init_mut() == b);
|
||||
a = vec![11i, 12];
|
||||
let b: &mut [int] = &mut [11];
|
||||
assert!(a.as_mut_slice().init_mut() == b);
|
||||
assert!(a.init_mut() == b);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -851,7 +851,7 @@ mod tests {
|
||||
#[should_fail]
|
||||
fn test_init_mut_empty() {
|
||||
let mut a: Vec<int> = vec![];
|
||||
a.as_mut_slice().init_mut();
|
||||
a.init_mut();
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -867,11 +867,11 @@ mod tests {
|
||||
#[test]
|
||||
fn test_last_mut() {
|
||||
let mut a = vec![];
|
||||
assert_eq!(a.as_mut_slice().last_mut(), None);
|
||||
assert_eq!(a.last_mut(), None);
|
||||
a = vec![11i];
|
||||
assert_eq!(*a.as_mut_slice().last_mut().unwrap(), 11);
|
||||
assert_eq!(*a.last_mut().unwrap(), 11);
|
||||
a = vec![11i, 12];
|
||||
assert_eq!(*a.as_mut_slice().last_mut().unwrap(), 12);
|
||||
assert_eq!(*a.last_mut().unwrap(), 12);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1299,13 +1299,13 @@ mod tests {
|
||||
.collect::<Vec<uint>>();
|
||||
let mut v1 = v.clone();
|
||||
|
||||
v.as_mut_slice().sort();
|
||||
v.sort();
|
||||
assert!(v.as_slice().windows(2).all(|w| w[0] <= w[1]));
|
||||
|
||||
v1.as_mut_slice().sort_by(|a, b| a.cmp(b));
|
||||
v1.sort_by(|a, b| a.cmp(b));
|
||||
assert!(v1.as_slice().windows(2).all(|w| w[0] <= w[1]));
|
||||
|
||||
v1.as_mut_slice().sort_by(|a, b| b.cmp(a));
|
||||
v1.sort_by(|a, b| b.cmp(a));
|
||||
assert!(v1.as_slice().windows(2).all(|w| w[0] >= w[1]));
|
||||
}
|
||||
}
|
||||
@ -1652,24 +1652,24 @@ mod tests {
|
||||
let xs = &[1i,2,3,4,5];
|
||||
|
||||
let splits: &[&[int]] = &[&[1], &[3], &[5]];
|
||||
assert_eq!(xs.split(|x| *x % 2 == 0).collect::<Vec<&[int]>>().as_slice(),
|
||||
assert_eq!(xs.split(|x| *x % 2 == 0).collect::<Vec<&[int]>>(),
|
||||
splits);
|
||||
let splits: &[&[int]] = &[&[], &[2,3,4,5]];
|
||||
assert_eq!(xs.split(|x| *x == 1).collect::<Vec<&[int]>>().as_slice(),
|
||||
assert_eq!(xs.split(|x| *x == 1).collect::<Vec<&[int]>>(),
|
||||
splits);
|
||||
let splits: &[&[int]] = &[&[1,2,3,4], &[]];
|
||||
assert_eq!(xs.split(|x| *x == 5).collect::<Vec<&[int]>>().as_slice(),
|
||||
assert_eq!(xs.split(|x| *x == 5).collect::<Vec<&[int]>>(),
|
||||
splits);
|
||||
let splits: &[&[int]] = &[&[1,2,3,4,5]];
|
||||
assert_eq!(xs.split(|x| *x == 10).collect::<Vec<&[int]>>().as_slice(),
|
||||
assert_eq!(xs.split(|x| *x == 10).collect::<Vec<&[int]>>(),
|
||||
splits);
|
||||
let splits: &[&[int]] = &[&[], &[], &[], &[], &[], &[]];
|
||||
assert_eq!(xs.split(|_| true).collect::<Vec<&[int]>>().as_slice(),
|
||||
assert_eq!(xs.split(|_| true).collect::<Vec<&[int]>>(),
|
||||
splits);
|
||||
|
||||
let xs: &[int] = &[];
|
||||
let splits: &[&[int]] = &[&[]];
|
||||
assert_eq!(xs.split(|x| *x == 5).collect::<Vec<&[int]>>().as_slice(), splits);
|
||||
assert_eq!(xs.split(|x| *x == 5).collect::<Vec<&[int]>>(), splits);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1677,18 +1677,18 @@ mod tests {
|
||||
let xs = &[1i,2,3,4,5];
|
||||
|
||||
let splits: &[&[int]] = &[&[1,2,3,4,5]];
|
||||
assert_eq!(xs.splitn(0, |x| *x % 2 == 0).collect::<Vec<&[int]>>().as_slice(),
|
||||
assert_eq!(xs.splitn(0, |x| *x % 2 == 0).collect::<Vec<&[int]>>(),
|
||||
splits);
|
||||
let splits: &[&[int]] = &[&[1], &[3,4,5]];
|
||||
assert_eq!(xs.splitn(1, |x| *x % 2 == 0).collect::<Vec<&[int]>>().as_slice(),
|
||||
assert_eq!(xs.splitn(1, |x| *x % 2 == 0).collect::<Vec<&[int]>>(),
|
||||
splits);
|
||||
let splits: &[&[int]] = &[&[], &[], &[], &[4,5]];
|
||||
assert_eq!(xs.splitn(3, |_| true).collect::<Vec<&[int]>>().as_slice(),
|
||||
assert_eq!(xs.splitn(3, |_| true).collect::<Vec<&[int]>>(),
|
||||
splits);
|
||||
|
||||
let xs: &[int] = &[];
|
||||
let splits: &[&[int]] = &[&[]];
|
||||
assert_eq!(xs.splitn(1, |x| *x == 5).collect::<Vec<&[int]>>().as_slice(), splits);
|
||||
assert_eq!(xs.splitn(1, |x| *x == 5).collect::<Vec<&[int]>>(), splits);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1696,18 +1696,18 @@ mod tests {
|
||||
let xs = &mut [1i,2,3,4,5];
|
||||
|
||||
let splits: &[&mut [int]] = &[&mut [1,2,3,4,5]];
|
||||
assert_eq!(xs.splitn_mut(0, |x| *x % 2 == 0).collect::<Vec<&mut [int]>>().as_slice(),
|
||||
assert_eq!(xs.splitn_mut(0, |x| *x % 2 == 0).collect::<Vec<&mut [int]>>(),
|
||||
splits);
|
||||
let splits: &[&mut [int]] = &[&mut [1], &mut [3,4,5]];
|
||||
assert_eq!(xs.splitn_mut(1, |x| *x % 2 == 0).collect::<Vec<&mut [int]>>().as_slice(),
|
||||
assert_eq!(xs.splitn_mut(1, |x| *x % 2 == 0).collect::<Vec<&mut [int]>>(),
|
||||
splits);
|
||||
let splits: &[&mut [int]] = &[&mut [], &mut [], &mut [], &mut [4,5]];
|
||||
assert_eq!(xs.splitn_mut(3, |_| true).collect::<Vec<&mut [int]>>().as_slice(),
|
||||
assert_eq!(xs.splitn_mut(3, |_| true).collect::<Vec<&mut [int]>>(),
|
||||
splits);
|
||||
|
||||
let xs: &mut [int] = &mut [];
|
||||
let splits: &[&mut [int]] = &[&mut []];
|
||||
assert_eq!(xs.splitn_mut(1, |x| *x == 5).collect::<Vec<&mut [int]>>().as_slice(),
|
||||
assert_eq!(xs.splitn_mut(1, |x| *x == 5).collect::<Vec<&mut [int]>>(),
|
||||
splits);
|
||||
}
|
||||
|
||||
@ -1716,21 +1716,21 @@ mod tests {
|
||||
let xs = &[1i,2,3,4,5];
|
||||
|
||||
let splits: &[&[int]] = &[&[5], &[3], &[1]];
|
||||
assert_eq!(xs.split(|x| *x % 2 == 0).rev().collect::<Vec<&[int]>>().as_slice(),
|
||||
assert_eq!(xs.split(|x| *x % 2 == 0).rev().collect::<Vec<&[int]>>(),
|
||||
splits);
|
||||
let splits: &[&[int]] = &[&[2,3,4,5], &[]];
|
||||
assert_eq!(xs.split(|x| *x == 1).rev().collect::<Vec<&[int]>>().as_slice(),
|
||||
assert_eq!(xs.split(|x| *x == 1).rev().collect::<Vec<&[int]>>(),
|
||||
splits);
|
||||
let splits: &[&[int]] = &[&[], &[1,2,3,4]];
|
||||
assert_eq!(xs.split(|x| *x == 5).rev().collect::<Vec<&[int]>>().as_slice(),
|
||||
assert_eq!(xs.split(|x| *x == 5).rev().collect::<Vec<&[int]>>(),
|
||||
splits);
|
||||
let splits: &[&[int]] = &[&[1,2,3,4,5]];
|
||||
assert_eq!(xs.split(|x| *x == 10).rev().collect::<Vec<&[int]>>().as_slice(),
|
||||
assert_eq!(xs.split(|x| *x == 10).rev().collect::<Vec<&[int]>>(),
|
||||
splits);
|
||||
|
||||
let xs: &[int] = &[];
|
||||
let splits: &[&[int]] = &[&[]];
|
||||
assert_eq!(xs.split(|x| *x == 5).rev().collect::<Vec<&[int]>>().as_slice(), splits);
|
||||
assert_eq!(xs.split(|x| *x == 5).rev().collect::<Vec<&[int]>>(), splits);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1738,18 +1738,18 @@ mod tests {
|
||||
let xs = &[1,2,3,4,5];
|
||||
|
||||
let splits: &[&[int]] = &[&[1,2,3,4,5]];
|
||||
assert_eq!(xs.rsplitn(0, |x| *x % 2 == 0).collect::<Vec<&[int]>>().as_slice(),
|
||||
assert_eq!(xs.rsplitn(0, |x| *x % 2 == 0).collect::<Vec<&[int]>>(),
|
||||
splits);
|
||||
let splits: &[&[int]] = &[&[5], &[1,2,3]];
|
||||
assert_eq!(xs.rsplitn(1, |x| *x % 2 == 0).collect::<Vec<&[int]>>().as_slice(),
|
||||
assert_eq!(xs.rsplitn(1, |x| *x % 2 == 0).collect::<Vec<&[int]>>(),
|
||||
splits);
|
||||
let splits: &[&[int]] = &[&[], &[], &[], &[1,2]];
|
||||
assert_eq!(xs.rsplitn(3, |_| true).collect::<Vec<&[int]>>().as_slice(),
|
||||
assert_eq!(xs.rsplitn(3, |_| true).collect::<Vec<&[int]>>(),
|
||||
splits);
|
||||
|
||||
let xs: &[int] = &[];
|
||||
let splits: &[&[int]] = &[&[]];
|
||||
assert_eq!(xs.rsplitn(1, |x| *x == 5).collect::<Vec<&[int]>>().as_slice(), splits);
|
||||
assert_eq!(xs.rsplitn(1, |x| *x == 5).collect::<Vec<&[int]>>(), splits);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1757,9 +1757,9 @@ mod tests {
|
||||
let v = &[1i,2,3,4];
|
||||
|
||||
let wins: &[&[int]] = &[&[1,2], &[2,3], &[3,4]];
|
||||
assert_eq!(v.windows(2).collect::<Vec<&[int]>>().as_slice(), wins);
|
||||
assert_eq!(v.windows(2).collect::<Vec<&[int]>>(), wins);
|
||||
let wins: &[&[int]] = &[&[1i,2,3], &[2,3,4]];
|
||||
assert_eq!(v.windows(3).collect::<Vec<&[int]>>().as_slice(), wins);
|
||||
assert_eq!(v.windows(3).collect::<Vec<&[int]>>(), wins);
|
||||
assert!(v.windows(6).next().is_none());
|
||||
}
|
||||
|
||||
@ -1775,14 +1775,14 @@ mod tests {
|
||||
let v = &[1i,2,3,4,5];
|
||||
|
||||
let chunks: &[&[int]] = &[&[1i,2], &[3,4], &[5]];
|
||||
assert_eq!(v.chunks(2).collect::<Vec<&[int]>>().as_slice(), chunks);
|
||||
assert_eq!(v.chunks(2).collect::<Vec<&[int]>>(), chunks);
|
||||
let chunks: &[&[int]] = &[&[1i,2,3], &[4,5]];
|
||||
assert_eq!(v.chunks(3).collect::<Vec<&[int]>>().as_slice(), chunks);
|
||||
assert_eq!(v.chunks(3).collect::<Vec<&[int]>>(), chunks);
|
||||
let chunks: &[&[int]] = &[&[1i,2,3,4,5]];
|
||||
assert_eq!(v.chunks(6).collect::<Vec<&[int]>>().as_slice(), chunks);
|
||||
assert_eq!(v.chunks(6).collect::<Vec<&[int]>>(), chunks);
|
||||
|
||||
let chunks: &[&[int]] = &[&[5i], &[3,4], &[1,2]];
|
||||
assert_eq!(v.chunks(2).rev().collect::<Vec<&[int]>>().as_slice(), chunks);
|
||||
assert_eq!(v.chunks(2).rev().collect::<Vec<&[int]>>(), chunks);
|
||||
let mut it = v.chunks(2);
|
||||
assert_eq!(it.indexable(), 3);
|
||||
let chunk: &[int] = &[1,2];
|
||||
@ -1838,20 +1838,20 @@ mod tests {
|
||||
})
|
||||
)
|
||||
let empty: Vec<int> = vec![];
|
||||
test_show_vec!(empty, "[]".to_string());
|
||||
test_show_vec!(vec![1i], "[1]".to_string());
|
||||
test_show_vec!(vec![1i, 2, 3], "[1, 2, 3]".to_string());
|
||||
test_show_vec!(empty, "[]");
|
||||
test_show_vec!(vec![1i], "[1]");
|
||||
test_show_vec!(vec![1i, 2, 3], "[1, 2, 3]");
|
||||
test_show_vec!(vec![vec![], vec![1u], vec![1u, 1u]],
|
||||
"[[], [1], [1, 1]]".to_string());
|
||||
"[[], [1], [1, 1]]");
|
||||
|
||||
let empty_mut: &mut [int] = &mut[];
|
||||
test_show_vec!(empty_mut, "[]".to_string());
|
||||
test_show_vec!(empty_mut, "[]");
|
||||
let v: &mut[int] = &mut[1];
|
||||
test_show_vec!(v, "[1]".to_string());
|
||||
test_show_vec!(v, "[1]");
|
||||
let v: &mut[int] = &mut[1, 2, 3];
|
||||
test_show_vec!(v, "[1, 2, 3]".to_string());
|
||||
test_show_vec!(v, "[1, 2, 3]");
|
||||
let v: &mut [&mut[uint]] = &mut[&mut[], &mut[1u], &mut[1u, 1u]];
|
||||
test_show_vec!(v, "[[], [1], [1, 1]]".to_string());
|
||||
test_show_vec!(v, "[[], [1], [1, 1]]");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -2081,7 +2081,7 @@ mod tests {
|
||||
fn test_to_vec() {
|
||||
let xs = box [1u, 2, 3];
|
||||
let ys = xs.to_vec();
|
||||
assert_eq!(ys.as_slice(), [1u, 2, 3].as_slice());
|
||||
assert_eq!(ys, [1u, 2, 3]);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -215,7 +215,7 @@ pub struct Decompositions<'a> {
|
||||
impl<'a> Iterator<char> for Decompositions<'a> {
|
||||
#[inline]
|
||||
fn next(&mut self) -> Option<char> {
|
||||
match self.buffer.as_slice().head() {
|
||||
match self.buffer.head() {
|
||||
Some(&(c, 0)) => {
|
||||
self.sorted = false;
|
||||
self.buffer.remove(0);
|
||||
@ -915,10 +915,10 @@ mod tests {
|
||||
#[test]
|
||||
fn test_collect() {
|
||||
let empty = String::from_str("");
|
||||
let s: String = empty.as_slice().chars().collect();
|
||||
let s: String = empty.chars().collect();
|
||||
assert_eq!(empty, s);
|
||||
let data = String::from_str("ประเทศไทย中");
|
||||
let s: String = data.as_slice().chars().collect();
|
||||
let s: String = data.chars().collect();
|
||||
assert_eq!(data, s);
|
||||
}
|
||||
|
||||
@ -926,7 +926,7 @@ mod tests {
|
||||
fn test_into_bytes() {
|
||||
let data = String::from_str("asdf");
|
||||
let buf = data.into_bytes();
|
||||
assert_eq!(b"asdf", buf.as_slice());
|
||||
assert_eq!(b"asdf", buf);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -943,21 +943,21 @@ mod tests {
|
||||
let string = "ประเทศไทย中华Việt Nam";
|
||||
let mut data = String::from_str(string);
|
||||
data.push_str(string);
|
||||
assert!(data.as_slice().find_str("ไท华").is_none());
|
||||
assert_eq!(data.as_slice().slice(0u, 43u).find_str(""), Some(0u));
|
||||
assert_eq!(data.as_slice().slice(6u, 43u).find_str(""), Some(6u - 6u));
|
||||
assert!(data.find_str("ไท华").is_none());
|
||||
assert_eq!(data.slice(0u, 43u).find_str(""), Some(0u));
|
||||
assert_eq!(data.slice(6u, 43u).find_str(""), Some(6u - 6u));
|
||||
|
||||
assert_eq!(data.as_slice().slice(0u, 43u).find_str("ประ"), Some( 0u));
|
||||
assert_eq!(data.as_slice().slice(0u, 43u).find_str("ทศไ"), Some(12u));
|
||||
assert_eq!(data.as_slice().slice(0u, 43u).find_str("ย中"), Some(24u));
|
||||
assert_eq!(data.as_slice().slice(0u, 43u).find_str("iệt"), Some(34u));
|
||||
assert_eq!(data.as_slice().slice(0u, 43u).find_str("Nam"), Some(40u));
|
||||
assert_eq!(data.slice(0u, 43u).find_str("ประ"), Some( 0u));
|
||||
assert_eq!(data.slice(0u, 43u).find_str("ทศไ"), Some(12u));
|
||||
assert_eq!(data.slice(0u, 43u).find_str("ย中"), Some(24u));
|
||||
assert_eq!(data.slice(0u, 43u).find_str("iệt"), Some(34u));
|
||||
assert_eq!(data.slice(0u, 43u).find_str("Nam"), Some(40u));
|
||||
|
||||
assert_eq!(data.as_slice().slice(43u, 86u).find_str("ประ"), Some(43u - 43u));
|
||||
assert_eq!(data.as_slice().slice(43u, 86u).find_str("ทศไ"), Some(55u - 43u));
|
||||
assert_eq!(data.as_slice().slice(43u, 86u).find_str("ย中"), Some(67u - 43u));
|
||||
assert_eq!(data.as_slice().slice(43u, 86u).find_str("iệt"), Some(77u - 43u));
|
||||
assert_eq!(data.as_slice().slice(43u, 86u).find_str("Nam"), Some(83u - 43u));
|
||||
assert_eq!(data.slice(43u, 86u).find_str("ประ"), Some(43u - 43u));
|
||||
assert_eq!(data.slice(43u, 86u).find_str("ทศไ"), Some(55u - 43u));
|
||||
assert_eq!(data.slice(43u, 86u).find_str("ย中"), Some(67u - 43u));
|
||||
assert_eq!(data.slice(43u, 86u).find_str("iệt"), Some(77u - 43u));
|
||||
assert_eq!(data.slice(43u, 86u).find_str("Nam"), Some(83u - 43u));
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -989,7 +989,7 @@ mod tests {
|
||||
($expected: expr, $string: expr) => {
|
||||
{
|
||||
let s = $string.concat();
|
||||
assert_eq!($expected, s.as_slice());
|
||||
assert_eq!($expected, s);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1027,7 +1027,7 @@ mod tests {
|
||||
($expected: expr, $string: expr, $delim: expr) => {
|
||||
{
|
||||
let s = $string.connect($delim);
|
||||
assert_eq!($expected, s.as_slice());
|
||||
assert_eq!($expected, s);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1148,7 +1148,7 @@ mod tests {
|
||||
|
||||
let a = "ประเ";
|
||||
let a2 = "دولة الكويتทศไทย中华";
|
||||
assert_eq!(data.replace(a, repl).as_slice(), a2);
|
||||
assert_eq!(data.replace(a, repl), a2);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1158,7 +1158,7 @@ mod tests {
|
||||
|
||||
let b = "ะเ";
|
||||
let b2 = "ปรدولة الكويتทศไทย中华";
|
||||
assert_eq!(data.replace(b, repl).as_slice(), b2);
|
||||
assert_eq!(data.replace(b, repl), b2);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1168,7 +1168,7 @@ mod tests {
|
||||
|
||||
let c = "中华";
|
||||
let c2 = "ประเทศไทยدولة الكويت";
|
||||
assert_eq!(data.replace(c, repl).as_slice(), c2);
|
||||
assert_eq!(data.replace(c, repl), c2);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1177,7 +1177,7 @@ mod tests {
|
||||
let repl = "دولة الكويت";
|
||||
|
||||
let d = "ไท华";
|
||||
assert_eq!(data.replace(d, repl).as_slice(), data);
|
||||
assert_eq!(data.replace(d, repl), data);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1213,7 +1213,7 @@ mod tests {
|
||||
}
|
||||
let letters = a_million_letter_x();
|
||||
assert!(half_a_million_letter_x() ==
|
||||
String::from_str(letters.as_slice().slice(0u, 3u * 500000u)));
|
||||
String::from_str(letters.slice(0u, 3u * 500000u)));
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1452,7 +1452,7 @@ mod tests {
|
||||
let b: &[u8] = &[];
|
||||
assert_eq!("".as_bytes(), b);
|
||||
assert_eq!("abc".as_bytes(), b"abc");
|
||||
assert_eq!("ศไทย中华Việt Nam".as_bytes(), v.as_slice());
|
||||
assert_eq!("ศไทย中华Việt Nam".as_bytes(), v);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1487,7 +1487,6 @@ mod tests {
|
||||
|
||||
let string = "a\nb\nc";
|
||||
let lines: Vec<&str> = string.lines().collect();
|
||||
let lines = lines.as_slice();
|
||||
assert_eq!(string.subslice_offset(lines[0]), 0);
|
||||
assert_eq!(string.subslice_offset(lines[1]), 2);
|
||||
assert_eq!(string.subslice_offset(lines[2]), 4);
|
||||
@ -1834,7 +1833,7 @@ mod tests {
|
||||
fn test_nfd_chars() {
|
||||
macro_rules! t {
|
||||
($input: expr, $expected: expr) => {
|
||||
assert_eq!($input.nfd_chars().collect::<String>(), $expected.into_string());
|
||||
assert_eq!($input.nfd_chars().collect::<String>(), $expected);
|
||||
}
|
||||
}
|
||||
t!("abc", "abc");
|
||||
@ -1853,7 +1852,7 @@ mod tests {
|
||||
fn test_nfkd_chars() {
|
||||
macro_rules! t {
|
||||
($input: expr, $expected: expr) => {
|
||||
assert_eq!($input.nfkd_chars().collect::<String>(), $expected.into_string());
|
||||
assert_eq!($input.nfkd_chars().collect::<String>(), $expected);
|
||||
}
|
||||
}
|
||||
t!("abc", "abc");
|
||||
@ -1872,7 +1871,7 @@ mod tests {
|
||||
fn test_nfc_chars() {
|
||||
macro_rules! t {
|
||||
($input: expr, $expected: expr) => {
|
||||
assert_eq!($input.nfc_chars().collect::<String>(), $expected.into_string());
|
||||
assert_eq!($input.nfc_chars().collect::<String>(), $expected);
|
||||
}
|
||||
}
|
||||
t!("abc", "abc");
|
||||
@ -1892,7 +1891,7 @@ mod tests {
|
||||
fn test_nfkc_chars() {
|
||||
macro_rules! t {
|
||||
($input: expr, $expected: expr) => {
|
||||
assert_eq!($input.nfkc_chars().collect::<String>(), $expected.into_string());
|
||||
assert_eq!($input.nfkc_chars().collect::<String>(), $expected);
|
||||
}
|
||||
}
|
||||
t!("abc", "abc");
|
||||
@ -2183,10 +2182,10 @@ mod tests {
|
||||
let s = "a̐éö̲\r\n";
|
||||
let gr_inds = s.grapheme_indices(true).collect::<Vec<(uint, &str)>>();
|
||||
let b: &[_] = &[(0u, "a̐"), (3, "é"), (6, "ö̲"), (11, "\r\n")];
|
||||
assert_eq!(gr_inds.as_slice(), b);
|
||||
assert_eq!(gr_inds, b);
|
||||
let gr_inds = s.grapheme_indices(true).rev().collect::<Vec<(uint, &str)>>();
|
||||
let b: &[_] = &[(11, "\r\n"), (6, "ö̲"), (3, "é"), (0u, "a̐")];
|
||||
assert_eq!(gr_inds.as_slice(), b);
|
||||
assert_eq!(gr_inds, b);
|
||||
let mut gr_inds_iter = s.grapheme_indices(true);
|
||||
{
|
||||
let gr_inds = gr_inds_iter.by_ref();
|
||||
@ -2202,14 +2201,14 @@ mod tests {
|
||||
let s = "\n\r\n\r";
|
||||
let gr = s.graphemes(true).rev().collect::<Vec<&str>>();
|
||||
let b: &[_] = &["\r", "\r\n", "\n"];
|
||||
assert_eq!(gr.as_slice(), b);
|
||||
assert_eq!(gr, b);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_split_strator() {
|
||||
fn t(s: &str, sep: &str, u: &[&str]) {
|
||||
let v: Vec<&str> = s.split_str(sep).collect();
|
||||
assert_eq!(v.as_slice(), u.as_slice());
|
||||
assert_eq!(v, u);
|
||||
}
|
||||
t("--1233345--", "12345", &["--1233345--"]);
|
||||
t("abc::hello::there", "::", &["abc", "hello", "there"]);
|
||||
|
@ -559,7 +559,7 @@ impl String {
|
||||
#[inline]
|
||||
#[unstable = "the panic conventions for strings are under development"]
|
||||
pub fn truncate(&mut self, new_len: uint) {
|
||||
assert!(self.as_slice().is_char_boundary(new_len));
|
||||
assert!(self.is_char_boundary(new_len));
|
||||
self.vec.truncate(new_len)
|
||||
}
|
||||
|
||||
@ -583,7 +583,7 @@ impl String {
|
||||
return None
|
||||
}
|
||||
|
||||
let CharRange {ch, next} = self.as_slice().char_range_at_reverse(len);
|
||||
let CharRange {ch, next} = self.char_range_at_reverse(len);
|
||||
unsafe {
|
||||
self.vec.set_len(next);
|
||||
}
|
||||
@ -618,7 +618,7 @@ impl String {
|
||||
let len = self.len();
|
||||
if idx >= len { return None }
|
||||
|
||||
let CharRange { ch, next } = self.as_slice().char_range_at(idx);
|
||||
let CharRange { ch, next } = self.char_range_at(idx);
|
||||
unsafe {
|
||||
ptr::copy_memory(self.vec.as_mut_ptr().offset(idx as int),
|
||||
self.vec.as_ptr().offset(next as int),
|
||||
@ -643,7 +643,7 @@ impl String {
|
||||
pub fn insert(&mut self, idx: uint, ch: char) {
|
||||
let len = self.len();
|
||||
assert!(idx <= len);
|
||||
assert!(self.as_slice().is_char_boundary(idx));
|
||||
assert!(self.is_char_boundary(idx));
|
||||
self.vec.reserve(4);
|
||||
let mut bits = [0, ..4];
|
||||
let amt = ch.encode_utf8(&mut bits).unwrap();
|
||||
@ -1092,7 +1092,7 @@ mod tests {
|
||||
|
||||
for p in pairs.iter() {
|
||||
let (s, u) = (*p).clone();
|
||||
let s_as_utf16 = s.as_slice().utf16_units().collect::<Vec<u16>>();
|
||||
let s_as_utf16 = s.utf16_units().collect::<Vec<u16>>();
|
||||
let u_as_string = String::from_utf16(u.as_slice()).unwrap();
|
||||
|
||||
assert!(str::is_utf16(u.as_slice()));
|
||||
@ -1102,7 +1102,7 @@ mod tests {
|
||||
assert_eq!(String::from_utf16_lossy(u.as_slice()), s);
|
||||
|
||||
assert_eq!(String::from_utf16(s_as_utf16.as_slice()).unwrap(), s);
|
||||
assert_eq!(u_as_string.as_slice().utf16_units().collect::<Vec<u16>>(), u);
|
||||
assert_eq!(u_as_string.utf16_units().collect::<Vec<u16>>(), u);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1162,18 +1162,18 @@ mod tests {
|
||||
let mv = s.as_mut_vec();
|
||||
mv.push_all(&[b'D']);
|
||||
}
|
||||
assert_eq!(s.as_slice(), "ABCD");
|
||||
assert_eq!(s, "ABCD");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_push_str() {
|
||||
let mut s = String::new();
|
||||
s.push_str("");
|
||||
assert_eq!(s.as_slice().slice_from(0), "");
|
||||
assert_eq!(s.slice_from(0), "");
|
||||
s.push_str("abc");
|
||||
assert_eq!(s.as_slice().slice_from(0), "abc");
|
||||
assert_eq!(s.slice_from(0), "abc");
|
||||
s.push_str("ประเทศไทย中华Việt Nam");
|
||||
assert_eq!(s.as_slice().slice_from(0), "abcประเทศไทย中华Việt Nam");
|
||||
assert_eq!(s.slice_from(0), "abcประเทศไทย中华Việt Nam");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1184,7 +1184,7 @@ mod tests {
|
||||
data.push('¢'); // 2 byte
|
||||
data.push('€'); // 3 byte
|
||||
data.push('𤭢'); // 4 byte
|
||||
assert_eq!(data.as_slice(), "ประเทศไทย中华b¢€𤭢");
|
||||
assert_eq!(data, "ประเทศไทย中华b¢€𤭢");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1195,24 +1195,24 @@ mod tests {
|
||||
assert_eq!(data.pop().unwrap(), '¢'); // 2 bytes
|
||||
assert_eq!(data.pop().unwrap(), 'b'); // 1 bytes
|
||||
assert_eq!(data.pop().unwrap(), '华');
|
||||
assert_eq!(data.as_slice(), "ประเทศไทย中");
|
||||
assert_eq!(data, "ประเทศไทย中");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_str_truncate() {
|
||||
let mut s = String::from_str("12345");
|
||||
s.truncate(5);
|
||||
assert_eq!(s.as_slice(), "12345");
|
||||
assert_eq!(s, "12345");
|
||||
s.truncate(3);
|
||||
assert_eq!(s.as_slice(), "123");
|
||||
assert_eq!(s, "123");
|
||||
s.truncate(0);
|
||||
assert_eq!(s.as_slice(), "");
|
||||
assert_eq!(s, "");
|
||||
|
||||
let mut s = String::from_str("12345");
|
||||
let p = s.as_slice().as_ptr();
|
||||
let p = s.as_ptr();
|
||||
s.truncate(3);
|
||||
s.push_str("6");
|
||||
let p_ = s.as_slice().as_ptr();
|
||||
let p_ = s.as_ptr();
|
||||
assert_eq!(p_, p);
|
||||
}
|
||||
|
||||
@ -1235,7 +1235,7 @@ mod tests {
|
||||
let mut s = String::from_str("12345");
|
||||
s.clear();
|
||||
assert_eq!(s.len(), 0);
|
||||
assert_eq!(s.as_slice(), "");
|
||||
assert_eq!(s, "");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1244,7 +1244,7 @@ mod tests {
|
||||
let b = a + "2";
|
||||
let b = b + String::from_str("2");
|
||||
assert_eq!(b.len(), 7);
|
||||
assert_eq!(b.as_slice(), "1234522");
|
||||
assert_eq!(b, "1234522");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1252,11 +1252,11 @@ mod tests {
|
||||
let mut s = "ศไทย中华Việt Nam; foobar".to_string();;
|
||||
assert_eq!(s.remove(0), Some('ศ'));
|
||||
assert_eq!(s.len(), 33);
|
||||
assert_eq!(s.as_slice(), "ไทย中华Việt Nam; foobar");
|
||||
assert_eq!(s, "ไทย中华Việt Nam; foobar");
|
||||
assert_eq!(s.remove(33), None);
|
||||
assert_eq!(s.remove(300), None);
|
||||
assert_eq!(s.remove(17), Some('ệ'));
|
||||
assert_eq!(s.as_slice(), "ไทย中华Vit Nam; foobar");
|
||||
assert_eq!(s, "ไทย中华Vit Nam; foobar");
|
||||
}
|
||||
|
||||
#[test] #[should_fail]
|
||||
@ -1268,9 +1268,9 @@ mod tests {
|
||||
fn insert() {
|
||||
let mut s = "foobar".to_string();
|
||||
s.insert(0, 'ệ');
|
||||
assert_eq!(s.as_slice(), "ệfoobar");
|
||||
assert_eq!(s, "ệfoobar");
|
||||
s.insert(6, 'ย');
|
||||
assert_eq!(s.as_slice(), "ệfooยbar");
|
||||
assert_eq!(s, "ệfooยbar");
|
||||
}
|
||||
|
||||
#[test] #[should_fail] fn insert_bad1() { "".to_string().insert(1, 't'); }
|
||||
@ -1287,24 +1287,24 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_simple_types() {
|
||||
assert_eq!(1i.to_string(), "1".to_string());
|
||||
assert_eq!((-1i).to_string(), "-1".to_string());
|
||||
assert_eq!(200u.to_string(), "200".to_string());
|
||||
assert_eq!(2u8.to_string(), "2".to_string());
|
||||
assert_eq!(true.to_string(), "true".to_string());
|
||||
assert_eq!(false.to_string(), "false".to_string());
|
||||
assert_eq!(().to_string(), "()".to_string());
|
||||
assert_eq!(("hi".to_string()).to_string(), "hi".to_string());
|
||||
assert_eq!(1i.to_string(), "1");
|
||||
assert_eq!((-1i).to_string(), "-1");
|
||||
assert_eq!(200u.to_string(), "200");
|
||||
assert_eq!(2u8.to_string(), "2");
|
||||
assert_eq!(true.to_string(), "true");
|
||||
assert_eq!(false.to_string(), "false");
|
||||
assert_eq!(().to_string(), "()");
|
||||
assert_eq!(("hi".to_string()).to_string(), "hi");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_vectors() {
|
||||
let x: Vec<int> = vec![];
|
||||
assert_eq!(x.to_string(), "[]".to_string());
|
||||
assert_eq!((vec![1i]).to_string(), "[1]".to_string());
|
||||
assert_eq!((vec![1i, 2, 3]).to_string(), "[1, 2, 3]".to_string());
|
||||
assert_eq!(x.to_string(), "[]");
|
||||
assert_eq!((vec![1i]).to_string(), "[1]");
|
||||
assert_eq!((vec![1i, 2, 3]).to_string(), "[1, 2, 3]");
|
||||
assert!((vec![vec![], vec![1i], vec![1i, 1]]).to_string() ==
|
||||
"[[], [1], [1, 1]]".to_string());
|
||||
"[[], [1], [1, 1]]");
|
||||
}
|
||||
|
||||
#[bench]
|
||||
|
@ -1735,8 +1735,8 @@ mod test_treemap {
|
||||
|
||||
let map_str = format!("{}", map);
|
||||
|
||||
assert!(map_str == "{1: 2, 3: 4}".to_string());
|
||||
assert_eq!(format!("{}", empty), "{}".to_string());
|
||||
assert!(map_str == "{1: 2, 3: 4}");
|
||||
assert_eq!(format!("{}", empty), "{}");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -1103,7 +1103,7 @@ mod test {
|
||||
|
||||
let set_str = format!("{}", set);
|
||||
|
||||
assert!(set_str == "{1, 2}".to_string());
|
||||
assert_eq!(format!("{}", empty), "{}".to_string());
|
||||
assert!(set_str == "{1, 2}");
|
||||
assert_eq!(format!("{}", empty), "{}");
|
||||
}
|
||||
}
|
||||
|
@ -1605,8 +1605,8 @@ mod test {
|
||||
|
||||
let map_str = format!("{}", map);
|
||||
|
||||
assert!(map_str == "{1: a, 2: b}".to_string());
|
||||
assert_eq!(format!("{}", empty), "{}".to_string());
|
||||
assert!(map_str == "{1: a, 2: b}");
|
||||
assert_eq!(format!("{}", empty), "{}");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -696,8 +696,8 @@ mod test {
|
||||
|
||||
let set_str = format!("{}", set);
|
||||
|
||||
assert!(set_str == "{1, 2}".to_string());
|
||||
assert_eq!(format!("{}", empty), "{}".to_string());
|
||||
assert!(set_str == "{1, 2}");
|
||||
assert_eq!(format!("{}", empty), "{}");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -211,7 +211,7 @@ impl<T> Vec<T> {
|
||||
let mut xs = Vec::with_capacity(length);
|
||||
while xs.len < length {
|
||||
let len = xs.len;
|
||||
ptr::write(xs.as_mut_slice().unsafe_mut(len), op(len));
|
||||
ptr::write(xs.unsafe_mut(len), op(len));
|
||||
xs.len += 1;
|
||||
}
|
||||
xs
|
||||
@ -328,7 +328,7 @@ impl<T: Clone> Vec<T> {
|
||||
let mut xs = Vec::with_capacity(length);
|
||||
while xs.len < length {
|
||||
let len = xs.len;
|
||||
ptr::write(xs.as_mut_slice().unsafe_mut(len),
|
||||
ptr::write(xs.unsafe_mut(len),
|
||||
value.clone());
|
||||
xs.len += 1;
|
||||
}
|
||||
@ -361,7 +361,7 @@ impl<T: Clone> Vec<T> {
|
||||
// during the loop can prevent this optimisation.
|
||||
unsafe {
|
||||
ptr::write(
|
||||
self.as_mut_slice().unsafe_mut(len),
|
||||
self.unsafe_mut(len),
|
||||
other.unsafe_get(i).clone());
|
||||
self.set_len(len + 1);
|
||||
}
|
||||
@ -798,7 +798,7 @@ impl<T> Vec<T> {
|
||||
// decrement len before the read(), so a panic on Drop doesn't
|
||||
// re-drop the just-failed value.
|
||||
self.len -= 1;
|
||||
ptr::read(self.as_slice().unsafe_get(self.len));
|
||||
ptr::read(self.unsafe_get(self.len));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -896,7 +896,7 @@ impl<T> Vec<T> {
|
||||
pub fn swap_remove(&mut self, index: uint) -> Option<T> {
|
||||
let length = self.len();
|
||||
if length > 0 && index < length - 1 {
|
||||
self.as_mut_slice().swap(index, length - 1);
|
||||
self.swap(index, length - 1);
|
||||
} else if index >= length {
|
||||
return None
|
||||
}
|
||||
@ -1091,7 +1091,7 @@ impl<T> Vec<T> {
|
||||
} else {
|
||||
unsafe {
|
||||
self.len -= 1;
|
||||
Some(ptr::read(self.as_slice().unsafe_get(self.len())))
|
||||
Some(ptr::read(self.unsafe_get(self.len())))
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1231,7 +1231,7 @@ impl<T: PartialEq> Vec<T> {
|
||||
if ln < 1 { return; }
|
||||
|
||||
// Avoid bounds checks by using unsafe pointers.
|
||||
let p = self.as_mut_slice().as_mut_ptr();
|
||||
let p = self.as_mut_ptr();
|
||||
let mut r = 1;
|
||||
let mut w = 1;
|
||||
|
||||
@ -1293,7 +1293,7 @@ impl<T> Drop for Vec<T> {
|
||||
// zeroed (when moving out, because of #[unsafe_no_drop_flag]).
|
||||
if self.cap != 0 {
|
||||
unsafe {
|
||||
for x in self.as_mut_slice().iter() {
|
||||
for x in self.iter() {
|
||||
ptr::read(x);
|
||||
}
|
||||
dealloc(self.ptr, self.cap)
|
||||
@ -1779,7 +1779,7 @@ mod tests {
|
||||
#[test]
|
||||
fn test_as_vec() {
|
||||
let xs = [1u8, 2u8, 3u8];
|
||||
assert_eq!(as_vec(&xs).as_slice(), xs.as_slice());
|
||||
assert_eq!(as_vec(&xs).as_slice(), xs);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1875,7 +1875,7 @@ mod tests {
|
||||
}
|
||||
}
|
||||
|
||||
assert!(values.as_slice() == [1, 2, 5, 6, 7]);
|
||||
assert!(values == [1, 2, 5, 6, 7]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1889,7 +1889,7 @@ mod tests {
|
||||
}
|
||||
}
|
||||
|
||||
assert!(values.as_slice() == [2, 3, 3, 4, 5]);
|
||||
assert!(values == [2, 3, 3, 4, 5]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -2019,7 +2019,6 @@ mod tests {
|
||||
|
||||
let (left, right) = unzip(z1.iter().map(|&x| x));
|
||||
|
||||
let (left, right) = (left.as_slice(), right.as_slice());
|
||||
assert_eq!((1, 4), (left[0], right[0]));
|
||||
assert_eq!((2, 5), (left[1], right[1]));
|
||||
assert_eq!((3, 6), (left[2], right[2]));
|
||||
@ -2153,7 +2152,7 @@ mod tests {
|
||||
#[test]
|
||||
fn test_map_in_place() {
|
||||
let v = vec![0u, 1, 2];
|
||||
assert_eq!(v.map_in_place(|i: uint| i as int - 1).as_slice(), [-1i, 0, 1].as_slice());
|
||||
assert_eq!(v.map_in_place(|i: uint| i as int - 1), [-1i, 0, 1]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -2161,7 +2160,7 @@ mod tests {
|
||||
let v = vec![(), ()];
|
||||
#[deriving(PartialEq, Show)]
|
||||
struct ZeroSized;
|
||||
assert_eq!(v.map_in_place(|_| ZeroSized).as_slice(), [ZeroSized, ZeroSized].as_slice());
|
||||
assert_eq!(v.map_in_place(|_| ZeroSized), [ZeroSized, ZeroSized]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -2198,7 +2197,7 @@ mod tests {
|
||||
fn test_into_boxed_slice() {
|
||||
let xs = vec![1u, 2, 3];
|
||||
let ys = xs.into_boxed_slice();
|
||||
assert_eq!(ys.as_slice(), [1u, 2, 3].as_slice());
|
||||
assert_eq!(ys.as_slice(), [1u, 2, 3]);
|
||||
}
|
||||
|
||||
#[bench]
|
||||
|
@ -870,9 +870,8 @@ mod test_map {
|
||||
map.insert(3, 4i);
|
||||
|
||||
let map_str = map.to_string();
|
||||
let map_str = map_str.as_slice();
|
||||
assert!(map_str == "{1: 2, 3: 4}" || map_str == "{3: 4, 1: 2}");
|
||||
assert_eq!(format!("{}", empty), "{}".to_string());
|
||||
assert_eq!(format!("{}", empty), "{}");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -29,10 +29,10 @@ fn smoketest_cell() {
|
||||
#[test]
|
||||
fn cell_has_sensible_show() {
|
||||
let x = Cell::new("foo bar");
|
||||
assert!(format!("{}", x).as_slice().contains(x.get()));
|
||||
assert!(format!("{}", x).contains(x.get()));
|
||||
|
||||
x.set("baz qux");
|
||||
assert!(format!("{}", x).as_slice().contains(x.get()));
|
||||
assert!(format!("{}", x).contains(x.get()));
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -40,11 +40,11 @@ fn ref_and_refmut_have_sensible_show() {
|
||||
let refcell = RefCell::new("foo");
|
||||
|
||||
let refcell_refmut = refcell.borrow_mut();
|
||||
assert!(format!("{}", refcell_refmut).as_slice().contains("foo"));
|
||||
assert!(format!("{}", refcell_refmut).contains("foo"));
|
||||
drop(refcell_refmut);
|
||||
|
||||
let refcell_ref = refcell.borrow();
|
||||
assert!(format!("{}", refcell_ref).as_slice().contains("foo"));
|
||||
assert!(format!("{}", refcell_ref).contains("foo"));
|
||||
drop(refcell_ref);
|
||||
}
|
||||
|
||||
|
@ -121,31 +121,31 @@ fn test_escape_default() {
|
||||
return result;
|
||||
}
|
||||
let s = string('\n');
|
||||
assert_eq!(s.as_slice(), "\\n");
|
||||
assert_eq!(s, "\\n");
|
||||
let s = string('\r');
|
||||
assert_eq!(s.as_slice(), "\\r");
|
||||
assert_eq!(s, "\\r");
|
||||
let s = string('\'');
|
||||
assert_eq!(s.as_slice(), "\\'");
|
||||
assert_eq!(s, "\\'");
|
||||
let s = string('"');
|
||||
assert_eq!(s.as_slice(), "\\\"");
|
||||
assert_eq!(s, "\\\"");
|
||||
let s = string(' ');
|
||||
assert_eq!(s.as_slice(), " ");
|
||||
assert_eq!(s, " ");
|
||||
let s = string('a');
|
||||
assert_eq!(s.as_slice(), "a");
|
||||
assert_eq!(s, "a");
|
||||
let s = string('~');
|
||||
assert_eq!(s.as_slice(), "~");
|
||||
assert_eq!(s, "~");
|
||||
let s = string('\x00');
|
||||
assert_eq!(s.as_slice(), "\\x00");
|
||||
assert_eq!(s, "\\x00");
|
||||
let s = string('\x1f');
|
||||
assert_eq!(s.as_slice(), "\\x1f");
|
||||
assert_eq!(s, "\\x1f");
|
||||
let s = string('\x7f');
|
||||
assert_eq!(s.as_slice(), "\\x7f");
|
||||
assert_eq!(s, "\\x7f");
|
||||
let s = string('\u00ff');
|
||||
assert_eq!(s.as_slice(), "\\u00ff");
|
||||
assert_eq!(s, "\\u00ff");
|
||||
let s = string('\u011b');
|
||||
assert_eq!(s.as_slice(), "\\u011b");
|
||||
assert_eq!(s, "\\u011b");
|
||||
let s = string('\U0001d4b6');
|
||||
assert_eq!(s.as_slice(), "\\U0001d4b6");
|
||||
assert_eq!(s, "\\U0001d4b6");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -156,17 +156,17 @@ fn test_escape_unicode() {
|
||||
return result;
|
||||
}
|
||||
let s = string('\x00');
|
||||
assert_eq!(s.as_slice(), "\\x00");
|
||||
assert_eq!(s, "\\x00");
|
||||
let s = string('\n');
|
||||
assert_eq!(s.as_slice(), "\\x0a");
|
||||
assert_eq!(s, "\\x0a");
|
||||
let s = string(' ');
|
||||
assert_eq!(s.as_slice(), "\\x20");
|
||||
assert_eq!(s, "\\x20");
|
||||
let s = string('a');
|
||||
assert_eq!(s.as_slice(), "\\x61");
|
||||
assert_eq!(s, "\\x61");
|
||||
let s = string('\u011b');
|
||||
assert_eq!(s.as_slice(), "\\u011b");
|
||||
assert_eq!(s, "\\u011b");
|
||||
let s = string('\U0001d4b6');
|
||||
assert_eq!(s.as_slice(), "\\U0001d4b6");
|
||||
assert_eq!(s, "\\U0001d4b6");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -16,136 +16,136 @@ fn test_format_int() {
|
||||
// Formatting integers should select the right implementation based off
|
||||
// the type of the argument. Also, hex/octal/binary should be defined
|
||||
// for integers, but they shouldn't emit the negative sign.
|
||||
assert!(format!("{}", 1i).as_slice() == "1");
|
||||
assert!(format!("{}", 1i8).as_slice() == "1");
|
||||
assert!(format!("{}", 1i16).as_slice() == "1");
|
||||
assert!(format!("{}", 1i32).as_slice() == "1");
|
||||
assert!(format!("{}", 1i64).as_slice() == "1");
|
||||
assert!(format!("{}", -1i).as_slice() == "-1");
|
||||
assert!(format!("{}", -1i8).as_slice() == "-1");
|
||||
assert!(format!("{}", -1i16).as_slice() == "-1");
|
||||
assert!(format!("{}", -1i32).as_slice() == "-1");
|
||||
assert!(format!("{}", -1i64).as_slice() == "-1");
|
||||
assert!(format!("{:b}", 1i).as_slice() == "1");
|
||||
assert!(format!("{:b}", 1i8).as_slice() == "1");
|
||||
assert!(format!("{:b}", 1i16).as_slice() == "1");
|
||||
assert!(format!("{:b}", 1i32).as_slice() == "1");
|
||||
assert!(format!("{:b}", 1i64).as_slice() == "1");
|
||||
assert!(format!("{:x}", 1i).as_slice() == "1");
|
||||
assert!(format!("{:x}", 1i8).as_slice() == "1");
|
||||
assert!(format!("{:x}", 1i16).as_slice() == "1");
|
||||
assert!(format!("{:x}", 1i32).as_slice() == "1");
|
||||
assert!(format!("{:x}", 1i64).as_slice() == "1");
|
||||
assert!(format!("{:X}", 1i).as_slice() == "1");
|
||||
assert!(format!("{:X}", 1i8).as_slice() == "1");
|
||||
assert!(format!("{:X}", 1i16).as_slice() == "1");
|
||||
assert!(format!("{:X}", 1i32).as_slice() == "1");
|
||||
assert!(format!("{:X}", 1i64).as_slice() == "1");
|
||||
assert!(format!("{:o}", 1i).as_slice() == "1");
|
||||
assert!(format!("{:o}", 1i8).as_slice() == "1");
|
||||
assert!(format!("{:o}", 1i16).as_slice() == "1");
|
||||
assert!(format!("{:o}", 1i32).as_slice() == "1");
|
||||
assert!(format!("{:o}", 1i64).as_slice() == "1");
|
||||
assert!(format!("{}", 1i) == "1");
|
||||
assert!(format!("{}", 1i8) == "1");
|
||||
assert!(format!("{}", 1i16) == "1");
|
||||
assert!(format!("{}", 1i32) == "1");
|
||||
assert!(format!("{}", 1i64) == "1");
|
||||
assert!(format!("{}", -1i) == "-1");
|
||||
assert!(format!("{}", -1i8) == "-1");
|
||||
assert!(format!("{}", -1i16) == "-1");
|
||||
assert!(format!("{}", -1i32) == "-1");
|
||||
assert!(format!("{}", -1i64) == "-1");
|
||||
assert!(format!("{:b}", 1i) == "1");
|
||||
assert!(format!("{:b}", 1i8) == "1");
|
||||
assert!(format!("{:b}", 1i16) == "1");
|
||||
assert!(format!("{:b}", 1i32) == "1");
|
||||
assert!(format!("{:b}", 1i64) == "1");
|
||||
assert!(format!("{:x}", 1i) == "1");
|
||||
assert!(format!("{:x}", 1i8) == "1");
|
||||
assert!(format!("{:x}", 1i16) == "1");
|
||||
assert!(format!("{:x}", 1i32) == "1");
|
||||
assert!(format!("{:x}", 1i64) == "1");
|
||||
assert!(format!("{:X}", 1i) == "1");
|
||||
assert!(format!("{:X}", 1i8) == "1");
|
||||
assert!(format!("{:X}", 1i16) == "1");
|
||||
assert!(format!("{:X}", 1i32) == "1");
|
||||
assert!(format!("{:X}", 1i64) == "1");
|
||||
assert!(format!("{:o}", 1i) == "1");
|
||||
assert!(format!("{:o}", 1i8) == "1");
|
||||
assert!(format!("{:o}", 1i16) == "1");
|
||||
assert!(format!("{:o}", 1i32) == "1");
|
||||
assert!(format!("{:o}", 1i64) == "1");
|
||||
|
||||
assert!(format!("{}", 1u).as_slice() == "1");
|
||||
assert!(format!("{}", 1u8).as_slice() == "1");
|
||||
assert!(format!("{}", 1u16).as_slice() == "1");
|
||||
assert!(format!("{}", 1u32).as_slice() == "1");
|
||||
assert!(format!("{}", 1u64).as_slice() == "1");
|
||||
assert!(format!("{:b}", 1u).as_slice() == "1");
|
||||
assert!(format!("{:b}", 1u8).as_slice() == "1");
|
||||
assert!(format!("{:b}", 1u16).as_slice() == "1");
|
||||
assert!(format!("{:b}", 1u32).as_slice() == "1");
|
||||
assert!(format!("{:b}", 1u64).as_slice() == "1");
|
||||
assert!(format!("{:x}", 1u).as_slice() == "1");
|
||||
assert!(format!("{:x}", 1u8).as_slice() == "1");
|
||||
assert!(format!("{:x}", 1u16).as_slice() == "1");
|
||||
assert!(format!("{:x}", 1u32).as_slice() == "1");
|
||||
assert!(format!("{:x}", 1u64).as_slice() == "1");
|
||||
assert!(format!("{:X}", 1u).as_slice() == "1");
|
||||
assert!(format!("{:X}", 1u8).as_slice() == "1");
|
||||
assert!(format!("{:X}", 1u16).as_slice() == "1");
|
||||
assert!(format!("{:X}", 1u32).as_slice() == "1");
|
||||
assert!(format!("{:X}", 1u64).as_slice() == "1");
|
||||
assert!(format!("{:o}", 1u).as_slice() == "1");
|
||||
assert!(format!("{:o}", 1u8).as_slice() == "1");
|
||||
assert!(format!("{:o}", 1u16).as_slice() == "1");
|
||||
assert!(format!("{:o}", 1u32).as_slice() == "1");
|
||||
assert!(format!("{:o}", 1u64).as_slice() == "1");
|
||||
assert!(format!("{}", 1u) == "1");
|
||||
assert!(format!("{}", 1u8) == "1");
|
||||
assert!(format!("{}", 1u16) == "1");
|
||||
assert!(format!("{}", 1u32) == "1");
|
||||
assert!(format!("{}", 1u64) == "1");
|
||||
assert!(format!("{:b}", 1u) == "1");
|
||||
assert!(format!("{:b}", 1u8) == "1");
|
||||
assert!(format!("{:b}", 1u16) == "1");
|
||||
assert!(format!("{:b}", 1u32) == "1");
|
||||
assert!(format!("{:b}", 1u64) == "1");
|
||||
assert!(format!("{:x}", 1u) == "1");
|
||||
assert!(format!("{:x}", 1u8) == "1");
|
||||
assert!(format!("{:x}", 1u16) == "1");
|
||||
assert!(format!("{:x}", 1u32) == "1");
|
||||
assert!(format!("{:x}", 1u64) == "1");
|
||||
assert!(format!("{:X}", 1u) == "1");
|
||||
assert!(format!("{:X}", 1u8) == "1");
|
||||
assert!(format!("{:X}", 1u16) == "1");
|
||||
assert!(format!("{:X}", 1u32) == "1");
|
||||
assert!(format!("{:X}", 1u64) == "1");
|
||||
assert!(format!("{:o}", 1u) == "1");
|
||||
assert!(format!("{:o}", 1u8) == "1");
|
||||
assert!(format!("{:o}", 1u16) == "1");
|
||||
assert!(format!("{:o}", 1u32) == "1");
|
||||
assert!(format!("{:o}", 1u64) == "1");
|
||||
|
||||
// Test a larger number
|
||||
assert!(format!("{:b}", 55i).as_slice() == "110111");
|
||||
assert!(format!("{:o}", 55i).as_slice() == "67");
|
||||
assert!(format!("{}", 55i).as_slice() == "55");
|
||||
assert!(format!("{:x}", 55i).as_slice() == "37");
|
||||
assert!(format!("{:X}", 55i).as_slice() == "37");
|
||||
assert!(format!("{:b}", 55i) == "110111");
|
||||
assert!(format!("{:o}", 55i) == "67");
|
||||
assert!(format!("{}", 55i) == "55");
|
||||
assert!(format!("{:x}", 55i) == "37");
|
||||
assert!(format!("{:X}", 55i) == "37");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_format_int_zero() {
|
||||
assert!(format!("{}", 0i).as_slice() == "0");
|
||||
assert!(format!("{:b}", 0i).as_slice() == "0");
|
||||
assert!(format!("{:o}", 0i).as_slice() == "0");
|
||||
assert!(format!("{:x}", 0i).as_slice() == "0");
|
||||
assert!(format!("{:X}", 0i).as_slice() == "0");
|
||||
assert!(format!("{}", 0i) == "0");
|
||||
assert!(format!("{:b}", 0i) == "0");
|
||||
assert!(format!("{:o}", 0i) == "0");
|
||||
assert!(format!("{:x}", 0i) == "0");
|
||||
assert!(format!("{:X}", 0i) == "0");
|
||||
|
||||
assert!(format!("{}", 0u).as_slice() == "0");
|
||||
assert!(format!("{:b}", 0u).as_slice() == "0");
|
||||
assert!(format!("{:o}", 0u).as_slice() == "0");
|
||||
assert!(format!("{:x}", 0u).as_slice() == "0");
|
||||
assert!(format!("{:X}", 0u).as_slice() == "0");
|
||||
assert!(format!("{}", 0u) == "0");
|
||||
assert!(format!("{:b}", 0u) == "0");
|
||||
assert!(format!("{:o}", 0u) == "0");
|
||||
assert!(format!("{:x}", 0u) == "0");
|
||||
assert!(format!("{:X}", 0u) == "0");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_format_int_flags() {
|
||||
assert!(format!("{:3}", 1i).as_slice() == " 1");
|
||||
assert!(format!("{:>3}", 1i).as_slice() == " 1");
|
||||
assert!(format!("{:>+3}", 1i).as_slice() == " +1");
|
||||
assert!(format!("{:<3}", 1i).as_slice() == "1 ");
|
||||
assert!(format!("{:#}", 1i).as_slice() == "1");
|
||||
assert!(format!("{:#x}", 10i).as_slice() == "0xa");
|
||||
assert!(format!("{:#X}", 10i).as_slice() == "0xA");
|
||||
assert!(format!("{:#5x}", 10i).as_slice() == " 0xa");
|
||||
assert!(format!("{:#o}", 10i).as_slice() == "0o12");
|
||||
assert!(format!("{:08x}", 10i).as_slice() == "0000000a");
|
||||
assert!(format!("{:8x}", 10i).as_slice() == " a");
|
||||
assert!(format!("{:<8x}", 10i).as_slice() == "a ");
|
||||
assert!(format!("{:>8x}", 10i).as_slice() == " a");
|
||||
assert!(format!("{:#08x}", 10i).as_slice() == "0x00000a");
|
||||
assert!(format!("{:08}", -10i).as_slice() == "-0000010");
|
||||
assert!(format!("{:x}", -1u8).as_slice() == "ff");
|
||||
assert!(format!("{:X}", -1u8).as_slice() == "FF");
|
||||
assert!(format!("{:b}", -1u8).as_slice() == "11111111");
|
||||
assert!(format!("{:o}", -1u8).as_slice() == "377");
|
||||
assert!(format!("{:#x}", -1u8).as_slice() == "0xff");
|
||||
assert!(format!("{:#X}", -1u8).as_slice() == "0xFF");
|
||||
assert!(format!("{:#b}", -1u8).as_slice() == "0b11111111");
|
||||
assert!(format!("{:#o}", -1u8).as_slice() == "0o377");
|
||||
assert!(format!("{:3}", 1i) == " 1");
|
||||
assert!(format!("{:>3}", 1i) == " 1");
|
||||
assert!(format!("{:>+3}", 1i) == " +1");
|
||||
assert!(format!("{:<3}", 1i) == "1 ");
|
||||
assert!(format!("{:#}", 1i) == "1");
|
||||
assert!(format!("{:#x}", 10i) == "0xa");
|
||||
assert!(format!("{:#X}", 10i) == "0xA");
|
||||
assert!(format!("{:#5x}", 10i) == " 0xa");
|
||||
assert!(format!("{:#o}", 10i) == "0o12");
|
||||
assert!(format!("{:08x}", 10i) == "0000000a");
|
||||
assert!(format!("{:8x}", 10i) == " a");
|
||||
assert!(format!("{:<8x}", 10i) == "a ");
|
||||
assert!(format!("{:>8x}", 10i) == " a");
|
||||
assert!(format!("{:#08x}", 10i) == "0x00000a");
|
||||
assert!(format!("{:08}", -10i) == "-0000010");
|
||||
assert!(format!("{:x}", -1u8) == "ff");
|
||||
assert!(format!("{:X}", -1u8) == "FF");
|
||||
assert!(format!("{:b}", -1u8) == "11111111");
|
||||
assert!(format!("{:o}", -1u8) == "377");
|
||||
assert!(format!("{:#x}", -1u8) == "0xff");
|
||||
assert!(format!("{:#X}", -1u8) == "0xFF");
|
||||
assert!(format!("{:#b}", -1u8) == "0b11111111");
|
||||
assert!(format!("{:#o}", -1u8) == "0o377");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_format_int_sign_padding() {
|
||||
assert!(format!("{:+5}", 1i).as_slice() == " +1");
|
||||
assert!(format!("{:+5}", -1i).as_slice() == " -1");
|
||||
assert!(format!("{:05}", 1i).as_slice() == "00001");
|
||||
assert!(format!("{:05}", -1i).as_slice() == "-0001");
|
||||
assert!(format!("{:+05}", 1i).as_slice() == "+0001");
|
||||
assert!(format!("{:+05}", -1i).as_slice() == "-0001");
|
||||
assert!(format!("{:+5}", 1i) == " +1");
|
||||
assert!(format!("{:+5}", -1i) == " -1");
|
||||
assert!(format!("{:05}", 1i) == "00001");
|
||||
assert!(format!("{:05}", -1i) == "-0001");
|
||||
assert!(format!("{:+05}", 1i) == "+0001");
|
||||
assert!(format!("{:+05}", -1i) == "-0001");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_format_int_twos_complement() {
|
||||
use core::{i8, i16, i32, i64};
|
||||
assert!(format!("{}", i8::MIN).as_slice() == "-128");
|
||||
assert!(format!("{}", i16::MIN).as_slice() == "-32768");
|
||||
assert!(format!("{}", i32::MIN).as_slice() == "-2147483648");
|
||||
assert!(format!("{}", i64::MIN).as_slice() == "-9223372036854775808");
|
||||
assert!(format!("{}", i8::MIN) == "-128");
|
||||
assert!(format!("{}", i16::MIN) == "-32768");
|
||||
assert!(format!("{}", i32::MIN) == "-2147483648");
|
||||
assert!(format!("{}", i64::MIN) == "-9223372036854775808");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_format_radix() {
|
||||
assert!(format!("{:04}", radix(3i, 2)).as_slice() == "0011");
|
||||
assert!(format!("{}", radix(55i, 36)).as_slice() == "1j");
|
||||
assert!(format!("{:04}", radix(3i, 2)) == "0011");
|
||||
assert!(format!("{}", radix(55i, 36)) == "1j");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -28,10 +28,10 @@ fn test_get_ptr() {
|
||||
#[test]
|
||||
fn test_get_str() {
|
||||
let x = "test".to_string();
|
||||
let addr_x = x.as_slice().as_ptr();
|
||||
let addr_x = x.as_ptr();
|
||||
let opt = Some(x);
|
||||
let y = opt.unwrap();
|
||||
let addr_y = y.as_slice().as_ptr();
|
||||
let addr_y = y.as_ptr();
|
||||
assert_eq!(addr_x, addr_y);
|
||||
}
|
||||
|
||||
@ -135,7 +135,7 @@ fn test_or_else() {
|
||||
fn test_unwrap() {
|
||||
assert_eq!(Some(1i).unwrap(), 1);
|
||||
let s = Some("hello".to_string()).unwrap();
|
||||
assert_eq!(s.as_slice(), "hello");
|
||||
assert_eq!(s, "hello");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -266,4 +266,4 @@ fn test_cloned() {
|
||||
assert_eq!(opt_ref_ref.clone(), Some(&val1_ref));
|
||||
assert_eq!(opt_ref_ref.clone().cloned(), Some(&val1));
|
||||
assert_eq!(opt_ref_ref.cloned().cloned(), Some(1u32));
|
||||
}
|
||||
}
|
||||
|
@ -93,9 +93,9 @@ pub fn test_fmt_default() {
|
||||
let err: Result<int, &'static str> = Err("Err");
|
||||
|
||||
let s = format!("{}", ok);
|
||||
assert_eq!(s.as_slice(), "Ok(100)");
|
||||
assert_eq!(s, "Ok(100)");
|
||||
let s = format!("{}", err);
|
||||
assert_eq!(s.as_slice(), "Err(Err)");
|
||||
assert_eq!(s, "Err(Err)");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -84,9 +84,9 @@ fn test_tuple_cmp() {
|
||||
#[test]
|
||||
fn test_show() {
|
||||
let s = format!("{}", (1i,));
|
||||
assert_eq!(s.as_slice(), "(1,)");
|
||||
assert_eq!(s, "(1,)");
|
||||
let s = format!("{}", (1i, true));
|
||||
assert_eq!(s.as_slice(), "(1, true)");
|
||||
assert_eq!(s, "(1, true)");
|
||||
let s = format!("{}", (1i, "hi", true));
|
||||
assert_eq!(s.as_slice(), "(1, hi, true)");
|
||||
assert_eq!(s, "(1, hi, true)");
|
||||
}
|
||||
|
@ -128,7 +128,7 @@ mod tests {
|
||||
debug!("{} bytes deflated to {} ({:.1}% size)",
|
||||
input.len(), cmp.len(),
|
||||
100.0 * ((cmp.len() as f64) / (input.len() as f64)));
|
||||
assert_eq!(input.as_slice(), out.as_slice());
|
||||
assert_eq!(input, out.as_slice());
|
||||
}
|
||||
}
|
||||
|
||||
@ -137,6 +137,6 @@ mod tests {
|
||||
let bytes = vec!(1, 2, 3, 4, 5);
|
||||
let deflated = deflate_bytes(bytes.as_slice()).expect("deflation failed");
|
||||
let inflated = inflate_bytes(deflated.as_slice()).expect("inflation failed");
|
||||
assert_eq!(inflated.as_slice(), bytes.as_slice());
|
||||
assert_eq!(inflated.as_slice(), bytes);
|
||||
}
|
||||
}
|
||||
|
@ -440,7 +440,7 @@ mod tests {
|
||||
|
||||
fn same(fmt: &'static str, p: &[Piece<'static>]) {
|
||||
let mut parser = Parser::new(fmt);
|
||||
assert!(p == parser.collect::<Vec<Piece<'static>>>().as_slice());
|
||||
assert!(p == parser.collect::<Vec<Piece<'static>>>());
|
||||
}
|
||||
|
||||
fn fmtdflt() -> FormatSpec<'static> {
|
||||
|
@ -244,7 +244,7 @@ impl OptGroup {
|
||||
aliases: Vec::new()
|
||||
},
|
||||
(1,0) => Opt {
|
||||
name: Short(short_name.as_slice().char_at(0)),
|
||||
name: Short(short_name.char_at(0)),
|
||||
hasarg: hasarg,
|
||||
occur: occur,
|
||||
aliases: Vec::new()
|
||||
@ -255,7 +255,7 @@ impl OptGroup {
|
||||
occur: occur,
|
||||
aliases: vec!(
|
||||
Opt {
|
||||
name: Short(short_name.as_slice().char_at(0)),
|
||||
name: Short(short_name.char_at(0)),
|
||||
hasarg: hasarg,
|
||||
occur: occur,
|
||||
aliases: Vec::new()
|
||||
@ -576,7 +576,7 @@ pub fn getopts(args: &[String], optgrps: &[OptGroup]) -> Result {
|
||||
let curlen = cur.len();
|
||||
if !is_arg(cur.as_slice()) {
|
||||
free.push(cur);
|
||||
} else if cur.as_slice() == "--" {
|
||||
} else if cur == "--" {
|
||||
let mut j = i + 1;
|
||||
while j < l { free.push(args[j].clone()); j += 1; }
|
||||
break;
|
||||
@ -584,7 +584,7 @@ pub fn getopts(args: &[String], optgrps: &[OptGroup]) -> Result {
|
||||
let mut names;
|
||||
let mut i_arg = None;
|
||||
if cur.as_bytes()[1] == b'-' {
|
||||
let tail = cur.as_slice().slice(2, curlen);
|
||||
let tail = cur.slice(2, curlen);
|
||||
let tail_eq: Vec<&str> = tail.split('=').collect();
|
||||
if tail_eq.len() <= 1 {
|
||||
names = vec!(Long(tail.to_string()));
|
||||
@ -597,7 +597,7 @@ pub fn getopts(args: &[String], optgrps: &[OptGroup]) -> Result {
|
||||
let mut j = 1;
|
||||
names = Vec::new();
|
||||
while j < curlen {
|
||||
let range = cur.as_slice().char_range_at(j);
|
||||
let range = cur.char_range_at(j);
|
||||
let opt = Short(range.ch);
|
||||
|
||||
/* In a series of potential options (eg. -aheJ), if we
|
||||
@ -620,8 +620,7 @@ pub fn getopts(args: &[String], optgrps: &[OptGroup]) -> Result {
|
||||
};
|
||||
|
||||
if arg_follows && range.next < curlen {
|
||||
i_arg = Some(cur.as_slice()
|
||||
.slice(range.next, curlen).to_string());
|
||||
i_arg = Some(cur.slice(range.next, curlen).to_string());
|
||||
break;
|
||||
}
|
||||
|
||||
@ -736,7 +735,7 @@ pub fn usage(brief: &str, opts: &[OptGroup]) -> String {
|
||||
|
||||
// FIXME: #5516 should be graphemes not codepoints
|
||||
// here we just need to indent the start of the description
|
||||
let rowlen = row.as_slice().char_len();
|
||||
let rowlen = row.char_len();
|
||||
if rowlen < 24 {
|
||||
for _ in range(0, 24 - rowlen) {
|
||||
row.push(' ');
|
||||
@ -747,7 +746,7 @@ pub fn usage(brief: &str, opts: &[OptGroup]) -> String {
|
||||
|
||||
// Normalize desc to contain words separated by one space character
|
||||
let mut desc_normalized_whitespace = String::new();
|
||||
for word in desc.as_slice().words() {
|
||||
for word in desc.words() {
|
||||
desc_normalized_whitespace.push_str(word);
|
||||
desc_normalized_whitespace.push(' ');
|
||||
}
|
||||
@ -963,9 +962,9 @@ mod tests {
|
||||
match rs {
|
||||
Ok(ref m) => {
|
||||
assert!(m.opt_present("test"));
|
||||
assert_eq!(m.opt_str("test").unwrap(), "20".to_string());
|
||||
assert_eq!(m.opt_str("test").unwrap(), "20");
|
||||
assert!(m.opt_present("t"));
|
||||
assert_eq!(m.opt_str("t").unwrap(), "20".to_string());
|
||||
assert_eq!(m.opt_str("t").unwrap(), "20");
|
||||
}
|
||||
_ => { panic!("test_reqopt failed (long arg)"); }
|
||||
}
|
||||
@ -973,9 +972,9 @@ mod tests {
|
||||
match getopts(short_args.as_slice(), opts.as_slice()) {
|
||||
Ok(ref m) => {
|
||||
assert!((m.opt_present("test")));
|
||||
assert_eq!(m.opt_str("test").unwrap(), "20".to_string());
|
||||
assert_eq!(m.opt_str("test").unwrap(), "20");
|
||||
assert!((m.opt_present("t")));
|
||||
assert_eq!(m.opt_str("t").unwrap(), "20".to_string());
|
||||
assert_eq!(m.opt_str("t").unwrap(), "20");
|
||||
}
|
||||
_ => { panic!("test_reqopt failed (short arg)"); }
|
||||
}
|
||||
@ -1028,9 +1027,9 @@ mod tests {
|
||||
match rs {
|
||||
Ok(ref m) => {
|
||||
assert!(m.opt_present("test"));
|
||||
assert_eq!(m.opt_str("test").unwrap(), "20".to_string());
|
||||
assert_eq!(m.opt_str("test").unwrap(), "20");
|
||||
assert!((m.opt_present("t")));
|
||||
assert_eq!(m.opt_str("t").unwrap(), "20".to_string());
|
||||
assert_eq!(m.opt_str("t").unwrap(), "20");
|
||||
}
|
||||
_ => panic!()
|
||||
}
|
||||
@ -1038,9 +1037,9 @@ mod tests {
|
||||
match getopts(short_args.as_slice(), opts.as_slice()) {
|
||||
Ok(ref m) => {
|
||||
assert!((m.opt_present("test")));
|
||||
assert_eq!(m.opt_str("test").unwrap(), "20".to_string());
|
||||
assert_eq!(m.opt_str("test").unwrap(), "20");
|
||||
assert!((m.opt_present("t")));
|
||||
assert_eq!(m.opt_str("t").unwrap(), "20".to_string());
|
||||
assert_eq!(m.opt_str("t").unwrap(), "20");
|
||||
}
|
||||
_ => panic!()
|
||||
}
|
||||
@ -1155,7 +1154,7 @@ mod tests {
|
||||
Ok(ref m) => {
|
||||
// The next variable after the flag is just a free argument
|
||||
|
||||
assert!(m.free[0] == "20".to_string());
|
||||
assert!(m.free[0] == "20");
|
||||
}
|
||||
_ => panic!()
|
||||
}
|
||||
@ -1251,9 +1250,9 @@ mod tests {
|
||||
match rs {
|
||||
Ok(ref m) => {
|
||||
assert!((m.opt_present("test")));
|
||||
assert_eq!(m.opt_str("test").unwrap(), "20".to_string());
|
||||
assert_eq!(m.opt_str("test").unwrap(), "20");
|
||||
assert!((m.opt_present("t")));
|
||||
assert_eq!(m.opt_str("t").unwrap(), "20".to_string());
|
||||
assert_eq!(m.opt_str("t").unwrap(), "20");
|
||||
}
|
||||
_ => panic!()
|
||||
}
|
||||
@ -1261,9 +1260,9 @@ mod tests {
|
||||
match getopts(short_args.as_slice(), opts.as_slice()) {
|
||||
Ok(ref m) => {
|
||||
assert!((m.opt_present("test")));
|
||||
assert_eq!(m.opt_str("test").unwrap(), "20".to_string());
|
||||
assert_eq!(m.opt_str("test").unwrap(), "20");
|
||||
assert!((m.opt_present("t")));
|
||||
assert_eq!(m.opt_str("t").unwrap(), "20".to_string());
|
||||
assert_eq!(m.opt_str("t").unwrap(), "20");
|
||||
}
|
||||
_ => panic!()
|
||||
}
|
||||
@ -1307,12 +1306,12 @@ mod tests {
|
||||
match rs {
|
||||
Ok(ref m) => {
|
||||
assert!(m.opt_present("test"));
|
||||
assert_eq!(m.opt_str("test").unwrap(), "20".to_string());
|
||||
assert_eq!(m.opt_str("test").unwrap(), "20");
|
||||
assert!(m.opt_present("t"));
|
||||
assert_eq!(m.opt_str("t").unwrap(), "20".to_string());
|
||||
assert_eq!(m.opt_str("t").unwrap(), "20");
|
||||
let pair = m.opt_strs("test");
|
||||
assert!(pair[0] == "20".to_string());
|
||||
assert!(pair[1] == "30".to_string());
|
||||
assert!(pair[0] == "20");
|
||||
assert!(pair[1] == "30");
|
||||
}
|
||||
_ => panic!()
|
||||
}
|
||||
@ -1364,19 +1363,19 @@ mod tests {
|
||||
let rs = getopts(args.as_slice(), opts.as_slice());
|
||||
match rs {
|
||||
Ok(ref m) => {
|
||||
assert!(m.free[0] == "prog".to_string());
|
||||
assert!(m.free[1] == "free1".to_string());
|
||||
assert_eq!(m.opt_str("s").unwrap(), "20".to_string());
|
||||
assert!(m.free[2] == "free2".to_string());
|
||||
assert!(m.free[0] == "prog");
|
||||
assert!(m.free[1] == "free1");
|
||||
assert_eq!(m.opt_str("s").unwrap(), "20");
|
||||
assert!(m.free[2] == "free2");
|
||||
assert!((m.opt_present("flag")));
|
||||
assert_eq!(m.opt_str("long").unwrap(), "30".to_string());
|
||||
assert_eq!(m.opt_str("long").unwrap(), "30");
|
||||
assert!((m.opt_present("f")));
|
||||
let pair = m.opt_strs("m");
|
||||
assert!(pair[0] == "40".to_string());
|
||||
assert!(pair[1] == "50".to_string());
|
||||
assert!(pair[0] == "40");
|
||||
assert!(pair[1] == "50");
|
||||
let pair = m.opt_strs("n");
|
||||
assert!(pair[0] == "-A B".to_string());
|
||||
assert!(pair[1] == "-60 70".to_string());
|
||||
assert!(pair[0] == "-A B");
|
||||
assert!(pair[1] == "-60 70");
|
||||
assert!((!m.opt_present("notpresent")));
|
||||
}
|
||||
_ => panic!()
|
||||
@ -1402,11 +1401,11 @@ mod tests {
|
||||
assert!(!matches_single.opts_present(&["thing".to_string()]));
|
||||
assert!(!matches_single.opts_present(&[]));
|
||||
|
||||
assert_eq!(matches_single.opts_str(&["e".to_string()]).unwrap(), "foo".to_string());
|
||||
assert_eq!(matches_single.opts_str(&["e".to_string()]).unwrap(), "foo");
|
||||
assert_eq!(matches_single.opts_str(&["e".to_string(), "encrypt".to_string()]).unwrap(),
|
||||
"foo".to_string());
|
||||
"foo");
|
||||
assert_eq!(matches_single.opts_str(&["encrypt".to_string(), "e".to_string()]).unwrap(),
|
||||
"foo".to_string());
|
||||
"foo");
|
||||
|
||||
let args_both = vec!("-e".to_string(), "foo".to_string(), "--encrypt".to_string(),
|
||||
"foo".to_string());
|
||||
@ -1423,12 +1422,12 @@ mod tests {
|
||||
assert!(!matches_both.opts_present(&["thing".to_string()]));
|
||||
assert!(!matches_both.opts_present(&[]));
|
||||
|
||||
assert_eq!(matches_both.opts_str(&["e".to_string()]).unwrap(), "foo".to_string());
|
||||
assert_eq!(matches_both.opts_str(&["encrypt".to_string()]).unwrap(), "foo".to_string());
|
||||
assert_eq!(matches_both.opts_str(&["e".to_string()]).unwrap(), "foo");
|
||||
assert_eq!(matches_both.opts_str(&["encrypt".to_string()]).unwrap(), "foo");
|
||||
assert_eq!(matches_both.opts_str(&["e".to_string(), "encrypt".to_string()]).unwrap(),
|
||||
"foo".to_string());
|
||||
"foo");
|
||||
assert_eq!(matches_both.opts_str(&["encrypt".to_string(), "e".to_string()]).unwrap(),
|
||||
"foo".to_string());
|
||||
"foo");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1441,9 +1440,9 @@ mod tests {
|
||||
result::Result::Err(_) => panic!()
|
||||
};
|
||||
assert!(matches.opts_present(&["L".to_string()]));
|
||||
assert_eq!(matches.opts_str(&["L".to_string()]).unwrap(), "foo".to_string());
|
||||
assert_eq!(matches.opts_str(&["L".to_string()]).unwrap(), "foo");
|
||||
assert!(matches.opts_present(&["M".to_string()]));
|
||||
assert_eq!(matches.opts_str(&["M".to_string()]).unwrap(), ".".to_string());
|
||||
assert_eq!(matches.opts_str(&["M".to_string()]).unwrap(), ".");
|
||||
|
||||
}
|
||||
|
||||
@ -1457,7 +1456,7 @@ mod tests {
|
||||
result::Result::Err(e) => panic!( "{}", e )
|
||||
};
|
||||
assert!(matches.opts_present(&["L".to_string()]));
|
||||
assert_eq!(matches.opts_str(&["L".to_string()]).unwrap(), "verbose".to_string());
|
||||
assert_eq!(matches.opts_str(&["L".to_string()]).unwrap(), "verbose");
|
||||
assert!(matches.opts_present(&["v".to_string()]));
|
||||
assert_eq!(3, matches.opt_count("v"));
|
||||
}
|
||||
@ -1511,7 +1510,7 @@ Options:
|
||||
-k --kiwi Desc
|
||||
-p [VAL] Desc
|
||||
-l VAL Desc
|
||||
".to_string();
|
||||
";
|
||||
|
||||
let generated_usage = usage("Usage: fruits", optgroups.as_slice());
|
||||
|
||||
@ -1538,7 +1537,7 @@ Options:
|
||||
-k --kiwi This is a long description which won't be wrapped..+..
|
||||
-a --apple This is a long description which _will_ be
|
||||
wrapped..+..
|
||||
".to_string();
|
||||
";
|
||||
|
||||
let usage = usage("Usage: fruits", optgroups.as_slice());
|
||||
|
||||
@ -1564,7 +1563,7 @@ Options:
|
||||
-a --apple This “description” has some characters that could
|
||||
confuse the line wrapping; an apple costs 0.51€ in
|
||||
some parts of Europe.
|
||||
".to_string();
|
||||
";
|
||||
|
||||
let usage = usage("Usage: fruits", optgroups.as_slice());
|
||||
|
||||
|
@ -439,7 +439,7 @@ impl<'a> LabelText<'a> {
|
||||
/// Renders text as string suitable for a label in a .dot file.
|
||||
pub fn escape(&self) -> String {
|
||||
match self {
|
||||
&LabelStr(ref s) => s.as_slice().escape_default(),
|
||||
&LabelStr(ref s) => s.escape_default(),
|
||||
&EscStr(ref s) => LabelText::escape_str(s.as_slice()),
|
||||
}
|
||||
}
|
||||
@ -709,7 +709,7 @@ mod tests {
|
||||
fn empty_graph() {
|
||||
let labels : Trivial = UnlabelledNodes(0);
|
||||
let r = test_input(LabelledGraph::new("empty_graph", labels, vec!()));
|
||||
assert_eq!(r.unwrap().as_slice(),
|
||||
assert_eq!(r.unwrap(),
|
||||
r#"digraph empty_graph {
|
||||
}
|
||||
"#);
|
||||
@ -719,7 +719,7 @@ r#"digraph empty_graph {
|
||||
fn single_node() {
|
||||
let labels : Trivial = UnlabelledNodes(1);
|
||||
let r = test_input(LabelledGraph::new("single_node", labels, vec!()));
|
||||
assert_eq!(r.unwrap().as_slice(),
|
||||
assert_eq!(r.unwrap(),
|
||||
r#"digraph single_node {
|
||||
N0[label="N0"];
|
||||
}
|
||||
@ -731,7 +731,7 @@ r#"digraph single_node {
|
||||
let labels : Trivial = UnlabelledNodes(2);
|
||||
let result = test_input(LabelledGraph::new("single_edge", labels,
|
||||
vec!(edge(0, 1, "E"))));
|
||||
assert_eq!(result.unwrap().as_slice(),
|
||||
assert_eq!(result.unwrap(),
|
||||
r#"digraph single_edge {
|
||||
N0[label="N0"];
|
||||
N1[label="N1"];
|
||||
@ -745,7 +745,7 @@ r#"digraph single_edge {
|
||||
let labels : Trivial = SomeNodesLabelled(vec![Some("A"), None]);
|
||||
let result = test_input(LabelledGraph::new("test_some_labelled", labels,
|
||||
vec![edge(0, 1, "A-1")]));
|
||||
assert_eq!(result.unwrap().as_slice(),
|
||||
assert_eq!(result.unwrap(),
|
||||
r#"digraph test_some_labelled {
|
||||
N0[label="A"];
|
||||
N1[label="N1"];
|
||||
@ -759,7 +759,7 @@ r#"digraph test_some_labelled {
|
||||
let labels : Trivial = UnlabelledNodes(1);
|
||||
let r = test_input(LabelledGraph::new("single_cyclic_node", labels,
|
||||
vec!(edge(0, 0, "E"))));
|
||||
assert_eq!(r.unwrap().as_slice(),
|
||||
assert_eq!(r.unwrap(),
|
||||
r#"digraph single_cyclic_node {
|
||||
N0[label="N0"];
|
||||
N0 -> N0[label="E"];
|
||||
@ -774,7 +774,7 @@ r#"digraph single_cyclic_node {
|
||||
"hasse_diagram", labels,
|
||||
vec!(edge(0, 1, ""), edge(0, 2, ""),
|
||||
edge(1, 3, ""), edge(2, 3, ""))));
|
||||
assert_eq!(r.unwrap().as_slice(),
|
||||
assert_eq!(r.unwrap(),
|
||||
r#"digraph hasse_diagram {
|
||||
N0[label="{x,y}"];
|
||||
N1[label="{x}"];
|
||||
@ -812,7 +812,7 @@ r#"digraph hasse_diagram {
|
||||
render(&g, &mut writer).unwrap();
|
||||
let r = (&mut writer.as_slice()).read_to_string();
|
||||
|
||||
assert_eq!(r.unwrap().as_slice(),
|
||||
assert_eq!(r.unwrap(),
|
||||
r#"digraph syntax_tree {
|
||||
N0[label="if test {\l branch1\l} else {\l branch2\l}\lafterward\l"];
|
||||
N1[label="branch1"];
|
||||
|
@ -100,7 +100,6 @@ mod tests {
|
||||
#[test]
|
||||
fn parse_logging_spec_valid() {
|
||||
let (dirs, filter) = parse_logging_spec("crate1::mod1=1,crate1::mod2,crate2=4");
|
||||
let dirs = dirs.as_slice();
|
||||
assert_eq!(dirs.len(), 3);
|
||||
assert_eq!(dirs[0].name, Some("crate1::mod1".to_string()));
|
||||
assert_eq!(dirs[0].level, 1);
|
||||
@ -117,7 +116,6 @@ mod tests {
|
||||
fn parse_logging_spec_invalid_crate() {
|
||||
// test parse_logging_spec with multiple = in specification
|
||||
let (dirs, filter) = parse_logging_spec("crate1::mod1=1=2,crate2=4");
|
||||
let dirs = dirs.as_slice();
|
||||
assert_eq!(dirs.len(), 1);
|
||||
assert_eq!(dirs[0].name, Some("crate2".to_string()));
|
||||
assert_eq!(dirs[0].level, 4);
|
||||
@ -128,7 +126,6 @@ mod tests {
|
||||
fn parse_logging_spec_invalid_log_level() {
|
||||
// test parse_logging_spec with 'noNumber' as log level
|
||||
let (dirs, filter) = parse_logging_spec("crate1::mod1=noNumber,crate2=4");
|
||||
let dirs = dirs.as_slice();
|
||||
assert_eq!(dirs.len(), 1);
|
||||
assert_eq!(dirs[0].name, Some("crate2".to_string()));
|
||||
assert_eq!(dirs[0].level, 4);
|
||||
@ -139,7 +136,6 @@ mod tests {
|
||||
fn parse_logging_spec_string_log_level() {
|
||||
// test parse_logging_spec with 'warn' as log level
|
||||
let (dirs, filter) = parse_logging_spec("crate1::mod1=wrong,crate2=warn");
|
||||
let dirs = dirs.as_slice();
|
||||
assert_eq!(dirs.len(), 1);
|
||||
assert_eq!(dirs[0].name, Some("crate2".to_string()));
|
||||
assert_eq!(dirs[0].level, ::WARN);
|
||||
@ -150,7 +146,6 @@ mod tests {
|
||||
fn parse_logging_spec_empty_log_level() {
|
||||
// test parse_logging_spec with '' as log level
|
||||
let (dirs, filter) = parse_logging_spec("crate1::mod1=wrong,crate2=");
|
||||
let dirs = dirs.as_slice();
|
||||
assert_eq!(dirs.len(), 1);
|
||||
assert_eq!(dirs[0].name, Some("crate2".to_string()));
|
||||
assert_eq!(dirs[0].level, ::MAX_LOG_LEVEL);
|
||||
@ -161,7 +156,6 @@ mod tests {
|
||||
fn parse_logging_spec_global() {
|
||||
// test parse_logging_spec with no crate
|
||||
let (dirs, filter) = parse_logging_spec("warn,crate2=4");
|
||||
let dirs = dirs.as_slice();
|
||||
assert_eq!(dirs.len(), 2);
|
||||
assert_eq!(dirs[0].name, None);
|
||||
assert_eq!(dirs[0].level, 2);
|
||||
@ -173,7 +167,6 @@ mod tests {
|
||||
#[test]
|
||||
fn parse_logging_spec_valid_filter() {
|
||||
let (dirs, filter) = parse_logging_spec("crate1::mod1=1,crate1::mod2,crate2=4/abc");
|
||||
let dirs = dirs.as_slice();
|
||||
assert_eq!(dirs.len(), 3);
|
||||
assert_eq!(dirs[0].name, Some("crate1::mod1".to_string()));
|
||||
assert_eq!(dirs[0].level, 1);
|
||||
@ -183,26 +176,24 @@ mod tests {
|
||||
|
||||
assert_eq!(dirs[2].name, Some("crate2".to_string()));
|
||||
assert_eq!(dirs[2].level, 4);
|
||||
assert!(filter.is_some() && filter.unwrap().to_string().as_slice() == "abc");
|
||||
assert!(filter.is_some() && filter.unwrap().to_string() == "abc");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_logging_spec_invalid_crate_filter() {
|
||||
let (dirs, filter) = parse_logging_spec("crate1::mod1=1=2,crate2=4/a.c");
|
||||
let dirs = dirs.as_slice();
|
||||
assert_eq!(dirs.len(), 1);
|
||||
assert_eq!(dirs[0].name, Some("crate2".to_string()));
|
||||
assert_eq!(dirs[0].level, 4);
|
||||
assert!(filter.is_some() && filter.unwrap().to_string().as_slice() == "a.c");
|
||||
assert!(filter.is_some() && filter.unwrap().to_string() == "a.c");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_logging_spec_empty_with_filter() {
|
||||
let (dirs, filter) = parse_logging_spec("crate1/a*c");
|
||||
let dirs = dirs.as_slice();
|
||||
assert_eq!(dirs.len(), 1);
|
||||
assert_eq!(dirs[0].name, Some("crate1".to_string()));
|
||||
assert_eq!(dirs[0].level, ::MAX_LOG_LEVEL);
|
||||
assert!(filter.is_some() && filter.unwrap().to_string().as_slice() == "a*c");
|
||||
assert!(filter.is_some() && filter.unwrap().to_string() == "a*c");
|
||||
}
|
||||
}
|
||||
|
@ -523,11 +523,11 @@ impl<'a> Parser<'a> {
|
||||
|
||||
// Parse the min and max values from the regex.
|
||||
let (mut min, mut max): (uint, Option<uint>);
|
||||
if !inner.as_slice().contains(",") {
|
||||
if !inner.contains(",") {
|
||||
min = try!(self.parse_uint(inner.as_slice()));
|
||||
max = Some(min);
|
||||
} else {
|
||||
let pieces: Vec<&str> = inner.as_slice().splitn(1, ',').collect();
|
||||
let pieces: Vec<&str> = inner.splitn(1, ',').collect();
|
||||
let (smin, smax) = (pieces[0], pieces[1]);
|
||||
if smin.len() == 0 {
|
||||
return self.err("Max repetitions cannot be specified \
|
||||
@ -751,7 +751,7 @@ impl<'a> Parser<'a> {
|
||||
return self.err("Capture names must have at least 1 character.")
|
||||
}
|
||||
let name = self.slice(self.chari, closer);
|
||||
if !name.as_slice().chars().all(is_valid_cap) {
|
||||
if !name.chars().all(is_valid_cap) {
|
||||
return self.err(
|
||||
"Capture names can only have underscores, letters and digits.")
|
||||
}
|
||||
|
@ -156,13 +156,13 @@ macro_rules! mat(
|
||||
};
|
||||
// The test set sometimes leave out capture groups, so truncate
|
||||
// actual capture groups to match test set.
|
||||
let (sexpect, mut sgot) = (expected.as_slice(), got.as_slice());
|
||||
if sgot.len() > sexpect.len() {
|
||||
sgot = sgot[0..sexpect.len()]
|
||||
let mut sgot = got.as_slice();
|
||||
if sgot.len() > expected.len() {
|
||||
sgot = sgot[0..expected.len()]
|
||||
}
|
||||
if sexpect != sgot {
|
||||
if expected != sgot {
|
||||
panic!("For RE '{}' against '{}', expected '{}' but got '{}'",
|
||||
$re, text, sexpect, sgot);
|
||||
$re, text, expected, sgot);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
@ -147,7 +147,7 @@ impl<'r, 't> Nfa<'r, 't> {
|
||||
// jump ahead quickly. If it can't be found, then we can bail
|
||||
// out early.
|
||||
if self.prog.prefix.len() > 0 && clist.size == 0 {
|
||||
let needle = self.prog.prefix.as_slice().as_bytes();
|
||||
let needle = self.prog.prefix.as_bytes();
|
||||
let haystack = self.input.as_bytes()[self.ic..];
|
||||
match find_prefix(needle, haystack) {
|
||||
None => break,
|
||||
|
@ -115,7 +115,7 @@ impl<'a> NfaGen<'a> {
|
||||
// expression returned.
|
||||
let num_cap_locs = 2 * self.prog.num_captures();
|
||||
let num_insts = self.prog.insts.len();
|
||||
let cap_names = self.vec_expr(self.names.as_slice().iter(),
|
||||
let cap_names = self.vec_expr(self.names.iter(),
|
||||
|cx, name| match *name {
|
||||
Some(ref name) => {
|
||||
let name = name.as_slice();
|
||||
@ -125,14 +125,14 @@ impl<'a> NfaGen<'a> {
|
||||
}
|
||||
);
|
||||
let prefix_anchor =
|
||||
match self.prog.insts.as_slice()[1] {
|
||||
match self.prog.insts[1] {
|
||||
EmptyBegin(flags) if flags & FLAG_MULTI == 0 => true,
|
||||
_ => false,
|
||||
};
|
||||
let init_groups = self.vec_expr(range(0, num_cap_locs),
|
||||
|cx, _| cx.expr_none(self.sp));
|
||||
|
||||
let prefix_lit = Rc::new(self.prog.prefix.as_slice().as_bytes().to_vec());
|
||||
let prefix_lit = Rc::new(self.prog.prefix.as_bytes().to_vec());
|
||||
let prefix_bytes = self.cx.expr_lit(self.sp, ast::LitBinary(prefix_lit));
|
||||
|
||||
let check_prefix = self.check_prefix();
|
||||
|
@ -902,7 +902,7 @@ impl NonSnakeCase {
|
||||
let mut buf = String::new();
|
||||
if s.is_empty() { continue; }
|
||||
for ch in s.chars() {
|
||||
if !buf.is_empty() && buf.as_slice() != "'"
|
||||
if !buf.is_empty() && buf != "'"
|
||||
&& ch.is_uppercase()
|
||||
&& !last_upper {
|
||||
words.push(buf);
|
||||
|
@ -277,7 +277,7 @@ fn visit_item(e: &Env, i: &ast::Item) {
|
||||
|
||||
fn register_native_lib(sess: &Session, span: Option<Span>, name: String,
|
||||
kind: cstore::NativeLibaryKind) {
|
||||
if name.as_slice().is_empty() {
|
||||
if name.is_empty() {
|
||||
match span {
|
||||
Some(span) => {
|
||||
sess.span_err(span, "#[link(name = \"\")] given with \
|
||||
@ -304,7 +304,7 @@ fn existing_match(e: &Env, name: &str,
|
||||
hash: Option<&Svh>) -> Option<ast::CrateNum> {
|
||||
let mut ret = None;
|
||||
e.sess.cstore.iter_crate_data(|cnum, data| {
|
||||
if data.name.as_slice() != name { return }
|
||||
if data.name != name { return }
|
||||
|
||||
match hash {
|
||||
Some(hash) if *hash == data.hash() => { ret = Some(cnum); return }
|
||||
|
@ -162,7 +162,7 @@ impl CStore {
|
||||
let mut ordering = Vec::new();
|
||||
fn visit(cstore: &CStore, cnum: ast::CrateNum,
|
||||
ordering: &mut Vec<ast::CrateNum>) {
|
||||
if ordering.as_slice().contains(&cnum) { return }
|
||||
if ordering.contains(&cnum) { return }
|
||||
let meta = cstore.get_crate_data(cnum);
|
||||
for (_, &dep) in meta.cnum_map.iter() {
|
||||
visit(cstore, dep, ordering);
|
||||
@ -172,8 +172,7 @@ impl CStore {
|
||||
for (&num, _) in self.metas.borrow().iter() {
|
||||
visit(self, num, &mut ordering);
|
||||
}
|
||||
ordering.as_mut_slice().reverse();
|
||||
let ordering = ordering.as_slice();
|
||||
ordering.reverse();
|
||||
let mut libs = self.used_crate_sources.borrow()
|
||||
.iter()
|
||||
.map(|src| (src.cnum, match prefer {
|
||||
|
@ -474,7 +474,7 @@ fn encode_reexported_static_methods(ecx: &EncodeContext,
|
||||
// encoded metadata for static methods relative to Bar,
|
||||
// but not yet for Foo.
|
||||
//
|
||||
if path_differs || original_name.get() != exp.name.as_slice() {
|
||||
if path_differs || original_name.get() != exp.name {
|
||||
if !encode_reexported_static_base_methods(ecx, rbml_w, exp) {
|
||||
if encode_reexported_static_trait_methods(ecx, rbml_w, exp) {
|
||||
debug!("(encode reexported static methods) {} [trait]",
|
||||
|
@ -214,7 +214,7 @@ pub fn rust_path() -> Vec<Path> {
|
||||
let mut env_rust_path: Vec<Path> = match get_rust_path() {
|
||||
Some(env_path) => {
|
||||
let env_path_components =
|
||||
env_path.as_slice().split_str(PATH_ENTRY_SEPARATOR);
|
||||
env_path.split_str(PATH_ENTRY_SEPARATOR);
|
||||
env_path_components.map(|s| Path::new(s)).collect()
|
||||
}
|
||||
None => Vec::new()
|
||||
|
@ -545,7 +545,7 @@ impl<'a> Context<'a> {
|
||||
fn crate_matches(&mut self, crate_data: &[u8], libpath: &Path) -> bool {
|
||||
if self.should_match_name {
|
||||
match decoder::maybe_get_crate_name(crate_data) {
|
||||
Some(ref name) if self.crate_name == name.as_slice() => {}
|
||||
Some(ref name) if self.crate_name == *name => {}
|
||||
_ => { info!("Rejecting via crate name"); return false }
|
||||
}
|
||||
}
|
||||
@ -560,7 +560,7 @@ impl<'a> Context<'a> {
|
||||
None => { debug!("triple not present"); return false }
|
||||
Some(t) => t,
|
||||
};
|
||||
if triple.as_slice() != self.triple {
|
||||
if triple != self.triple {
|
||||
info!("Rejecting via crate triple: expected {} got {}", self.triple, triple);
|
||||
self.rejected_via_triple.push(CrateMismatch {
|
||||
path: libpath.clone(),
|
||||
@ -743,7 +743,7 @@ fn get_metadata_section_imp(is_osx: bool, filename: &Path) -> Result<MetadataBlo
|
||||
let name = String::from_raw_buf_len(name_buf as *const u8,
|
||||
name_len as uint);
|
||||
debug!("get_metadata_section: name {}", name);
|
||||
if read_meta_section_name(is_osx).as_slice() == name.as_slice() {
|
||||
if read_meta_section_name(is_osx) == name {
|
||||
let cbuf = llvm::LLVMGetSectionContents(si.llsi);
|
||||
let csz = llvm::LLVMGetSectionSize(si.llsi) as uint;
|
||||
let cvbuf: *const u8 = cbuf as *const u8;
|
||||
|
@ -234,15 +234,15 @@ pub fn fixup_fragment_sets<'tcx>(this: &MoveData<'tcx>, tcx: &ty::ctxt<'tcx>) {
|
||||
debug!("fragments 3 assigned: {}", path_lps(assigned.as_slice()));
|
||||
|
||||
// Fourth, build the leftover from the moved, assigned, and parents.
|
||||
for m in moved.as_slice().iter() {
|
||||
for m in moved.iter() {
|
||||
let lp = this.path_loan_path(*m);
|
||||
add_fragment_siblings(this, tcx, &mut unmoved, lp, None);
|
||||
}
|
||||
for a in assigned.as_slice().iter() {
|
||||
for a in assigned.iter() {
|
||||
let lp = this.path_loan_path(*a);
|
||||
add_fragment_siblings(this, tcx, &mut unmoved, lp, None);
|
||||
}
|
||||
for p in parents.as_slice().iter() {
|
||||
for p in parents.iter() {
|
||||
let lp = this.path_loan_path(*p);
|
||||
add_fragment_siblings(this, tcx, &mut unmoved, lp, None);
|
||||
}
|
||||
|
@ -31,14 +31,14 @@ pub struct LabelledCFG<'a, 'ast: 'a> {
|
||||
fn replace_newline_with_backslash_l(s: String) -> String {
|
||||
// Replacing newlines with \\l causes each line to be left-aligned,
|
||||
// improving presentation of (long) pretty-printed expressions.
|
||||
if s.as_slice().contains("\n") {
|
||||
if s.contains("\n") {
|
||||
let mut s = s.replace("\n", "\\l");
|
||||
// Apparently left-alignment applies to the line that precedes
|
||||
// \l, not the line that follows; so, add \l at end of string
|
||||
// if not already present, ensuring last line gets left-aligned
|
||||
// as well.
|
||||
let mut last_two: Vec<_> =
|
||||
s.as_slice().chars().rev().take(2).collect();
|
||||
s.chars().rev().take(2).collect();
|
||||
last_two.reverse();
|
||||
if last_two != ['\\', 'l'] {
|
||||
s.push_str("\\l");
|
||||
|
@ -321,7 +321,7 @@ fn has_allow_dead_code_or_lang_attr(attrs: &[ast::Attribute]) -> bool {
|
||||
for attr in lint::gather_attrs(attrs).into_iter() {
|
||||
match attr {
|
||||
Ok((ref name, lint::Allow, _))
|
||||
if name.get() == dead_code.as_slice() => return true,
|
||||
if name.get() == dead_code => return true,
|
||||
_ => (),
|
||||
}
|
||||
}
|
||||
|
@ -1065,7 +1065,7 @@ impl<'a, 'tcx> Liveness<'a, 'tcx> {
|
||||
// the same bindings, and we also consider the first pattern to be
|
||||
// the "authoritative" set of ids
|
||||
let arm_succ =
|
||||
self.define_bindings_in_arm_pats(arm.pats.as_slice().head().map(|p| &**p),
|
||||
self.define_bindings_in_arm_pats(arm.pats.head().map(|p| &**p),
|
||||
guard_succ);
|
||||
self.merge_from_succ(ln, arm_succ, first_merge);
|
||||
first_merge = false;
|
||||
@ -1431,7 +1431,7 @@ fn check_arm(this: &mut Liveness, arm: &ast::Arm) {
|
||||
// only consider the first pattern; any later patterns must have
|
||||
// the same bindings, and we also consider the first pattern to be
|
||||
// the "authoritative" set of ids
|
||||
this.arm_pats_bindings(arm.pats.as_slice().head().map(|p| &**p), |this, ln, var, sp, id| {
|
||||
this.arm_pats_bindings(arm.pats.head().map(|p| &**p), |this, ln, var, sp, id| {
|
||||
this.warn_about_unused(sp, id, ln, var);
|
||||
});
|
||||
visit::walk_arm(this, arm);
|
||||
|
@ -1668,7 +1668,7 @@ impl<'a> Resolver<'a> {
|
||||
let module_path = match view_path.node {
|
||||
ViewPathSimple(_, ref full_path, _) => {
|
||||
full_path.segments
|
||||
.as_slice().init()
|
||||
.init()
|
||||
.iter().map(|ident| ident.identifier.name)
|
||||
.collect()
|
||||
}
|
||||
@ -1739,7 +1739,7 @@ impl<'a> Resolver<'a> {
|
||||
continue;
|
||||
}
|
||||
};
|
||||
let module_path = module_path.as_slice().init();
|
||||
let module_path = module_path.init();
|
||||
(module_path.to_vec(), name)
|
||||
}
|
||||
};
|
||||
@ -3760,12 +3760,12 @@ impl<'a> Resolver<'a> {
|
||||
.codemap()
|
||||
.span_to_snippet((*imports)[index].span)
|
||||
.unwrap();
|
||||
if sn.as_slice().contains("::") {
|
||||
if sn.contains("::") {
|
||||
self.resolve_error((*imports)[index].span,
|
||||
"unresolved import");
|
||||
} else {
|
||||
let err = format!("unresolved import (maybe you meant `{}::*`?)",
|
||||
sn.as_slice().slice(0, sn.len()));
|
||||
sn.slice(0, sn.len()));
|
||||
self.resolve_error((*imports)[index].span, err.as_slice());
|
||||
}
|
||||
}
|
||||
@ -5773,7 +5773,7 @@ impl<'a> Resolver<'a> {
|
||||
});
|
||||
|
||||
if method_scope && token::get_name(self.self_name).get()
|
||||
== wrong_name.as_slice() {
|
||||
== wrong_name {
|
||||
self.resolve_error(
|
||||
expr.span,
|
||||
"`self` is not available \
|
||||
|
@ -2907,7 +2907,7 @@ pub fn type_contents<'tcx>(cx: &ctxt<'tcx>, ty: Ty<'tcx>) -> TypeContents {
|
||||
res = res | TC::ReachesFfiUnsafe;
|
||||
}
|
||||
|
||||
match repr_hints.as_slice().get(0) {
|
||||
match repr_hints.get(0) {
|
||||
Some(h) => if !h.is_ffi_safe() {
|
||||
res = res | TC::ReachesFfiUnsafe;
|
||||
},
|
||||
@ -3566,23 +3566,23 @@ pub fn positional_element_ty<'tcx>(cx: &ctxt<'tcx>,
|
||||
variant: Option<ast::DefId>) -> Option<Ty<'tcx>> {
|
||||
|
||||
match (&ty.sty, variant) {
|
||||
(&ty_tup(ref v), None) => v.as_slice().get(i).map(|&t| t),
|
||||
(&ty_tup(ref v), None) => v.get(i).map(|&t| t),
|
||||
|
||||
|
||||
(&ty_struct(def_id, ref substs), None) => lookup_struct_fields(cx, def_id)
|
||||
.as_slice().get(i)
|
||||
.get(i)
|
||||
.map(|&t|lookup_item_type(cx, t.id).ty.subst(cx, substs)),
|
||||
|
||||
(&ty_enum(def_id, ref substs), Some(variant_def_id)) => {
|
||||
let variant_info = enum_variant_with_id(cx, def_id, variant_def_id);
|
||||
variant_info.args.as_slice().get(i).map(|t|t.subst(cx, substs))
|
||||
variant_info.args.get(i).map(|t|t.subst(cx, substs))
|
||||
}
|
||||
|
||||
(&ty_enum(def_id, ref substs), None) => {
|
||||
assert!(enum_is_univariant(cx, def_id));
|
||||
let enum_variants = enum_variants(cx, def_id);
|
||||
let variant_info = &(*enum_variants)[0];
|
||||
variant_info.args.as_slice().get(i).map(|t|t.subst(cx, substs))
|
||||
variant_info.args.get(i).map(|t|t.subst(cx, substs))
|
||||
}
|
||||
|
||||
_ => None
|
||||
|
@ -512,13 +512,13 @@ pub fn build_codegen_options(matches: &getopts::Matches) -> CodegenOptions
|
||||
{
|
||||
let mut cg = basic_codegen_options();
|
||||
for option in matches.opt_strs("C").into_iter() {
|
||||
let mut iter = option.as_slice().splitn(1, '=');
|
||||
let mut iter = option.splitn(1, '=');
|
||||
let key = iter.next().unwrap();
|
||||
let value = iter.next();
|
||||
let option_to_lookup = key.replace("-", "_");
|
||||
let mut found = false;
|
||||
for &(candidate, setter, opt_type_desc, _) in CG_OPTIONS.iter() {
|
||||
if option_to_lookup.as_slice() != candidate { continue }
|
||||
if option_to_lookup != candidate { continue }
|
||||
if !setter(&mut cg, value) {
|
||||
match (value, opt_type_desc) {
|
||||
(Some(..), None) => {
|
||||
@ -714,7 +714,7 @@ pub fn build_session_options(matches: &getopts::Matches) -> Options {
|
||||
|
||||
for &level in [lint::Allow, lint::Warn, lint::Deny, lint::Forbid].iter() {
|
||||
for lint_name in matches.opt_strs(level.as_str()).into_iter() {
|
||||
if lint_name.as_slice() == "help" {
|
||||
if lint_name == "help" {
|
||||
describe_lints = true;
|
||||
} else {
|
||||
lint_opts.push((lint_name.replace("-", "_").into_string(), level));
|
||||
@ -727,9 +727,8 @@ pub fn build_session_options(matches: &getopts::Matches) -> Options {
|
||||
let debug_map = debugging_opts_map();
|
||||
for debug_flag in debug_flags.iter() {
|
||||
let mut this_bit = 0;
|
||||
for tuple in debug_map.iter() {
|
||||
let (name, bit) = match *tuple { (ref a, _, b) => (a, b) };
|
||||
if *name == debug_flag.as_slice() {
|
||||
for &(name, _, bit) in debug_map.iter() {
|
||||
if name == *debug_flag {
|
||||
this_bit = bit;
|
||||
break;
|
||||
}
|
||||
@ -749,7 +748,7 @@ pub fn build_session_options(matches: &getopts::Matches) -> Options {
|
||||
if !parse_only && !no_trans {
|
||||
let unparsed_output_types = matches.opt_strs("emit");
|
||||
for unparsed_output_type in unparsed_output_types.iter() {
|
||||
for part in unparsed_output_type.as_slice().split(',') {
|
||||
for part in unparsed_output_type.split(',') {
|
||||
let output_type = match part.as_slice() {
|
||||
"asm" => OutputTypeAssembly,
|
||||
"ir" => OutputTypeLlvmAssembly,
|
||||
@ -765,7 +764,7 @@ pub fn build_session_options(matches: &getopts::Matches) -> Options {
|
||||
}
|
||||
}
|
||||
};
|
||||
output_types.as_mut_slice().sort();
|
||||
output_types.sort();
|
||||
output_types.dedup();
|
||||
if output_types.len() == 0 {
|
||||
output_types.push(OutputTypeExe);
|
||||
@ -824,7 +823,7 @@ pub fn build_session_options(matches: &getopts::Matches) -> Options {
|
||||
}).collect();
|
||||
|
||||
let libs = matches.opt_strs("l").into_iter().map(|s| {
|
||||
let mut parts = s.as_slice().rsplitn(1, ':');
|
||||
let mut parts = s.rsplitn(1, ':');
|
||||
let kind = parts.next().unwrap();
|
||||
let (name, kind) = match (parts.next(), kind) {
|
||||
(None, name) |
|
||||
@ -875,7 +874,7 @@ pub fn build_session_options(matches: &getopts::Matches) -> Options {
|
||||
|
||||
let mut externs = HashMap::new();
|
||||
for arg in matches.opt_strs("extern").iter() {
|
||||
let mut parts = arg.as_slice().splitn(1, '=');
|
||||
let mut parts = arg.splitn(1, '=');
|
||||
let name = match parts.next() {
|
||||
Some(s) => s,
|
||||
None => early_error("--extern value must not be empty"),
|
||||
@ -925,7 +924,7 @@ pub fn parse_crate_types_from_list(list_list: Vec<String>) -> Result<Vec<CrateTy
|
||||
|
||||
let mut crate_types: Vec<CrateType> = Vec::new();
|
||||
for unparsed_crate_type in list_list.iter() {
|
||||
for part in unparsed_crate_type.as_slice().split(',') {
|
||||
for part in unparsed_crate_type.split(',') {
|
||||
let new_part = match part {
|
||||
"lib" => default_lib_output(),
|
||||
"rlib" => CrateTypeRlib,
|
||||
|
@ -257,7 +257,7 @@ pub fn build_session_(sopts: config::Options,
|
||||
|
||||
let can_print_warnings = sopts.lint_opts
|
||||
.iter()
|
||||
.filter(|&&(ref key, _)| key.as_slice() == "warnings")
|
||||
.filter(|&&(ref key, _)| *key == "warnings")
|
||||
.map(|&(_, ref level)| *level != lint::Allow)
|
||||
.last()
|
||||
.unwrap_or(true);
|
||||
|
@ -538,7 +538,7 @@ pub fn parameterized<'tcx>(cx: &ctxt<'tcx>,
|
||||
pub fn ty_to_short_str<'tcx>(cx: &ctxt<'tcx>, typ: Ty<'tcx>) -> String {
|
||||
let mut s = typ.repr(cx).to_string();
|
||||
if s.len() >= 32u {
|
||||
s = s.as_slice().slice(0u, 32u).to_string();
|
||||
s = s.slice(0u, 32u).to_string();
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ use target_strs;
|
||||
use syntax::abi;
|
||||
|
||||
pub fn get_target_strs(target_triple: String, target_os: abi::Os) -> target_strs::t {
|
||||
let cc_args = if target_triple.as_slice().contains("thumb") {
|
||||
let cc_args = if target_triple.contains("thumb") {
|
||||
vec!("-mthumb".to_string())
|
||||
} else {
|
||||
vec!("-marm".to_string())
|
||||
|
@ -145,8 +145,8 @@ mod test {
|
||||
"path2".to_string()
|
||||
]);
|
||||
assert_eq!(flags,
|
||||
vec!("-Wl,-rpath,path1".to_string(),
|
||||
"-Wl,-rpath,path2".to_string()));
|
||||
["-Wl,-rpath,path1",
|
||||
"-Wl,-rpath,path2"]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -156,9 +156,9 @@ mod test {
|
||||
"rpath2".to_string(),
|
||||
"rpath1".to_string()
|
||||
]);
|
||||
assert!(res.as_slice() == [
|
||||
"rpath1".to_string(),
|
||||
"rpath2".to_string()
|
||||
assert!(res == [
|
||||
"rpath1",
|
||||
"rpath2",
|
||||
]);
|
||||
}
|
||||
|
||||
@ -176,11 +176,11 @@ mod test {
|
||||
"4a".to_string(),
|
||||
"3".to_string()
|
||||
]);
|
||||
assert!(res.as_slice() == [
|
||||
"1a".to_string(),
|
||||
"2".to_string(),
|
||||
"4a".to_string(),
|
||||
"3".to_string()
|
||||
assert!(res == [
|
||||
"1a",
|
||||
"2",
|
||||
"4a",
|
||||
"3",
|
||||
]);
|
||||
}
|
||||
|
||||
@ -196,7 +196,7 @@ mod test {
|
||||
realpath: |p| Ok(p.clone())
|
||||
};
|
||||
let res = get_rpath_relative_to_output(config, &Path::new("lib/libstd.so"));
|
||||
assert_eq!(res.as_slice(), "$ORIGIN/../lib");
|
||||
assert_eq!(res, "$ORIGIN/../lib");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -211,7 +211,7 @@ mod test {
|
||||
realpath: |p| Ok(p.clone())
|
||||
};
|
||||
let res = get_rpath_relative_to_output(config, &Path::new("lib/libstd.so"));
|
||||
assert_eq!(res.as_slice(), "$ORIGIN/../lib");
|
||||
assert_eq!(res, "$ORIGIN/../lib");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -226,7 +226,7 @@ mod test {
|
||||
realpath: |p| Ok(p.clone())
|
||||
};
|
||||
let res = get_rpath_relative_to_output(config, &Path::new("lib/libstd.so"));
|
||||
assert_eq!(res.as_slice(), "$ORIGIN/../lib");
|
||||
assert_eq!(res, "$ORIGIN/../lib");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -241,6 +241,6 @@ mod test {
|
||||
realpath: |p| Ok(p.clone())
|
||||
};
|
||||
let res = get_rpath_relative_to_output(config, &Path::new("lib/libstd.so"));
|
||||
assert_eq!(res.as_slice(), "@loader_path/../lib");
|
||||
assert_eq!(res, "@loader_path/../lib");
|
||||
}
|
||||
}
|
||||
|
@ -263,7 +263,7 @@ pub trait Digest {
|
||||
/// Convenience function that retrieves the result of a digest as a
|
||||
/// String in hexadecimal format.
|
||||
fn result_str(&mut self) -> String {
|
||||
self.result_bytes().as_slice().to_hex().to_string()
|
||||
self.result_bytes().to_hex().to_string()
|
||||
}
|
||||
}
|
||||
|
||||
@ -568,7 +568,6 @@ mod tests {
|
||||
while left > 0u {
|
||||
let take = (left + 1u) / 2u;
|
||||
sh.input_str(t.input
|
||||
.as_slice()
|
||||
.slice(len - left, take + len - left));
|
||||
left = left - take;
|
||||
}
|
||||
|
@ -200,7 +200,7 @@ impl Target {
|
||||
pub fn adjust_abi(&self, abi: abi::Abi) -> abi::Abi {
|
||||
match abi {
|
||||
abi::System => {
|
||||
if self.options.is_like_windows && self.arch.as_slice() == "x86" {
|
||||
if self.options.is_like_windows && self.arch == "x86" {
|
||||
abi::Stdcall
|
||||
} else {
|
||||
abi::C
|
||||
@ -308,7 +308,6 @@ impl Target {
|
||||
( $($name:ident),+ ) => (
|
||||
{
|
||||
let target = target.replace("-", "_");
|
||||
let target = target.as_slice();
|
||||
if false { }
|
||||
$(
|
||||
else if target == stringify!($name) {
|
||||
|
@ -682,7 +682,7 @@ pub fn collect_crate_types(session: &Session,
|
||||
if base.len() == 0 {
|
||||
base.push(link::default_output_for_target(session));
|
||||
}
|
||||
base.as_mut_slice().sort();
|
||||
base.sort();
|
||||
base.dedup();
|
||||
}
|
||||
|
||||
|
@ -378,13 +378,13 @@ pub fn handle_options(mut args: Vec<String>) -> Option<getopts::Matches> {
|
||||
// Don't handle -W help here, because we might first load plugins.
|
||||
|
||||
let r = matches.opt_strs("Z");
|
||||
if r.iter().any(|x| x.as_slice() == "help") {
|
||||
if r.iter().any(|x| *x == "help") {
|
||||
describe_debug_flags();
|
||||
return None;
|
||||
}
|
||||
|
||||
let cg_flags = matches.opt_strs("C");
|
||||
if cg_flags.iter().any(|x| x.as_slice() == "help") {
|
||||
if cg_flags.iter().any(|x| *x == "help") {
|
||||
describe_codegen_flags();
|
||||
return None;
|
||||
}
|
||||
|
@ -140,7 +140,7 @@ pub fn find_crate_name(sess: Option<&Session>,
|
||||
if let Some(sess) = sess {
|
||||
if let Some(ref s) = sess.opts.crate_name {
|
||||
if let Some((attr, ref name)) = attr_crate_name {
|
||||
if s.as_slice() != name.get() {
|
||||
if *s != name.get() {
|
||||
let msg = format!("--crate-name and #[crate_name] are \
|
||||
required to match, but `{}` != `{}`",
|
||||
s, name);
|
||||
@ -249,7 +249,7 @@ pub fn sanitize(s: &str) -> String {
|
||||
let mut tstr = String::new();
|
||||
for c in c.escape_unicode() { tstr.push(c) }
|
||||
result.push('$');
|
||||
result.push_str(tstr.as_slice().slice_from(1));
|
||||
result.push_str(tstr.slice_from(1));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -669,7 +669,7 @@ fn link_rlib<'a>(sess: &'a Session,
|
||||
fn write_rlib_bytecode_object_v1<T: Writer>(writer: &mut T,
|
||||
bc_data_deflated: &[u8])
|
||||
-> ::std::io::IoResult<()> {
|
||||
let bc_data_deflated_size: u64 = bc_data_deflated.as_slice().len() as u64;
|
||||
let bc_data_deflated_size: u64 = bc_data_deflated.len() as u64;
|
||||
|
||||
try! { writer.write(RLIB_BYTECODE_OBJECT_MAGIC) };
|
||||
try! { writer.write_le_u32(1) };
|
||||
@ -910,10 +910,10 @@ fn link_args(cmd: &mut Command,
|
||||
let args = sess.opts.cg.link_args.as_ref().unwrap_or(&empty_vec);
|
||||
let mut args = args.iter().chain(used_link_args.iter());
|
||||
if !dylib
|
||||
&& (t.options.relocation_model.as_slice() == "pic"
|
||||
|| sess.opts.cg.relocation_model.as_ref()
|
||||
.unwrap_or(&empty_str).as_slice() == "pic")
|
||||
&& !args.any(|x| x.as_slice() == "-static") {
|
||||
&& (t.options.relocation_model == "pic"
|
||||
|| *sess.opts.cg.relocation_model.as_ref()
|
||||
.unwrap_or(&empty_str) == "pic")
|
||||
&& !args.any(|x| *x == "-static") {
|
||||
cmd.arg("-pie");
|
||||
}
|
||||
}
|
||||
|
@ -143,7 +143,7 @@ pub fn run(sess: &session::Session, llmod: ModuleRef,
|
||||
|
||||
// Internalize everything but the reachable symbols of the current module
|
||||
let cstrs: Vec<::std::c_str::CString> =
|
||||
reachable.iter().map(|s| s.as_slice().to_c_str()).collect();
|
||||
reachable.iter().map(|s| s.to_c_str()).collect();
|
||||
let arr: Vec<*const i8> = cstrs.iter().map(|c| c.as_ptr()).collect();
|
||||
let ptr = arr.as_ptr();
|
||||
unsafe {
|
||||
|
@ -363,7 +363,7 @@ unsafe extern "C" fn diagnostic_handler(info: DiagnosticInfoRef, user: *mut c_vo
|
||||
let pass_name = pass_name.as_str().expect("got a non-UTF8 pass name from LLVM");
|
||||
let enabled = match cgcx.remark {
|
||||
AllPasses => true,
|
||||
SomePasses(ref v) => v.iter().any(|s| s.as_slice() == pass_name),
|
||||
SomePasses(ref v) => v.iter().any(|s| *s == pass_name),
|
||||
};
|
||||
|
||||
if enabled {
|
||||
@ -421,7 +421,7 @@ unsafe fn optimize_and_codegen(cgcx: &CodegenContext,
|
||||
// If we're verifying or linting, add them to the function pass
|
||||
// manager.
|
||||
let addpass = |pass: &str| {
|
||||
pass.as_slice().with_c_str(|s| llvm::LLVMRustAddPass(fpm, s))
|
||||
pass.with_c_str(|s| llvm::LLVMRustAddPass(fpm, s))
|
||||
};
|
||||
if !config.no_verify { assert!(addpass("verify")); }
|
||||
|
||||
@ -433,7 +433,7 @@ unsafe fn optimize_and_codegen(cgcx: &CodegenContext,
|
||||
}
|
||||
|
||||
for pass in config.passes.iter() {
|
||||
pass.as_slice().with_c_str(|s| {
|
||||
pass.with_c_str(|s| {
|
||||
if !llvm::LLVMRustAddPass(mpm, s) {
|
||||
cgcx.handler.warn(format!("unknown pass {}, ignoring",
|
||||
*pass).as_slice());
|
||||
|
@ -163,7 +163,7 @@ impl<'a> FmtStrs<'a> {
|
||||
let values = values.iter().map(|s| {
|
||||
// Never take more than 1020 chars
|
||||
if s.len() > 1020 {
|
||||
s.as_slice().slice_to(1020)
|
||||
s.slice_to(1020)
|
||||
} else {
|
||||
s.as_slice()
|
||||
}
|
||||
|
@ -122,7 +122,7 @@ pub fn trans_inline_asm<'blk, 'tcx>(bcx: Block<'blk, 'tcx>, ia: &ast::InlineAsm)
|
||||
};
|
||||
|
||||
let r = ia.asm.get().with_c_str(|a| {
|
||||
constraints.as_slice().with_c_str(|c| {
|
||||
constraints.with_c_str(|c| {
|
||||
InlineAsmCall(bcx,
|
||||
a,
|
||||
c,
|
||||
|
@ -2739,7 +2739,7 @@ pub fn get_item_val(ccx: &CrateContext, id: ast::NodeId) -> ValueRef {
|
||||
format!("Illegal null byte in export_name \
|
||||
value: `{}`", sym).as_slice());
|
||||
}
|
||||
let g = sym.as_slice().with_c_str(|buf| {
|
||||
let g = sym.with_c_str(|buf| {
|
||||
llvm::LLVMAddGlobal(ccx.llmod(), llty, buf)
|
||||
});
|
||||
|
||||
|
@ -774,7 +774,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
|
||||
let comment_text = format!("{} {}", "#",
|
||||
sanitized.replace("\n", "\n\t# "));
|
||||
self.count_insn("inlineasm");
|
||||
let asm = comment_text.as_slice().with_c_str(|c| {
|
||||
let asm = comment_text.with_c_str(|c| {
|
||||
unsafe {
|
||||
llvm::LLVMConstInlineAsm(Type::func(&[], &Type::void(self.ccx)).to_ref(),
|
||||
c, noname(), False, False)
|
||||
|
@ -222,14 +222,12 @@ unsafe fn create_context_and_module(sess: &Session, mod_name: &str) -> (ContextR
|
||||
sess.target
|
||||
.target
|
||||
.data_layout
|
||||
.as_slice()
|
||||
.with_c_str(|buf| {
|
||||
llvm::LLVMSetDataLayout(llmod, buf);
|
||||
});
|
||||
sess.target
|
||||
.target
|
||||
.llvm_target
|
||||
.as_slice()
|
||||
.with_c_str(|buf| {
|
||||
llvm::LLVMRustSetNormalizedTarget(llmod, buf);
|
||||
});
|
||||
|
@ -824,8 +824,8 @@ pub fn create_global_var_metadata(cx: &CrateContext,
|
||||
namespace_node.mangled_name_of_contained_item(var_name.as_slice());
|
||||
let var_scope = namespace_node.scope;
|
||||
|
||||
var_name.as_slice().with_c_str(|var_name| {
|
||||
linkage_name.as_slice().with_c_str(|linkage_name| {
|
||||
var_name.with_c_str(|var_name| {
|
||||
linkage_name.with_c_str(|linkage_name| {
|
||||
unsafe {
|
||||
llvm::LLVMDIBuilderCreateStaticVariable(DIB(cx),
|
||||
var_scope,
|
||||
@ -1323,7 +1323,7 @@ pub fn create_function_debug_context<'a, 'tcx>(cx: &CrateContext<'a, 'tcx>,
|
||||
let containing_scope = namespace_node.scope;
|
||||
(linkage_name, containing_scope)
|
||||
} else {
|
||||
(function_name.as_slice().to_string(), file_metadata)
|
||||
(function_name.clone(), file_metadata)
|
||||
};
|
||||
|
||||
// Clang sets this parameter to the opening brace of the function's block,
|
||||
@ -1332,8 +1332,8 @@ pub fn create_function_debug_context<'a, 'tcx>(cx: &CrateContext<'a, 'tcx>,
|
||||
|
||||
let is_local_to_unit = is_node_local_to_unit(cx, fn_ast_id);
|
||||
|
||||
let fn_metadata = function_name.as_slice().with_c_str(|function_name| {
|
||||
linkage_name.as_slice().with_c_str(|linkage_name| {
|
||||
let fn_metadata = function_name.with_c_str(|function_name| {
|
||||
linkage_name.with_c_str(|linkage_name| {
|
||||
unsafe {
|
||||
llvm::LLVMDIBuilderCreateFunction(
|
||||
DIB(cx),
|
||||
@ -1554,7 +1554,7 @@ fn compile_unit_metadata(cx: &CrateContext) {
|
||||
path_bytes.insert(1, prefix[1]);
|
||||
}
|
||||
|
||||
path_bytes.as_slice().to_c_str()
|
||||
path_bytes.to_c_str()
|
||||
}
|
||||
_ => fallback_path(cx)
|
||||
}
|
||||
@ -1589,7 +1589,7 @@ fn compile_unit_metadata(cx: &CrateContext) {
|
||||
});
|
||||
|
||||
fn fallback_path(cx: &CrateContext) -> CString {
|
||||
cx.link_meta().crate_name.as_slice().to_c_str()
|
||||
cx.link_meta().crate_name.to_c_str()
|
||||
}
|
||||
}
|
||||
|
||||
@ -1796,7 +1796,7 @@ fn pointer_type_metadata<'a, 'tcx>(cx: &CrateContext<'a, 'tcx>,
|
||||
let pointer_llvm_type = type_of::type_of(cx, pointer_type);
|
||||
let (pointer_size, pointer_align) = size_and_align_of(cx, pointer_llvm_type);
|
||||
let name = compute_debuginfo_type_name(cx, pointer_type, false);
|
||||
let ptr_metadata = name.as_slice().with_c_str(|name| {
|
||||
let ptr_metadata = name.with_c_str(|name| {
|
||||
unsafe {
|
||||
llvm::LLVMDIBuilderCreatePointerType(
|
||||
DIB(cx),
|
||||
@ -2488,8 +2488,8 @@ fn prepare_enum_metadata<'a, 'tcx>(cx: &CrateContext<'a, 'tcx>,
|
||||
.borrow()
|
||||
.get_unique_type_id_as_string(unique_type_id);
|
||||
|
||||
let enum_metadata = enum_name.as_slice().with_c_str(|enum_name| {
|
||||
unique_type_id_str.as_slice().with_c_str(|unique_type_id_str| {
|
||||
let enum_metadata = enum_name.with_c_str(|enum_name| {
|
||||
unique_type_id_str.with_c_str(|unique_type_id_str| {
|
||||
unsafe {
|
||||
llvm::LLVMDIBuilderCreateUnionType(
|
||||
DIB(cx),
|
||||
@ -2616,7 +2616,7 @@ fn set_members_of_composite_type(cx: &CrateContext,
|
||||
ComputedMemberOffset => machine::llelement_offset(cx, composite_llvm_type, i)
|
||||
};
|
||||
|
||||
member_description.name.as_slice().with_c_str(|member_name| {
|
||||
member_description.name.with_c_str(|member_name| {
|
||||
unsafe {
|
||||
llvm::LLVMDIBuilderCreateMemberType(
|
||||
DIB(cx),
|
||||
@ -2656,7 +2656,7 @@ fn create_struct_stub(cx: &CrateContext,
|
||||
.get_unique_type_id_as_string(unique_type_id);
|
||||
let metadata_stub = unsafe {
|
||||
struct_type_name.with_c_str(|name| {
|
||||
unique_type_id_str.as_slice().with_c_str(|unique_type_id| {
|
||||
unique_type_id_str.with_c_str(|unique_type_id| {
|
||||
// LLVMDIBuilderCreateStructType() wants an empty array. A null
|
||||
// pointer will lead to hard to trace and debug LLVM assertions
|
||||
// later on in llvm/lib/IR/Value.cpp.
|
||||
|
@ -496,7 +496,7 @@ pub fn declare_tydesc<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, t: Ty<'tcx>)
|
||||
let llalign = llalign_of(ccx, llty);
|
||||
let name = mangle_internal_name_by_type_and_seq(ccx, t, "tydesc");
|
||||
debug!("+++ declare_tydesc {} {}", ppaux::ty_to_string(ccx.tcx(), t), name);
|
||||
let gvar = name.as_slice().with_c_str(|buf| {
|
||||
let gvar = name.with_c_str(|buf| {
|
||||
unsafe {
|
||||
llvm::LLVMAddGlobal(ccx.llmod(), ccx.tydesc_type().to_ref(), buf)
|
||||
}
|
||||
|
@ -341,10 +341,10 @@ fn build_impl(cx: &DocContext, tcx: &ty::ctxt,
|
||||
|
||||
fn is_doc_hidden(a: &clean::Attribute) -> bool {
|
||||
match *a {
|
||||
clean::List(ref name, ref inner) if name.as_slice() == "doc" => {
|
||||
clean::List(ref name, ref inner) if *name == "doc" => {
|
||||
inner.iter().any(|a| {
|
||||
match *a {
|
||||
clean::Word(ref s) => s.as_slice() == "hidden",
|
||||
clean::Word(ref s) => *s == "hidden",
|
||||
_ => false,
|
||||
}
|
||||
})
|
||||
|
@ -256,7 +256,7 @@ impl Item {
|
||||
pub fn doc_list<'a>(&'a self) -> Option<&'a [Attribute]> {
|
||||
for attr in self.attrs.iter() {
|
||||
match *attr {
|
||||
List(ref x, ref list) if "doc" == x.as_slice() => {
|
||||
List(ref x, ref list) if "doc" == *x => {
|
||||
return Some(list.as_slice());
|
||||
}
|
||||
_ => {}
|
||||
@ -270,7 +270,7 @@ impl Item {
|
||||
pub fn doc_value<'a>(&'a self) -> Option<&'a str> {
|
||||
for attr in self.attrs.iter() {
|
||||
match *attr {
|
||||
NameValue(ref x, ref v) if "doc" == x.as_slice() => {
|
||||
NameValue(ref x, ref v) if "doc" == *x => {
|
||||
return Some(v.as_slice());
|
||||
}
|
||||
_ => {}
|
||||
@ -284,7 +284,7 @@ impl Item {
|
||||
Some(ref l) => {
|
||||
for innerattr in l.iter() {
|
||||
match *innerattr {
|
||||
Word(ref s) if "hidden" == s.as_slice() => {
|
||||
Word(ref s) if "hidden" == *s => {
|
||||
return true
|
||||
}
|
||||
_ => (),
|
||||
@ -1217,13 +1217,13 @@ impl PrimitiveType {
|
||||
fn find(attrs: &[Attribute]) -> Option<PrimitiveType> {
|
||||
for attr in attrs.iter() {
|
||||
let list = match *attr {
|
||||
List(ref k, ref l) if k.as_slice() == "doc" => l,
|
||||
List(ref k, ref l) if *k == "doc" => l,
|
||||
_ => continue,
|
||||
};
|
||||
for sub_attr in list.iter() {
|
||||
let value = match *sub_attr {
|
||||
NameValue(ref k, ref v)
|
||||
if k.as_slice() == "primitive" => v.as_slice(),
|
||||
if *k == "primitive" => v.as_slice(),
|
||||
_ => continue,
|
||||
};
|
||||
match PrimitiveType::from_str(value) {
|
||||
|
@ -251,8 +251,8 @@ fn path(w: &mut fmt::Formatter, path: &clean::Path, print_all: bool,
|
||||
Some(root) => {
|
||||
let mut root = String::from_str(root.as_slice());
|
||||
for seg in path.segments[..amt].iter() {
|
||||
if "super" == seg.name.as_slice() ||
|
||||
"self" == seg.name.as_slice() {
|
||||
if "super" == seg.name ||
|
||||
"self" == seg.name {
|
||||
try!(write!(w, "{}::", seg.name));
|
||||
} else {
|
||||
root.push_str(seg.name.as_slice());
|
||||
@ -337,7 +337,7 @@ fn primitive_link(f: &mut fmt::Formatter,
|
||||
Some(root) => {
|
||||
try!(write!(f, "<a href='{}{}/primitive.{}.html'>",
|
||||
root,
|
||||
path.ref0().as_slice().head().unwrap(),
|
||||
path.ref0().head().unwrap(),
|
||||
prim.to_url_str()));
|
||||
needs_termination = true;
|
||||
}
|
||||
|
@ -231,7 +231,7 @@ pub fn render(w: &mut fmt::Formatter, s: &str, print_toc: bool) -> fmt::Result {
|
||||
};
|
||||
|
||||
// Transform the contents of the header into a hyphenated string
|
||||
let id = s.as_slice().words().map(|s| s.to_ascii_lower())
|
||||
let id = s.words().map(|s| s.to_ascii_lower())
|
||||
.collect::<Vec<String>>().connect("-");
|
||||
|
||||
// This is a terrible hack working around how hoedown gives us rendered
|
||||
@ -393,7 +393,7 @@ impl LangString {
|
||||
let mut seen_other_tags = false;
|
||||
let mut data = LangString::all_false();
|
||||
|
||||
let mut tokens = string.as_slice().split(|c: char|
|
||||
let mut tokens = string.split(|c: char|
|
||||
!(c == '_' || c == '-' || c.is_alphanumeric())
|
||||
);
|
||||
|
||||
|
@ -277,15 +277,15 @@ pub fn run(mut krate: clean::Crate,
|
||||
for attr in attrs.iter() {
|
||||
match *attr {
|
||||
clean::NameValue(ref x, ref s)
|
||||
if "html_favicon_url" == x.as_slice() => {
|
||||
if "html_favicon_url" == *x => {
|
||||
cx.layout.favicon = s.to_string();
|
||||
}
|
||||
clean::NameValue(ref x, ref s)
|
||||
if "html_logo_url" == x.as_slice() => {
|
||||
if "html_logo_url" == *x => {
|
||||
cx.layout.logo = s.to_string();
|
||||
}
|
||||
clean::NameValue(ref x, ref s)
|
||||
if "html_playground_url" == x.as_slice() => {
|
||||
if "html_playground_url" == *x => {
|
||||
cx.layout.playground_url = s.to_string();
|
||||
markdown::PLAYGROUND_KRATE.with(|slot| {
|
||||
if slot.borrow().is_none() {
|
||||
@ -295,7 +295,7 @@ pub fn run(mut krate: clean::Crate,
|
||||
});
|
||||
}
|
||||
clean::Word(ref x)
|
||||
if "html_no_source" == x.as_slice() => {
|
||||
if "html_no_source" == *x => {
|
||||
cx.include_sources = false;
|
||||
}
|
||||
_ => {}
|
||||
@ -434,7 +434,7 @@ fn build_index(krate: &clean::Crate, cache: &mut Cache) -> io::IoResult<String>
|
||||
for (i, item) in cache.search_index.iter().enumerate() {
|
||||
// Omit the path if it is same to that of the prior item.
|
||||
let path;
|
||||
if lastpath.as_slice() == item.path.as_slice() {
|
||||
if lastpath == item.path {
|
||||
path = "";
|
||||
} else {
|
||||
lastpath = item.path.to_string();
|
||||
@ -513,10 +513,10 @@ fn write_shared(cx: &Context,
|
||||
if path.exists() {
|
||||
for line in BufferedReader::new(File::open(path)).lines() {
|
||||
let line = try!(line);
|
||||
if !line.as_slice().starts_with(key) {
|
||||
if !line.starts_with(key) {
|
||||
continue
|
||||
}
|
||||
if line.as_slice().starts_with(
|
||||
if line.starts_with(
|
||||
format!("{}['{}']", key, krate).as_slice()) {
|
||||
continue
|
||||
}
|
||||
@ -670,12 +670,12 @@ fn extern_location(e: &clean::ExternalCrate, dst: &Path) -> ExternalLocation {
|
||||
// external crate
|
||||
for attr in e.attrs.iter() {
|
||||
match *attr {
|
||||
clean::List(ref x, ref list) if "doc" == x.as_slice() => {
|
||||
clean::List(ref x, ref list) if "doc" == *x => {
|
||||
for attr in list.iter() {
|
||||
match *attr {
|
||||
clean::NameValue(ref x, ref s)
|
||||
if "html_root_url" == x.as_slice() => {
|
||||
if s.as_slice().ends_with("/") {
|
||||
if "html_root_url" == *x => {
|
||||
if s.ends_with("/") {
|
||||
return Remote(s.to_string());
|
||||
}
|
||||
return Remote(format!("{}/", s));
|
||||
@ -964,7 +964,7 @@ impl DocFolder for Cache {
|
||||
let dox = match attrs.into_iter().find(|a| {
|
||||
match *a {
|
||||
clean::NameValue(ref x, _)
|
||||
if "doc" == x.as_slice() => {
|
||||
if "doc" == *x => {
|
||||
true
|
||||
}
|
||||
_ => false
|
||||
@ -1261,7 +1261,7 @@ impl Context {
|
||||
}
|
||||
|
||||
for (_, items) in map.iter_mut() {
|
||||
items.as_mut_slice().sort();
|
||||
items.sort();
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
@ -299,7 +299,7 @@ fn acquire_input(input: &str,
|
||||
fn parse_externs(matches: &getopts::Matches) -> Result<core::Externs, String> {
|
||||
let mut externs = HashMap::new();
|
||||
for arg in matches.opt_strs("extern").iter() {
|
||||
let mut parts = arg.as_slice().splitn(1, '=');
|
||||
let mut parts = arg.splitn(1, '=');
|
||||
let name = match parts.next() {
|
||||
Some(s) => s,
|
||||
None => {
|
||||
@ -363,18 +363,18 @@ fn rust_input(cratefile: &str, externs: core::Externs, matches: &getopts::Matche
|
||||
for inner in nested.iter() {
|
||||
match *inner {
|
||||
clean::Word(ref x)
|
||||
if "no_default_passes" == x.as_slice() => {
|
||||
if "no_default_passes" == *x => {
|
||||
default_passes = false;
|
||||
}
|
||||
clean::NameValue(ref x, ref value)
|
||||
if "passes" == x.as_slice() => {
|
||||
for pass in value.as_slice().words() {
|
||||
if "passes" == *x => {
|
||||
for pass in value.words() {
|
||||
passes.push(pass.to_string());
|
||||
}
|
||||
}
|
||||
clean::NameValue(ref x, ref value)
|
||||
if "plugins" == x.as_slice() => {
|
||||
for p in value.as_slice().words() {
|
||||
if "plugins" == *x => {
|
||||
for p in value.words() {
|
||||
plugins.push(p.to_string());
|
||||
}
|
||||
}
|
||||
@ -397,7 +397,7 @@ fn rust_input(cratefile: &str, externs: core::Externs, matches: &getopts::Matche
|
||||
for pass in passes.iter() {
|
||||
let plugin = match PASSES.iter()
|
||||
.position(|&(p, _, _)| {
|
||||
p == pass.as_slice()
|
||||
p == *pass
|
||||
}) {
|
||||
Some(i) => PASSES[i].val1(),
|
||||
None => {
|
||||
@ -434,7 +434,7 @@ fn json_input(input: &str) -> Result<Output, String> {
|
||||
// Make sure the schema is what we expect
|
||||
match obj.remove(&"schema".to_string()) {
|
||||
Some(Json::String(version)) => {
|
||||
if version.as_slice() != SCHEMA_VERSION {
|
||||
if version != SCHEMA_VERSION {
|
||||
return Err(format!(
|
||||
"sorry, but I only understand version {}",
|
||||
SCHEMA_VERSION))
|
||||
|
@ -258,7 +258,7 @@ pub fn unindent_comments(krate: clean::Crate) -> plugins::PluginResult {
|
||||
for attr in i.attrs.iter() {
|
||||
match attr {
|
||||
&clean::NameValue(ref x, ref s)
|
||||
if "doc" == x.as_slice() => {
|
||||
if "doc" == *x => {
|
||||
avec.push(clean::NameValue("doc".to_string(),
|
||||
unindent(s.as_slice())))
|
||||
}
|
||||
@ -283,7 +283,7 @@ pub fn collapse_docs(krate: clean::Crate) -> plugins::PluginResult {
|
||||
for attr in i.attrs.iter() {
|
||||
match *attr {
|
||||
clean::NameValue(ref x, ref s)
|
||||
if "doc" == x.as_slice() => {
|
||||
if "doc" == *x => {
|
||||
docstr.push_str(s.as_slice());
|
||||
docstr.push('\n');
|
||||
},
|
||||
@ -291,7 +291,7 @@ pub fn collapse_docs(krate: clean::Crate) -> plugins::PluginResult {
|
||||
}
|
||||
}
|
||||
let mut a: Vec<clean::Attribute> = i.attrs.iter().filter(|&a| match a {
|
||||
&clean::NameValue(ref x, _) if "doc" == x.as_slice() => false,
|
||||
&clean::NameValue(ref x, _) if "doc" == *x => false,
|
||||
_ => true
|
||||
}).map(|x| x.clone()).collect();
|
||||
if docstr.len() > 0 {
|
||||
@ -374,14 +374,14 @@ mod unindent_tests {
|
||||
fn should_unindent() {
|
||||
let s = " line1\n line2".to_string();
|
||||
let r = unindent(s.as_slice());
|
||||
assert_eq!(r.as_slice(), "line1\nline2");
|
||||
assert_eq!(r, "line1\nline2");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn should_unindent_multiple_paragraphs() {
|
||||
let s = " line1\n\n line2".to_string();
|
||||
let r = unindent(s.as_slice());
|
||||
assert_eq!(r.as_slice(), "line1\n\nline2");
|
||||
assert_eq!(r, "line1\n\nline2");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -390,7 +390,7 @@ mod unindent_tests {
|
||||
// base indentation and should be preserved
|
||||
let s = " line1\n\n line2".to_string();
|
||||
let r = unindent(s.as_slice());
|
||||
assert_eq!(r.as_slice(), "line1\n\n line2");
|
||||
assert_eq!(r, "line1\n\n line2");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -402,13 +402,13 @@ mod unindent_tests {
|
||||
// and continue here"]
|
||||
let s = "line1\n line2".to_string();
|
||||
let r = unindent(s.as_slice());
|
||||
assert_eq!(r.as_slice(), "line1\nline2");
|
||||
assert_eq!(r, "line1\nline2");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn should_not_ignore_first_line_indent_in_a_single_line_para() {
|
||||
let s = "line1\n\n line2".to_string();
|
||||
let r = unindent(s.as_slice());
|
||||
assert_eq!(r.as_slice(), "line1\n\n line2");
|
||||
assert_eq!(r, "line1\n\n line2");
|
||||
}
|
||||
}
|
||||
|
@ -286,59 +286,58 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_to_base64_basic() {
|
||||
assert_eq!("".as_bytes().to_base64(STANDARD), "".to_string());
|
||||
assert_eq!("f".as_bytes().to_base64(STANDARD), "Zg==".to_string());
|
||||
assert_eq!("fo".as_bytes().to_base64(STANDARD), "Zm8=".to_string());
|
||||
assert_eq!("foo".as_bytes().to_base64(STANDARD), "Zm9v".to_string());
|
||||
assert_eq!("foob".as_bytes().to_base64(STANDARD), "Zm9vYg==".to_string());
|
||||
assert_eq!("fooba".as_bytes().to_base64(STANDARD), "Zm9vYmE=".to_string());
|
||||
assert_eq!("foobar".as_bytes().to_base64(STANDARD), "Zm9vYmFy".to_string());
|
||||
assert_eq!("".as_bytes().to_base64(STANDARD), "");
|
||||
assert_eq!("f".as_bytes().to_base64(STANDARD), "Zg==");
|
||||
assert_eq!("fo".as_bytes().to_base64(STANDARD), "Zm8=");
|
||||
assert_eq!("foo".as_bytes().to_base64(STANDARD), "Zm9v");
|
||||
assert_eq!("foob".as_bytes().to_base64(STANDARD), "Zm9vYg==");
|
||||
assert_eq!("fooba".as_bytes().to_base64(STANDARD), "Zm9vYmE=");
|
||||
assert_eq!("foobar".as_bytes().to_base64(STANDARD), "Zm9vYmFy");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_to_base64_line_break() {
|
||||
assert!(![0u8, ..1000].to_base64(Config {line_length: None, ..STANDARD})
|
||||
.as_slice()
|
||||
.contains("\r\n"));
|
||||
assert_eq!("foobar".as_bytes().to_base64(Config {line_length: Some(4),
|
||||
..STANDARD}),
|
||||
"Zm9v\r\nYmFy".to_string());
|
||||
"Zm9v\r\nYmFy");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_to_base64_padding() {
|
||||
assert_eq!("f".as_bytes().to_base64(Config {pad: false, ..STANDARD}), "Zg".to_string());
|
||||
assert_eq!("fo".as_bytes().to_base64(Config {pad: false, ..STANDARD}), "Zm8".to_string());
|
||||
assert_eq!("f".as_bytes().to_base64(Config {pad: false, ..STANDARD}), "Zg");
|
||||
assert_eq!("fo".as_bytes().to_base64(Config {pad: false, ..STANDARD}), "Zm8");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_to_base64_url_safe() {
|
||||
assert_eq!([251, 255].to_base64(URL_SAFE), "-_8".to_string());
|
||||
assert_eq!([251, 255].to_base64(STANDARD), "+/8=".to_string());
|
||||
assert_eq!([251, 255].to_base64(URL_SAFE), "-_8");
|
||||
assert_eq!([251, 255].to_base64(STANDARD), "+/8=");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_from_base64_basic() {
|
||||
assert_eq!("".from_base64().unwrap().as_slice(), "".as_bytes());
|
||||
assert_eq!("Zg==".from_base64().unwrap().as_slice(), "f".as_bytes());
|
||||
assert_eq!("Zm8=".from_base64().unwrap().as_slice(), "fo".as_bytes());
|
||||
assert_eq!("Zm9v".from_base64().unwrap().as_slice(), "foo".as_bytes());
|
||||
assert_eq!("Zm9vYg==".from_base64().unwrap().as_slice(), "foob".as_bytes());
|
||||
assert_eq!("Zm9vYmE=".from_base64().unwrap().as_slice(), "fooba".as_bytes());
|
||||
assert_eq!("Zm9vYmFy".from_base64().unwrap().as_slice(), "foobar".as_bytes());
|
||||
assert_eq!("".from_base64().unwrap(), b"");
|
||||
assert_eq!("Zg==".from_base64().unwrap(), b"f");
|
||||
assert_eq!("Zm8=".from_base64().unwrap(), b"fo");
|
||||
assert_eq!("Zm9v".from_base64().unwrap(), b"foo");
|
||||
assert_eq!("Zm9vYg==".from_base64().unwrap(), b"foob");
|
||||
assert_eq!("Zm9vYmE=".from_base64().unwrap(), b"fooba");
|
||||
assert_eq!("Zm9vYmFy".from_base64().unwrap(), b"foobar");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_from_base64_bytes() {
|
||||
assert_eq!(b"Zm9vYmFy".from_base64().unwrap().as_slice(), "foobar".as_bytes());
|
||||
assert_eq!(b"Zm9vYmFy".from_base64().unwrap(), b"foobar");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_from_base64_newlines() {
|
||||
assert_eq!("Zm9v\r\nYmFy".from_base64().unwrap().as_slice(),
|
||||
"foobar".as_bytes());
|
||||
assert_eq!("Zm9vYg==\r\n".from_base64().unwrap().as_slice(),
|
||||
"foob".as_bytes());
|
||||
assert_eq!("Zm9v\r\nYmFy".from_base64().unwrap(),
|
||||
b"foobar");
|
||||
assert_eq!("Zm9vYg==\r\n".from_base64().unwrap(),
|
||||
b"foob");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -364,13 +363,10 @@ mod tests {
|
||||
for _ in range(0u, 1000) {
|
||||
let times = task_rng().gen_range(1u, 100);
|
||||
let v = Vec::from_fn(times, |_| random::<u8>());
|
||||
assert_eq!(v.as_slice()
|
||||
.to_base64(STANDARD)
|
||||
.as_slice()
|
||||
assert_eq!(v.to_base64(STANDARD)
|
||||
.from_base64()
|
||||
.unwrap()
|
||||
.as_slice(),
|
||||
v.as_slice());
|
||||
.unwrap(),
|
||||
v);
|
||||
}
|
||||
}
|
||||
|
||||
@ -390,7 +386,7 @@ mod tests {
|
||||
ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン";
|
||||
let sb = s.as_bytes().to_base64(STANDARD);
|
||||
b.iter(|| {
|
||||
sb.as_slice().from_base64().unwrap();
|
||||
sb.from_base64().unwrap();
|
||||
});
|
||||
b.bytes = sb.len() as u64;
|
||||
}
|
||||
|
@ -158,15 +158,15 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
pub fn test_to_hex() {
|
||||
assert_eq!("foobar".as_bytes().to_hex(), "666f6f626172".to_string());
|
||||
assert_eq!("foobar".as_bytes().to_hex(), "666f6f626172");
|
||||
}
|
||||
|
||||
#[test]
|
||||
pub fn test_from_hex_okay() {
|
||||
assert_eq!("666f6f626172".from_hex().unwrap().as_slice(),
|
||||
"foobar".as_bytes());
|
||||
assert_eq!("666F6F626172".from_hex().unwrap().as_slice(),
|
||||
"foobar".as_bytes());
|
||||
assert_eq!("666f6f626172".from_hex().unwrap(),
|
||||
b"foobar");
|
||||
assert_eq!("666F6F626172".from_hex().unwrap(),
|
||||
b"foobar");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -182,8 +182,8 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
pub fn test_from_hex_ignores_whitespace() {
|
||||
assert_eq!("666f 6f6\r\n26172 ".from_hex().unwrap().as_slice(),
|
||||
"foobar".as_bytes());
|
||||
assert_eq!("666f 6f6\r\n26172 ".from_hex().unwrap(),
|
||||
b"foobar");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -197,15 +197,11 @@ mod tests {
|
||||
pub fn test_from_hex_all_bytes() {
|
||||
for i in range(0u, 256) {
|
||||
let ii: &[u8] = &[i as u8];
|
||||
assert_eq!(format!("{:02x}", i as uint).as_slice()
|
||||
.from_hex()
|
||||
.unwrap()
|
||||
.as_slice(),
|
||||
assert_eq!(format!("{:02x}", i as uint).from_hex()
|
||||
.unwrap(),
|
||||
ii);
|
||||
assert_eq!(format!("{:02X}", i as uint).as_slice()
|
||||
.from_hex()
|
||||
.unwrap()
|
||||
.as_slice(),
|
||||
assert_eq!(format!("{:02X}", i as uint).from_hex()
|
||||
.unwrap(),
|
||||
ii);
|
||||
}
|
||||
}
|
||||
@ -226,7 +222,7 @@ mod tests {
|
||||
ウヰノオクヤマ ケフコエテ アサキユメミシ ヱヒモセスン";
|
||||
let sb = s.as_bytes().to_hex();
|
||||
b.iter(|| {
|
||||
sb.as_slice().from_hex().unwrap();
|
||||
sb.from_hex().unwrap();
|
||||
});
|
||||
b.bytes = sb.len() as u64;
|
||||
}
|
||||
|
@ -2039,7 +2039,7 @@ impl ::Decoder<DecoderError> for Decoder {
|
||||
fn read_char(&mut self) -> DecodeResult<char> {
|
||||
let s = try!(self.read_str());
|
||||
{
|
||||
let mut it = s.as_slice().chars();
|
||||
let mut it = s.chars();
|
||||
match (it.next(), it.next()) {
|
||||
// exactly one character
|
||||
(Some(c), None) => return Ok(c),
|
||||
@ -2486,76 +2486,76 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_write_null() {
|
||||
assert_eq!(Null.to_string().into_string(), "null".to_string());
|
||||
assert_eq!(Null.to_pretty_str().into_string(), "null".to_string());
|
||||
assert_eq!(Null.to_string().into_string(), "null");
|
||||
assert_eq!(Null.to_pretty_str().into_string(), "null");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_write_i64() {
|
||||
assert_eq!(U64(0).to_string().into_string(), "0".to_string());
|
||||
assert_eq!(U64(0).to_pretty_str().into_string(), "0".to_string());
|
||||
assert_eq!(U64(0).to_string().into_string(), "0");
|
||||
assert_eq!(U64(0).to_pretty_str().into_string(), "0");
|
||||
|
||||
assert_eq!(U64(1234).to_string().into_string(), "1234".to_string());
|
||||
assert_eq!(U64(1234).to_pretty_str().into_string(), "1234".to_string());
|
||||
assert_eq!(U64(1234).to_string().into_string(), "1234");
|
||||
assert_eq!(U64(1234).to_pretty_str().into_string(), "1234");
|
||||
|
||||
assert_eq!(I64(-5678).to_string().into_string(), "-5678".to_string());
|
||||
assert_eq!(I64(-5678).to_pretty_str().into_string(), "-5678".to_string());
|
||||
assert_eq!(I64(-5678).to_string().into_string(), "-5678");
|
||||
assert_eq!(I64(-5678).to_pretty_str().into_string(), "-5678");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_write_f64() {
|
||||
assert_eq!(F64(3.0).to_string().into_string(), "3".to_string());
|
||||
assert_eq!(F64(3.0).to_pretty_str().into_string(), "3".to_string());
|
||||
assert_eq!(F64(3.0).to_string().into_string(), "3");
|
||||
assert_eq!(F64(3.0).to_pretty_str().into_string(), "3");
|
||||
|
||||
assert_eq!(F64(3.1).to_string().into_string(), "3.1".to_string());
|
||||
assert_eq!(F64(3.1).to_pretty_str().into_string(), "3.1".to_string());
|
||||
assert_eq!(F64(3.1).to_string().into_string(), "3.1");
|
||||
assert_eq!(F64(3.1).to_pretty_str().into_string(), "3.1");
|
||||
|
||||
assert_eq!(F64(-1.5).to_string().into_string(), "-1.5".to_string());
|
||||
assert_eq!(F64(-1.5).to_pretty_str().into_string(), "-1.5".to_string());
|
||||
assert_eq!(F64(-1.5).to_string().into_string(), "-1.5");
|
||||
assert_eq!(F64(-1.5).to_pretty_str().into_string(), "-1.5");
|
||||
|
||||
assert_eq!(F64(0.5).to_string().into_string(), "0.5".to_string());
|
||||
assert_eq!(F64(0.5).to_pretty_str().into_string(), "0.5".to_string());
|
||||
assert_eq!(F64(0.5).to_string().into_string(), "0.5");
|
||||
assert_eq!(F64(0.5).to_pretty_str().into_string(), "0.5");
|
||||
|
||||
assert_eq!(F64(f64::NAN).to_string().into_string(), "null".to_string());
|
||||
assert_eq!(F64(f64::NAN).to_pretty_str().into_string(), "null".to_string());
|
||||
assert_eq!(F64(f64::NAN).to_string().into_string(), "null");
|
||||
assert_eq!(F64(f64::NAN).to_pretty_str().into_string(), "null");
|
||||
|
||||
assert_eq!(F64(f64::INFINITY).to_string().into_string(), "null".to_string());
|
||||
assert_eq!(F64(f64::INFINITY).to_pretty_str().into_string(), "null".to_string());
|
||||
assert_eq!(F64(f64::INFINITY).to_string().into_string(), "null");
|
||||
assert_eq!(F64(f64::INFINITY).to_pretty_str().into_string(), "null");
|
||||
|
||||
assert_eq!(F64(f64::NEG_INFINITY).to_string().into_string(), "null".to_string());
|
||||
assert_eq!(F64(f64::NEG_INFINITY).to_pretty_str().into_string(), "null".to_string());
|
||||
assert_eq!(F64(f64::NEG_INFINITY).to_string().into_string(), "null");
|
||||
assert_eq!(F64(f64::NEG_INFINITY).to_pretty_str().into_string(), "null");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_write_str() {
|
||||
assert_eq!(String("".to_string()).to_string().into_string(), "\"\"".to_string());
|
||||
assert_eq!(String("".to_string()).to_pretty_str().into_string(), "\"\"".to_string());
|
||||
assert_eq!(String("".to_string()).to_string().into_string(), "\"\"");
|
||||
assert_eq!(String("".to_string()).to_pretty_str().into_string(), "\"\"");
|
||||
|
||||
assert_eq!(String("foo".to_string()).to_string().into_string(), "\"foo\"".to_string());
|
||||
assert_eq!(String("foo".to_string()).to_pretty_str().into_string(), "\"foo\"".to_string());
|
||||
assert_eq!(String("foo".to_string()).to_string().into_string(), "\"foo\"");
|
||||
assert_eq!(String("foo".to_string()).to_pretty_str().into_string(), "\"foo\"");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_write_bool() {
|
||||
assert_eq!(Boolean(true).to_string().into_string(), "true".to_string());
|
||||
assert_eq!(Boolean(true).to_pretty_str().into_string(), "true".to_string());
|
||||
assert_eq!(Boolean(true).to_string().into_string(), "true");
|
||||
assert_eq!(Boolean(true).to_pretty_str().into_string(), "true");
|
||||
|
||||
assert_eq!(Boolean(false).to_string().into_string(), "false".to_string());
|
||||
assert_eq!(Boolean(false).to_pretty_str().into_string(), "false".to_string());
|
||||
assert_eq!(Boolean(false).to_string().into_string(), "false");
|
||||
assert_eq!(Boolean(false).to_pretty_str().into_string(), "false");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_write_array() {
|
||||
assert_eq!(Array(vec![]).to_string().into_string(), "[]".to_string());
|
||||
assert_eq!(Array(vec![]).to_pretty_str().into_string(), "[]".to_string());
|
||||
assert_eq!(Array(vec![]).to_string().into_string(), "[]");
|
||||
assert_eq!(Array(vec![]).to_pretty_str().into_string(), "[]");
|
||||
|
||||
assert_eq!(Array(vec![Boolean(true)]).to_string().into_string(), "[true]".to_string());
|
||||
assert_eq!(Array(vec![Boolean(true)]).to_string().into_string(), "[true]");
|
||||
assert_eq!(
|
||||
Array(vec![Boolean(true)]).to_pretty_str().into_string(),
|
||||
"\
|
||||
[\n \
|
||||
true\n\
|
||||
]".to_string()
|
||||
]"
|
||||
);
|
||||
|
||||
let long_test_array = Array(vec![
|
||||
@ -2564,7 +2564,7 @@ mod tests {
|
||||
Array(vec![String("foo\nbar".to_string()), F64(3.5)])]);
|
||||
|
||||
assert_eq!(long_test_array.to_string().into_string(),
|
||||
"[false,null,[\"foo\\nbar\",3.5]]".to_string());
|
||||
"[false,null,[\"foo\\nbar\",3.5]]");
|
||||
assert_eq!(
|
||||
long_test_array.to_pretty_str().into_string(),
|
||||
"\
|
||||
@ -2575,27 +2575,27 @@ mod tests {
|
||||
\"foo\\nbar\",\n \
|
||||
3.5\n \
|
||||
]\n\
|
||||
]".to_string()
|
||||
]"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_write_object() {
|
||||
assert_eq!(mk_object(&[]).to_string().into_string(), "{}".to_string());
|
||||
assert_eq!(mk_object(&[]).to_pretty_str().into_string(), "{}".to_string());
|
||||
assert_eq!(mk_object(&[]).to_string().into_string(), "{}");
|
||||
assert_eq!(mk_object(&[]).to_pretty_str().into_string(), "{}");
|
||||
|
||||
assert_eq!(
|
||||
mk_object(&[
|
||||
("a".to_string(), Boolean(true))
|
||||
]).to_string().into_string(),
|
||||
"{\"a\":true}".to_string()
|
||||
"{\"a\":true}"
|
||||
);
|
||||
assert_eq!(
|
||||
mk_object(&[("a".to_string(), Boolean(true))]).to_pretty_str(),
|
||||
"\
|
||||
{\n \
|
||||
\"a\": true\n\
|
||||
}".to_string()
|
||||
}"
|
||||
);
|
||||
|
||||
let complex_obj = mk_object(&[
|
||||
@ -2612,7 +2612,7 @@ mod tests {
|
||||
{\"c\":\"\\f\\r\"},\
|
||||
{\"d\":\"\"}\
|
||||
]\
|
||||
}".to_string()
|
||||
}"
|
||||
);
|
||||
assert_eq!(
|
||||
complex_obj.to_pretty_str().into_string(),
|
||||
@ -2626,7 +2626,7 @@ mod tests {
|
||||
\"d\": \"\"\n \
|
||||
}\n \
|
||||
]\n\
|
||||
}".to_string()
|
||||
}"
|
||||
);
|
||||
|
||||
let a = mk_object(&[
|
||||
@ -2660,14 +2660,14 @@ mod tests {
|
||||
let mut encoder = Encoder::new(writer);
|
||||
animal.encode(&mut encoder).unwrap();
|
||||
}),
|
||||
"\"Dog\"".to_string()
|
||||
"\"Dog\""
|
||||
);
|
||||
assert_eq!(
|
||||
with_str_writer(|writer| {
|
||||
let mut encoder = PrettyEncoder::new(writer);
|
||||
animal.encode(&mut encoder).unwrap();
|
||||
}),
|
||||
"\"Dog\"".to_string()
|
||||
"\"Dog\""
|
||||
);
|
||||
|
||||
let animal = Frog("Henry".to_string(), 349);
|
||||
@ -2676,7 +2676,7 @@ mod tests {
|
||||
let mut encoder = Encoder::new(writer);
|
||||
animal.encode(&mut encoder).unwrap();
|
||||
}),
|
||||
"{\"variant\":\"Frog\",\"fields\":[\"Henry\",349]}".to_string()
|
||||
"{\"variant\":\"Frog\",\"fields\":[\"Henry\",349]}"
|
||||
);
|
||||
assert_eq!(
|
||||
with_str_writer(|writer| {
|
||||
@ -2689,7 +2689,7 @@ mod tests {
|
||||
\"Henry\",\n \
|
||||
349\n \
|
||||
]\n\
|
||||
}".to_string()
|
||||
}"
|
||||
);
|
||||
}
|
||||
|
||||
@ -2700,14 +2700,14 @@ mod tests {
|
||||
let mut encoder = Encoder::new(writer);
|
||||
value.encode(&mut encoder).unwrap();
|
||||
});
|
||||
assert_eq!(s, "\"jodhpurs\"".to_string());
|
||||
assert_eq!(s, "\"jodhpurs\"");
|
||||
|
||||
let value = Some("jodhpurs".to_string());
|
||||
let s = with_str_writer(|writer| {
|
||||
let mut encoder = PrettyEncoder::new(writer);
|
||||
value.encode(&mut encoder).unwrap();
|
||||
});
|
||||
assert_eq!(s, "\"jodhpurs\"".to_string());
|
||||
assert_eq!(s, "\"jodhpurs\"");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -2717,13 +2717,13 @@ mod tests {
|
||||
let mut encoder = Encoder::new(writer);
|
||||
value.encode(&mut encoder).unwrap();
|
||||
});
|
||||
assert_eq!(s, "null".to_string());
|
||||
assert_eq!(s, "null");
|
||||
|
||||
let s = with_str_writer(|writer| {
|
||||
let mut encoder = Encoder::new(writer);
|
||||
value.encode(&mut encoder).unwrap();
|
||||
});
|
||||
assert_eq!(s, "null".to_string());
|
||||
assert_eq!(s, "null");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -2860,7 +2860,7 @@ mod tests {
|
||||
|
||||
for &(i, o) in s.iter() {
|
||||
let v: string::String = super::decode(i).unwrap();
|
||||
assert_eq!(v.as_slice(), o);
|
||||
assert_eq!(v, o);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3778,7 +3778,7 @@ mod tests {
|
||||
fn bench_streaming_large(b: &mut Bencher) {
|
||||
let src = big_json();
|
||||
b.iter( || {
|
||||
let mut parser = Parser::new(src.as_slice().chars());
|
||||
let mut parser = Parser::new(src.chars());
|
||||
loop {
|
||||
match parser.next() {
|
||||
None => return,
|
||||
|
@ -678,16 +678,16 @@ mod tests {
|
||||
assert_eq!(test.to_ascii(), b);
|
||||
assert_eq!("( ;".to_ascii(), b);
|
||||
let v = vec![40u8, 32u8, 59u8];
|
||||
assert_eq!(v.as_slice().to_ascii(), b);
|
||||
assert_eq!("( ;".to_string().as_slice().to_ascii(), b);
|
||||
assert_eq!(v.to_ascii(), b);
|
||||
assert_eq!("( ;".to_string().to_ascii(), b);
|
||||
|
||||
assert_eq!("abCDef&?#".to_ascii().to_lowercase().into_string(), "abcdef&?#".to_string());
|
||||
assert_eq!("abCDef&?#".to_ascii().to_uppercase().into_string(), "ABCDEF&?#".to_string());
|
||||
assert_eq!("abCDef&?#".to_ascii().to_lowercase().into_string(), "abcdef&?#");
|
||||
assert_eq!("abCDef&?#".to_ascii().to_uppercase().into_string(), "ABCDEF&?#");
|
||||
|
||||
assert_eq!("".to_ascii().to_lowercase().into_string(), "".to_string());
|
||||
assert_eq!("YMCA".to_ascii().to_lowercase().into_string(), "ymca".to_string());
|
||||
assert_eq!("".to_ascii().to_lowercase().into_string(), "");
|
||||
assert_eq!("YMCA".to_ascii().to_lowercase().into_string(), "ymca");
|
||||
let mixed = "abcDEFxyz:.;".to_ascii();
|
||||
assert_eq!(mixed.to_uppercase().into_string(), "ABCDEFXYZ:.;".to_string());
|
||||
assert_eq!(mixed.to_uppercase().into_string(), "ABCDEFXYZ:.;");
|
||||
|
||||
assert!("aBcDeF&?#".to_ascii().eq_ignore_case("AbCdEf&?#".to_ascii()));
|
||||
|
||||
@ -699,12 +699,12 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_ascii_vec_ng() {
|
||||
assert_eq!("abCDef&?#".to_ascii().to_lowercase().into_string(), "abcdef&?#".to_string());
|
||||
assert_eq!("abCDef&?#".to_ascii().to_uppercase().into_string(), "ABCDEF&?#".to_string());
|
||||
assert_eq!("".to_ascii().to_lowercase().into_string(), "".to_string());
|
||||
assert_eq!("YMCA".to_ascii().to_lowercase().into_string(), "ymca".to_string());
|
||||
assert_eq!("abCDef&?#".to_ascii().to_lowercase().into_string(), "abcdef&?#");
|
||||
assert_eq!("abCDef&?#".to_ascii().to_uppercase().into_string(), "ABCDEF&?#");
|
||||
assert_eq!("".to_ascii().to_lowercase().into_string(), "");
|
||||
assert_eq!("YMCA".to_ascii().to_lowercase().into_string(), "ymca");
|
||||
let mixed = "abcDEFxyz:.;".to_ascii();
|
||||
assert_eq!(mixed.to_uppercase().into_string(), "ABCDEFXYZ:.;".to_string());
|
||||
assert_eq!(mixed.to_uppercase().into_string(), "ABCDEFXYZ:.;");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -721,8 +721,8 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_ascii_into_string() {
|
||||
assert_eq!(vec2ascii![40, 32, 59].into_string(), "( ;".to_string());
|
||||
assert_eq!(vec2ascii!(40, 32, 59).into_string(), "( ;".to_string());
|
||||
assert_eq!(vec2ascii![40, 32, 59].into_string(), "( ;");
|
||||
assert_eq!(vec2ascii!(40, 32, 59).into_string(), "( ;");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -774,14 +774,14 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_to_ascii_upper() {
|
||||
assert_eq!("url()URL()uRl()ürl".to_ascii_upper(), "URL()URL()URL()üRL".to_string());
|
||||
assert_eq!("hıKß".to_ascii_upper(), "HıKß".to_string());
|
||||
assert_eq!("url()URL()uRl()ürl".to_ascii_upper(), "URL()URL()URL()üRL");
|
||||
assert_eq!("hıKß".to_ascii_upper(), "HıKß");
|
||||
|
||||
let mut i = 0;
|
||||
while i <= 500 {
|
||||
let upper = if 'a' as u32 <= i && i <= 'z' as u32 { i + 'A' as u32 - 'a' as u32 }
|
||||
else { i };
|
||||
assert_eq!((from_u32(i).unwrap()).to_string().as_slice().to_ascii_upper(),
|
||||
assert_eq!((from_u32(i).unwrap()).to_string().to_ascii_upper(),
|
||||
(from_u32(upper).unwrap()).to_string())
|
||||
i += 1;
|
||||
}
|
||||
@ -789,15 +789,15 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_to_ascii_lower() {
|
||||
assert_eq!("url()URL()uRl()Ürl".to_ascii_lower(), "url()url()url()Ürl".to_string());
|
||||
assert_eq!("url()URL()uRl()Ürl".to_ascii_lower(), "url()url()url()Ürl");
|
||||
// Dotted capital I, Kelvin sign, Sharp S.
|
||||
assert_eq!("HİKß".to_ascii_lower(), "hİKß".to_string());
|
||||
assert_eq!("HİKß".to_ascii_lower(), "hİKß");
|
||||
|
||||
let mut i = 0;
|
||||
while i <= 500 {
|
||||
let lower = if 'A' as u32 <= i && i <= 'Z' as u32 { i + 'a' as u32 - 'A' as u32 }
|
||||
else { i };
|
||||
assert_eq!((from_u32(i).unwrap()).to_string().as_slice().to_ascii_lower(),
|
||||
assert_eq!((from_u32(i).unwrap()).to_string().to_ascii_lower(),
|
||||
(from_u32(lower).unwrap()).to_string())
|
||||
i += 1;
|
||||
}
|
||||
@ -807,7 +807,7 @@ mod tests {
|
||||
fn test_into_ascii_upper() {
|
||||
assert_eq!(("url()URL()uRl()ürl".to_string()).into_ascii_upper(),
|
||||
"URL()URL()URL()üRL".to_string());
|
||||
assert_eq!(("hıKß".to_string()).into_ascii_upper(), "HıKß".to_string());
|
||||
assert_eq!(("hıKß".to_string()).into_ascii_upper(), "HıKß");
|
||||
|
||||
let mut i = 0;
|
||||
while i <= 500 {
|
||||
@ -822,9 +822,9 @@ mod tests {
|
||||
#[test]
|
||||
fn test_into_ascii_lower() {
|
||||
assert_eq!(("url()URL()uRl()Ürl".to_string()).into_ascii_lower(),
|
||||
"url()url()url()Ürl".to_string());
|
||||
"url()url()url()Ürl");
|
||||
// Dotted capital I, Kelvin sign, Sharp S.
|
||||
assert_eq!(("HİKß".to_string()).into_ascii_lower(), "hİKß".to_string());
|
||||
assert_eq!(("HİKß".to_string()).into_ascii_lower(), "hİKß");
|
||||
|
||||
let mut i = 0;
|
||||
while i <= 500 {
|
||||
@ -851,7 +851,7 @@ mod tests {
|
||||
let c = i;
|
||||
let lower = if 'A' as u32 <= c && c <= 'Z' as u32 { c + 'a' as u32 - 'A' as u32 }
|
||||
else { c };
|
||||
assert!((from_u32(i).unwrap()).to_string().as_slice().eq_ignore_ascii_case(
|
||||
assert!((from_u32(i).unwrap()).to_string().eq_ignore_ascii_case(
|
||||
(from_u32(lower).unwrap()).to_string().as_slice()));
|
||||
i += 1;
|
||||
}
|
||||
@ -860,12 +860,12 @@ mod tests {
|
||||
#[test]
|
||||
fn test_to_string() {
|
||||
let s = Ascii{ chr: b't' }.to_string();
|
||||
assert_eq!(s, "t".to_string());
|
||||
assert_eq!(s, "t");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_show() {
|
||||
let c = Ascii { chr: b't' };
|
||||
assert_eq!(format!("{}", c), "t".to_string());
|
||||
assert_eq!(format!("{}", c), "t");
|
||||
}
|
||||
}
|
||||
|
@ -1548,7 +1548,7 @@ mod test_map {
|
||||
|
||||
DROP_VECTOR.with(|v| {
|
||||
for i in range(0u, 200) {
|
||||
assert_eq!(v.borrow().as_slice()[i], 0);
|
||||
assert_eq!(v.borrow()[i], 0);
|
||||
}
|
||||
});
|
||||
|
||||
@ -1560,7 +1560,7 @@ mod test_map {
|
||||
|
||||
DROP_VECTOR.with(|v| {
|
||||
for i in range(0u, 200) {
|
||||
assert_eq!(v.borrow().as_slice()[i], 1);
|
||||
assert_eq!(v.borrow()[i], 1);
|
||||
}
|
||||
});
|
||||
|
||||
@ -1571,27 +1571,27 @@ mod test_map {
|
||||
assert!(v.is_some());
|
||||
|
||||
DROP_VECTOR.with(|v| {
|
||||
assert_eq!(v.borrow().as_slice()[i], 1);
|
||||
assert_eq!(v.borrow().as_slice()[i+100], 1);
|
||||
assert_eq!(v.borrow()[i], 1);
|
||||
assert_eq!(v.borrow()[i+100], 1);
|
||||
});
|
||||
}
|
||||
|
||||
DROP_VECTOR.with(|v| {
|
||||
for i in range(0u, 50) {
|
||||
assert_eq!(v.borrow().as_slice()[i], 0);
|
||||
assert_eq!(v.borrow().as_slice()[i+100], 0);
|
||||
assert_eq!(v.borrow()[i], 0);
|
||||
assert_eq!(v.borrow()[i+100], 0);
|
||||
}
|
||||
|
||||
for i in range(50u, 100) {
|
||||
assert_eq!(v.borrow().as_slice()[i], 1);
|
||||
assert_eq!(v.borrow().as_slice()[i+100], 1);
|
||||
assert_eq!(v.borrow()[i], 1);
|
||||
assert_eq!(v.borrow()[i+100], 1);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
DROP_VECTOR.with(|v| {
|
||||
for i in range(0u, 200) {
|
||||
assert_eq!(v.borrow().as_slice()[i], 0);
|
||||
assert_eq!(v.borrow()[i], 0);
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -1607,7 +1607,7 @@ mod test_map {
|
||||
|
||||
DROP_VECTOR.with(|v| {
|
||||
for i in range(0u, 200) {
|
||||
assert_eq!(v.borrow().as_slice()[i], 0);
|
||||
assert_eq!(v.borrow()[i], 0);
|
||||
}
|
||||
});
|
||||
|
||||
@ -1619,7 +1619,7 @@ mod test_map {
|
||||
|
||||
DROP_VECTOR.with(|v| {
|
||||
for i in range(0u, 200) {
|
||||
assert_eq!(v.borrow().as_slice()[i], 1);
|
||||
assert_eq!(v.borrow()[i], 1);
|
||||
}
|
||||
});
|
||||
|
||||
@ -1634,7 +1634,7 @@ mod test_map {
|
||||
|
||||
DROP_VECTOR.with(|v| {
|
||||
for i in range(0u, 200) {
|
||||
assert_eq!(v.borrow().as_slice()[i], 1);
|
||||
assert_eq!(v.borrow()[i], 1);
|
||||
}
|
||||
});
|
||||
|
||||
@ -1642,11 +1642,11 @@ mod test_map {
|
||||
|
||||
DROP_VECTOR.with(|v| {
|
||||
let nk = range(0u, 100).filter(|&i| {
|
||||
v.borrow().as_slice()[i] == 1
|
||||
v.borrow()[i] == 1
|
||||
}).count();
|
||||
|
||||
let nv = range(0u, 100).filter(|&i| {
|
||||
v.borrow().as_slice()[i+100] == 1
|
||||
v.borrow()[i+100] == 1
|
||||
}).count();
|
||||
|
||||
assert_eq!(nk, 50);
|
||||
@ -1656,7 +1656,7 @@ mod test_map {
|
||||
|
||||
DROP_VECTOR.with(|v| {
|
||||
for i in range(0u, 200) {
|
||||
assert_eq!(v.borrow().as_slice()[i], 0);
|
||||
assert_eq!(v.borrow()[i], 0);
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -1905,8 +1905,8 @@ mod test_map {
|
||||
|
||||
let map_str = format!("{}", map);
|
||||
|
||||
assert!(map_str == "{1: 2, 3: 4}".to_string() || map_str == "{3: 4, 1: 2}".to_string());
|
||||
assert_eq!(format!("{}", empty), "{}".to_string());
|
||||
assert!(map_str == "{1: 2, 3: 4}" || map_str == "{3: 4, 1: 2}");
|
||||
assert_eq!(format!("{}", empty), "{}");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -827,7 +827,7 @@ mod test_set {
|
||||
};
|
||||
|
||||
let v = hs.into_iter().collect::<Vec<char>>();
|
||||
assert!(['a', 'b'][] == v.as_slice() || ['b', 'a'][] == v.as_slice());
|
||||
assert!(['a', 'b'] == v || ['b', 'a'] == v);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -862,7 +862,7 @@ mod test_set {
|
||||
|
||||
let set_str = format!("{}", set);
|
||||
|
||||
assert!(set_str == "{1, 2}".to_string() || set_str == "{2, 1}".to_string());
|
||||
assert_eq!(format!("{}", empty), "{}".to_string());
|
||||
assert!(set_str == "{1, 2}" || set_str == "{2, 1}");
|
||||
assert_eq!(format!("{}", empty), "{}");
|
||||
}
|
||||
}
|
||||
|
@ -447,15 +447,15 @@ mod tests {
|
||||
cache.insert(1, 10);
|
||||
cache.insert(2, 20);
|
||||
cache.insert(3, 30);
|
||||
assert_eq!(cache.to_string(), "{3: 30, 2: 20, 1: 10}".to_string());
|
||||
assert_eq!(cache.to_string(), "{3: 30, 2: 20, 1: 10}");
|
||||
cache.insert(2, 22);
|
||||
assert_eq!(cache.to_string(), "{2: 22, 3: 30, 1: 10}".to_string());
|
||||
assert_eq!(cache.to_string(), "{2: 22, 3: 30, 1: 10}");
|
||||
cache.insert(6, 60);
|
||||
assert_eq!(cache.to_string(), "{6: 60, 2: 22, 3: 30}".to_string());
|
||||
assert_eq!(cache.to_string(), "{6: 60, 2: 22, 3: 30}");
|
||||
cache.get(&3);
|
||||
assert_eq!(cache.to_string(), "{3: 30, 6: 60, 2: 22}".to_string());
|
||||
assert_eq!(cache.to_string(), "{3: 30, 6: 60, 2: 22}");
|
||||
cache.set_capacity(2);
|
||||
assert_eq!(cache.to_string(), "{3: 30, 6: 60}".to_string());
|
||||
assert_eq!(cache.to_string(), "{3: 30, 6: 60}");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -466,6 +466,6 @@ mod tests {
|
||||
cache.clear();
|
||||
assert!(cache.get(&1).is_none());
|
||||
assert!(cache.get(&2).is_none());
|
||||
assert_eq!(cache.to_string(), "{}".to_string());
|
||||
assert_eq!(cache.to_string(), "{}");
|
||||
}
|
||||
}
|
||||
|
@ -450,30 +450,30 @@ mod test {
|
||||
let nread = reader.read(&mut buf);
|
||||
assert_eq!(Ok(3), nread);
|
||||
let b: &[_] = &[5, 6, 7];
|
||||
assert_eq!(buf.as_slice(), b);
|
||||
assert_eq!(buf, b);
|
||||
|
||||
let mut buf = [0, 0];
|
||||
let nread = reader.read(&mut buf);
|
||||
assert_eq!(Ok(2), nread);
|
||||
let b: &[_] = &[0, 1];
|
||||
assert_eq!(buf.as_slice(), b);
|
||||
assert_eq!(buf, b);
|
||||
|
||||
let mut buf = [0];
|
||||
let nread = reader.read(&mut buf);
|
||||
assert_eq!(Ok(1), nread);
|
||||
let b: &[_] = &[2];
|
||||
assert_eq!(buf.as_slice(), b);
|
||||
assert_eq!(buf, b);
|
||||
|
||||
let mut buf = [0, 0, 0];
|
||||
let nread = reader.read(&mut buf);
|
||||
assert_eq!(Ok(1), nread);
|
||||
let b: &[_] = &[3, 0, 0];
|
||||
assert_eq!(buf.as_slice(), b);
|
||||
assert_eq!(buf, b);
|
||||
|
||||
let nread = reader.read(&mut buf);
|
||||
assert_eq!(Ok(1), nread);
|
||||
let b: &[_] = &[4, 0, 0];
|
||||
assert_eq!(buf.as_slice(), b);
|
||||
assert_eq!(buf, b);
|
||||
|
||||
assert!(reader.read(&mut buf).is_err());
|
||||
}
|
||||
|
@ -176,28 +176,28 @@ mod test {
|
||||
|
||||
assert_eq!(Ok(3), reader.read(&mut buf));
|
||||
let a: &[u8] = &[1,2,3];
|
||||
assert_eq!(a, buf.as_slice());
|
||||
assert_eq!(a, buf);
|
||||
|
||||
assert_eq!(Ok(3), reader.read(&mut buf));
|
||||
let a: &[u8] = &[4,5,6];
|
||||
assert_eq!(a, buf.as_slice());
|
||||
assert_eq!(a, buf);
|
||||
|
||||
assert_eq!(Ok(2), reader.read(&mut buf));
|
||||
let a: &[u8] = &[7,8,6];
|
||||
assert_eq!(a, buf.as_slice());
|
||||
assert_eq!(a, buf);
|
||||
|
||||
match reader.read(buf.as_mut_slice()) {
|
||||
Ok(..) => panic!(),
|
||||
Err(e) => assert_eq!(e.kind, io::EndOfFile),
|
||||
}
|
||||
assert_eq!(a, buf.as_slice());
|
||||
assert_eq!(a, buf);
|
||||
|
||||
// Ensure it continues to panic in the same way.
|
||||
match reader.read(buf.as_mut_slice()) {
|
||||
Ok(..) => panic!(),
|
||||
Err(e) => assert_eq!(e.kind, io::EndOfFile),
|
||||
}
|
||||
assert_eq!(a, buf.as_slice());
|
||||
assert_eq!(a, buf);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -838,7 +838,7 @@ mod test {
|
||||
macro_rules! error( ($e:expr, $s:expr) => (
|
||||
match $e {
|
||||
Ok(_) => panic!("Unexpected success. Should've been: {}", $s),
|
||||
Err(ref err) => assert!(err.to_string().as_slice().contains($s.as_slice()),
|
||||
Err(ref err) => assert!(err.to_string().contains($s.as_slice()),
|
||||
format!("`{}` did not contain `{}`", err, $s))
|
||||
}
|
||||
) )
|
||||
@ -996,7 +996,7 @@ mod test {
|
||||
}
|
||||
check!(unlink(filename));
|
||||
let read_str = str::from_utf8(&read_mem).unwrap();
|
||||
assert!(read_str.as_slice() == final_msg.as_slice());
|
||||
assert!(read_str == final_msg);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1104,7 +1104,7 @@ mod test {
|
||||
let f = dir.join(format!("{}.txt", n));
|
||||
let mut w = check!(File::create(&f));
|
||||
let msg_str = format!("{}{}", prefix, n.to_string());
|
||||
let msg = msg_str.as_slice().as_bytes();
|
||||
let msg = msg_str.as_bytes();
|
||||
check!(w.write(msg));
|
||||
}
|
||||
let files = check!(readdir(dir));
|
||||
|
@ -444,7 +444,7 @@ mod test {
|
||||
assert_eq!(writer.write(&[10]).unwrap_err().kind, io::EndOfFile);
|
||||
}
|
||||
let b: &[_] = &[0, 1, 2, 3, 4, 5, 6, 7, 8];
|
||||
assert_eq!(buf.as_slice(), b);
|
||||
assert_eq!(buf, b);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -473,7 +473,7 @@ mod test {
|
||||
|
||||
}
|
||||
let b: &[_] = &[1, 3, 2, 0, 0, 0, 0, 4];
|
||||
assert_eq!(buf.as_slice(), b);
|
||||
assert_eq!(buf, b);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -498,12 +498,12 @@ mod test {
|
||||
assert_eq!(reader.read(&mut buf), Ok(1));
|
||||
assert_eq!(reader.tell(), Ok(1));
|
||||
let b: &[_] = &[0];
|
||||
assert_eq!(buf.as_slice(), b);
|
||||
assert_eq!(buf, b);
|
||||
let mut buf = [0, ..4];
|
||||
assert_eq!(reader.read(&mut buf), Ok(4));
|
||||
assert_eq!(reader.tell(), Ok(5));
|
||||
let b: &[_] = &[1, 2, 3, 4];
|
||||
assert_eq!(buf.as_slice(), b);
|
||||
assert_eq!(buf, b);
|
||||
assert_eq!(reader.read(&mut buf), Ok(3));
|
||||
let b: &[_] = &[5, 6, 7];
|
||||
assert_eq!(buf[0..3], b);
|
||||
@ -551,12 +551,12 @@ mod test {
|
||||
assert_eq!(reader.read(&mut buf), Ok(1));
|
||||
assert_eq!(reader.tell(), Ok(1));
|
||||
let b: &[_] = &[0];
|
||||
assert_eq!(buf.as_slice(), b);
|
||||
assert_eq!(buf, b);
|
||||
let mut buf = [0, ..4];
|
||||
assert_eq!(reader.read(&mut buf), Ok(4));
|
||||
assert_eq!(reader.tell(), Ok(5));
|
||||
let b: &[_] = &[1, 2, 3, 4];
|
||||
assert_eq!(buf.as_slice(), b);
|
||||
assert_eq!(buf, b);
|
||||
assert_eq!(reader.read(&mut buf), Ok(3));
|
||||
let b: &[_] = &[5, 6, 7];
|
||||
assert_eq!(buf[0..3], b);
|
||||
@ -592,7 +592,7 @@ mod test {
|
||||
writer.write_line("testing").unwrap();
|
||||
writer.write_str("testing").unwrap();
|
||||
let mut r = BufReader::new(writer.get_ref());
|
||||
assert_eq!(r.read_to_string().unwrap(), "testingtesting\ntesting".to_string());
|
||||
assert_eq!(r.read_to_string().unwrap(), "testingtesting\ntesting");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -602,7 +602,7 @@ mod test {
|
||||
writer.write_char('\n').unwrap();
|
||||
writer.write_char('ệ').unwrap();
|
||||
let mut r = BufReader::new(writer.get_ref());
|
||||
assert_eq!(r.read_to_string().unwrap(), "a\nệ".to_string());
|
||||
assert_eq!(r.read_to_string().unwrap(), "a\nệ");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -652,15 +652,15 @@ mod test {
|
||||
let mut buf = [0, ..3];
|
||||
assert!(r.read_at_least(buf.len(), &mut buf).is_ok());
|
||||
let b: &[_] = &[1, 2, 3];
|
||||
assert_eq!(buf.as_slice(), b);
|
||||
assert_eq!(buf, b);
|
||||
assert!(r.read_at_least(0, buf[mut ..0]).is_ok());
|
||||
assert_eq!(buf.as_slice(), b);
|
||||
assert_eq!(buf, b);
|
||||
assert!(r.read_at_least(buf.len(), &mut buf).is_ok());
|
||||
let b: &[_] = &[4, 5, 6];
|
||||
assert_eq!(buf.as_slice(), b);
|
||||
assert_eq!(buf, b);
|
||||
assert!(r.read_at_least(buf.len(), &mut buf).is_err());
|
||||
let b: &[_] = &[7, 8, 6];
|
||||
assert_eq!(buf.as_slice(), b);
|
||||
assert_eq!(buf, b);
|
||||
}
|
||||
|
||||
fn do_bench_mem_writer(b: &mut Bencher, times: uint, len: uint) {
|
||||
@ -757,7 +757,7 @@ mod test {
|
||||
for _i in range(0u, 10) {
|
||||
let mut buf = [0 as u8, .. 10];
|
||||
rdr.read(&mut buf).unwrap();
|
||||
assert_eq!(buf.as_slice(), [5, .. 10].as_slice());
|
||||
assert_eq!(buf, [5, .. 10]);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -240,8 +240,8 @@ use boxed::Box;
|
||||
use result::Result;
|
||||
use result::Result::{Ok, Err};
|
||||
use sys;
|
||||
use slice::{AsSlice, SlicePrelude};
|
||||
use str::{Str, StrPrelude};
|
||||
use slice::SlicePrelude;
|
||||
use str::StrPrelude;
|
||||
use str;
|
||||
use string::String;
|
||||
use uint;
|
||||
@ -318,7 +318,7 @@ impl IoError {
|
||||
pub fn from_errno(errno: uint, detail: bool) -> IoError {
|
||||
let mut err = sys::decode_error(errno as i32);
|
||||
if detail && err.kind == OtherIoError {
|
||||
err.detail = Some(os::error_string(errno).as_slice().chars()
|
||||
err.detail = Some(os::error_string(errno).chars()
|
||||
.map(|c| c.to_lowercase()).collect())
|
||||
}
|
||||
err
|
||||
@ -2007,14 +2007,14 @@ mod tests {
|
||||
fn test_show() {
|
||||
use super::*;
|
||||
|
||||
assert_eq!(format!("{}", USER_READ), "0400".to_string());
|
||||
assert_eq!(format!("{}", USER_FILE), "0644".to_string());
|
||||
assert_eq!(format!("{}", USER_EXEC), "0755".to_string());
|
||||
assert_eq!(format!("{}", USER_RWX), "0700".to_string());
|
||||
assert_eq!(format!("{}", GROUP_RWX), "0070".to_string());
|
||||
assert_eq!(format!("{}", OTHER_RWX), "0007".to_string());
|
||||
assert_eq!(format!("{}", ALL_PERMISSIONS), "0777".to_string());
|
||||
assert_eq!(format!("{}", USER_READ | USER_WRITE | OTHER_WRITE), "0602".to_string());
|
||||
assert_eq!(format!("{}", USER_READ), "0400");
|
||||
assert_eq!(format!("{}", USER_FILE), "0644");
|
||||
assert_eq!(format!("{}", USER_EXEC), "0755");
|
||||
assert_eq!(format!("{}", USER_RWX), "0700");
|
||||
assert_eq!(format!("{}", GROUP_RWX), "0070");
|
||||
assert_eq!(format!("{}", OTHER_RWX), "0007");
|
||||
assert_eq!(format!("{}", ALL_PERMISSIONS), "0777");
|
||||
assert_eq!(format!("{}", USER_READ | USER_WRITE | OTHER_WRITE), "0602");
|
||||
}
|
||||
|
||||
fn _ensure_buffer_is_object_safe<T: Buffer>(x: &T) -> &Buffer {
|
||||
|
@ -641,10 +641,10 @@ mod test {
|
||||
#[test]
|
||||
fn ipv6_addr_to_string() {
|
||||
let a1 = Ipv6Addr(0, 0, 0, 0, 0, 0xffff, 0xc000, 0x280);
|
||||
assert!(a1.to_string() == "::ffff:192.0.2.128".to_string() ||
|
||||
a1.to_string() == "::FFFF:192.0.2.128".to_string());
|
||||
assert!(a1.to_string() == "::ffff:192.0.2.128" ||
|
||||
a1.to_string() == "::FFFF:192.0.2.128");
|
||||
assert_eq!(Ipv6Addr(8, 9, 10, 11, 12, 13, 14, 15).to_string(),
|
||||
"8:9:a:b:c:d:e:f".to_string());
|
||||
"8:9:a:b:c:d:e:f");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -236,8 +236,8 @@ impl Command {
|
||||
// if the env is currently just inheriting from the parent's,
|
||||
// materialize the parent's env into a hashtable.
|
||||
self.env = Some(os::env_as_bytes().into_iter()
|
||||
.map(|(k, v)| (EnvKey(k.as_slice().to_c_str()),
|
||||
v.as_slice().to_c_str()))
|
||||
.map(|(k, v)| (EnvKey(k.to_c_str()),
|
||||
v.to_c_str()))
|
||||
.collect());
|
||||
self.env.as_mut().unwrap()
|
||||
}
|
||||
@ -810,7 +810,7 @@ mod tests {
|
||||
fn stdout_works() {
|
||||
let mut cmd = Command::new("echo");
|
||||
cmd.arg("foobar").stdout(CreatePipe(false, true));
|
||||
assert_eq!(run_output(cmd), "foobar\n".to_string());
|
||||
assert_eq!(run_output(cmd), "foobar\n");
|
||||
}
|
||||
|
||||
#[cfg(all(unix, not(target_os="android")))]
|
||||
@ -820,7 +820,7 @@ mod tests {
|
||||
cmd.arg("-c").arg("pwd")
|
||||
.cwd(&Path::new("/"))
|
||||
.stdout(CreatePipe(false, true));
|
||||
assert_eq!(run_output(cmd), "/\n".to_string());
|
||||
assert_eq!(run_output(cmd), "/\n");
|
||||
}
|
||||
|
||||
#[cfg(all(unix, not(target_os="android")))]
|
||||
@ -835,7 +835,7 @@ mod tests {
|
||||
drop(p.stdin.take());
|
||||
let out = read_all(p.stdout.as_mut().unwrap() as &mut Reader);
|
||||
assert!(p.wait().unwrap().success());
|
||||
assert_eq!(out, "foobar\n".to_string());
|
||||
assert_eq!(out, "foobar\n");
|
||||
}
|
||||
|
||||
#[cfg(not(target_os="android"))]
|
||||
@ -900,7 +900,7 @@ mod tests {
|
||||
let output_str = str::from_utf8(output.as_slice()).unwrap();
|
||||
|
||||
assert!(status.success());
|
||||
assert_eq!(output_str.trim().to_string(), "hello".to_string());
|
||||
assert_eq!(output_str.trim().to_string(), "hello");
|
||||
// FIXME #7224
|
||||
if !running_on_valgrind() {
|
||||
assert_eq!(error, Vec::new());
|
||||
@ -941,7 +941,7 @@ mod tests {
|
||||
let output_str = str::from_utf8(output.as_slice()).unwrap();
|
||||
|
||||
assert!(status.success());
|
||||
assert_eq!(output_str.trim().to_string(), "hello".to_string());
|
||||
assert_eq!(output_str.trim().to_string(), "hello");
|
||||
// FIXME #7224
|
||||
if !running_on_valgrind() {
|
||||
assert_eq!(error, Vec::new());
|
||||
@ -973,7 +973,7 @@ mod tests {
|
||||
|
||||
let output = String::from_utf8(prog.wait_with_output().unwrap().output).unwrap();
|
||||
let parent_dir = os::getcwd().unwrap();
|
||||
let child_dir = Path::new(output.as_slice().trim());
|
||||
let child_dir = Path::new(output.trim());
|
||||
|
||||
let parent_stat = parent_dir.stat().unwrap();
|
||||
let child_stat = child_dir.stat().unwrap();
|
||||
@ -991,7 +991,7 @@ mod tests {
|
||||
let prog = pwd_cmd().cwd(&parent_dir).spawn().unwrap();
|
||||
|
||||
let output = String::from_utf8(prog.wait_with_output().unwrap().output).unwrap();
|
||||
let child_dir = Path::new(output.as_slice().trim());
|
||||
let child_dir = Path::new(output.trim());
|
||||
|
||||
let parent_stat = parent_dir.stat().unwrap();
|
||||
let child_stat = child_dir.stat().unwrap();
|
||||
@ -1031,8 +1031,7 @@ mod tests {
|
||||
for &(ref k, ref v) in r.iter() {
|
||||
// don't check windows magical empty-named variables
|
||||
assert!(k.is_empty() ||
|
||||
output.as_slice()
|
||||
.contains(format!("{}={}", *k, *v).as_slice()),
|
||||
output.contains(format!("{}={}", *k, *v).as_slice()),
|
||||
"output doesn't contain `{}={}`\n{}",
|
||||
k, v, output);
|
||||
}
|
||||
@ -1050,12 +1049,10 @@ mod tests {
|
||||
for &(ref k, ref v) in r.iter() {
|
||||
// don't check android RANDOM variables
|
||||
if *k != "RANDOM".to_string() {
|
||||
assert!(output.as_slice()
|
||||
.contains(format!("{}={}",
|
||||
assert!(output.contains(format!("{}={}",
|
||||
*k,
|
||||
*v).as_slice()) ||
|
||||
output.as_slice()
|
||||
.contains(format!("{}=\'{}\'",
|
||||
output.contains(format!("{}=\'{}\'",
|
||||
*k,
|
||||
*v).as_slice()));
|
||||
}
|
||||
@ -1084,7 +1081,7 @@ mod tests {
|
||||
let result = prog.wait_with_output().unwrap();
|
||||
let output = String::from_utf8_lossy(result.output.as_slice()).into_string();
|
||||
|
||||
assert!(output.as_slice().contains("RUN_TEST_NEW_ENV=123"),
|
||||
assert!(output.contains("RUN_TEST_NEW_ENV=123"),
|
||||
"didn't find RUN_TEST_NEW_ENV inside of:\n\n{}", output);
|
||||
}
|
||||
|
||||
@ -1094,7 +1091,7 @@ mod tests {
|
||||
let result = prog.wait_with_output().unwrap();
|
||||
let output = String::from_utf8_lossy(result.output.as_slice()).into_string();
|
||||
|
||||
assert!(output.as_slice().contains("RUN_TEST_NEW_ENV=123"),
|
||||
assert!(output.contains("RUN_TEST_NEW_ENV=123"),
|
||||
"didn't find RUN_TEST_NEW_ENV inside of:\n\n{}", output);
|
||||
}
|
||||
|
||||
|
@ -528,7 +528,7 @@ mod tests {
|
||||
set_stdout(box w);
|
||||
println!("hello!");
|
||||
});
|
||||
assert_eq!(r.read_to_string().unwrap(), "hello!\n".to_string());
|
||||
assert_eq!(r.read_to_string().unwrap(), "hello!\n");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -543,6 +543,6 @@ mod tests {
|
||||
panic!("my special message");
|
||||
});
|
||||
let s = r.read_to_string().unwrap();
|
||||
assert!(s.as_slice().contains("my special message"));
|
||||
assert!(s.contains("my special message"));
|
||||
}
|
||||
}
|
||||
|
@ -428,28 +428,28 @@ mod tests {
|
||||
#[test]
|
||||
fn test_int_to_str_overflow() {
|
||||
let mut i8_val: i8 = 127_i8;
|
||||
assert_eq!(i8_val.to_string(), "127".to_string());
|
||||
assert_eq!(i8_val.to_string(), "127");
|
||||
|
||||
i8_val += 1 as i8;
|
||||
assert_eq!(i8_val.to_string(), "-128".to_string());
|
||||
assert_eq!(i8_val.to_string(), "-128");
|
||||
|
||||
let mut i16_val: i16 = 32_767_i16;
|
||||
assert_eq!(i16_val.to_string(), "32767".to_string());
|
||||
assert_eq!(i16_val.to_string(), "32767");
|
||||
|
||||
i16_val += 1 as i16;
|
||||
assert_eq!(i16_val.to_string(), "-32768".to_string());
|
||||
assert_eq!(i16_val.to_string(), "-32768");
|
||||
|
||||
let mut i32_val: i32 = 2_147_483_647_i32;
|
||||
assert_eq!(i32_val.to_string(), "2147483647".to_string());
|
||||
assert_eq!(i32_val.to_string(), "2147483647");
|
||||
|
||||
i32_val += 1 as i32;
|
||||
assert_eq!(i32_val.to_string(), "-2147483648".to_string());
|
||||
assert_eq!(i32_val.to_string(), "-2147483648");
|
||||
|
||||
let mut i64_val: i64 = 9_223_372_036_854_775_807_i64;
|
||||
assert_eq!(i64_val.to_string(), "9223372036854775807".to_string());
|
||||
assert_eq!(i64_val.to_string(), "9223372036854775807");
|
||||
|
||||
i64_val += 1 as i64;
|
||||
assert_eq!(i64_val.to_string(), "-9223372036854775808".to_string());
|
||||
assert_eq!(i64_val.to_string(), "-9223372036854775808");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -79,28 +79,28 @@ mod tests {
|
||||
#[test]
|
||||
fn test_uint_to_str_overflow() {
|
||||
let mut u8_val: u8 = 255_u8;
|
||||
assert_eq!(u8_val.to_string(), "255".to_string());
|
||||
assert_eq!(u8_val.to_string(), "255");
|
||||
|
||||
u8_val += 1 as u8;
|
||||
assert_eq!(u8_val.to_string(), "0".to_string());
|
||||
assert_eq!(u8_val.to_string(), "0");
|
||||
|
||||
let mut u16_val: u16 = 65_535_u16;
|
||||
assert_eq!(u16_val.to_string(), "65535".to_string());
|
||||
assert_eq!(u16_val.to_string(), "65535");
|
||||
|
||||
u16_val += 1 as u16;
|
||||
assert_eq!(u16_val.to_string(), "0".to_string());
|
||||
assert_eq!(u16_val.to_string(), "0");
|
||||
|
||||
let mut u32_val: u32 = 4_294_967_295_u32;
|
||||
assert_eq!(u32_val.to_string(), "4294967295".to_string());
|
||||
assert_eq!(u32_val.to_string(), "4294967295");
|
||||
|
||||
u32_val += 1 as u32;
|
||||
assert_eq!(u32_val.to_string(), "0".to_string());
|
||||
assert_eq!(u32_val.to_string(), "0");
|
||||
|
||||
let mut u64_val: u64 = 18_446_744_073_709_551_615_u64;
|
||||
assert_eq!(u64_val.to_string(), "18446744073709551615".to_string());
|
||||
assert_eq!(u64_val.to_string(), "18446744073709551615");
|
||||
|
||||
u64_val += 1 as u64;
|
||||
assert_eq!(u64_val.to_string(), "0".to_string());
|
||||
assert_eq!(u64_val.to_string(), "0");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -316,7 +316,7 @@ pub fn env_as_bytes() -> Vec<(Vec<u8>,Vec<u8>)> {
|
||||
fn env_convert(input: Vec<Vec<u8>>) -> Vec<(Vec<u8>, Vec<u8>)> {
|
||||
let mut pairs = Vec::new();
|
||||
for p in input.iter() {
|
||||
let mut it = p.as_slice().splitn(1, |b| *b == b'=');
|
||||
let mut it = p.splitn(1, |b| *b == b'=');
|
||||
let key = it.next().unwrap().to_vec();
|
||||
let default: &[u8] = &[];
|
||||
let val = it.next().unwrap_or(default).to_vec();
|
||||
@ -2069,7 +2069,7 @@ mod tests {
|
||||
#[cfg(unix)]
|
||||
fn join_paths_unix() {
|
||||
fn test_eq(input: &[&str], output: &str) -> bool {
|
||||
join_paths(input).unwrap().as_slice() == output.as_bytes()
|
||||
join_paths(input).unwrap() == output.as_bytes()
|
||||
}
|
||||
|
||||
assert!(test_eq(&[], ""));
|
||||
@ -2084,7 +2084,7 @@ mod tests {
|
||||
#[cfg(windows)]
|
||||
fn join_paths_windows() {
|
||||
fn test_eq(input: &[&str], output: &str) -> bool {
|
||||
join_paths(input).unwrap().as_slice() == output.as_bytes()
|
||||
join_paths(input).unwrap() == output.as_bytes()
|
||||
}
|
||||
|
||||
assert!(test_eq(&[], ""));
|
||||
|
@ -942,6 +942,6 @@ mod tests {
|
||||
|
||||
let input = r"\foo\bar\baz";
|
||||
let path: WindowsPath = WindowsPath::new(input.to_c_str());
|
||||
assert_eq!(path.as_str().unwrap(), input.as_slice());
|
||||
assert_eq!(path.as_str().unwrap(), input);
|
||||
}
|
||||
}
|
||||
|
@ -132,7 +132,7 @@ impl GenericPathUnsafe for Path {
|
||||
unsafe fn set_filename_unchecked<T: BytesContainer>(&mut self, filename: T) {
|
||||
let filename = filename.container_as_bytes();
|
||||
match self.sepidx {
|
||||
None if b".." == self.repr.as_slice() => {
|
||||
None if b".." == self.repr => {
|
||||
let mut v = Vec::with_capacity(3 + filename.len());
|
||||
v.push_all(dot_dot_static);
|
||||
v.push(SEP_BYTE);
|
||||
@ -159,7 +159,7 @@ impl GenericPathUnsafe for Path {
|
||||
self.repr = Path::normalize(v.as_slice());
|
||||
}
|
||||
}
|
||||
self.sepidx = self.repr.as_slice().rposition_elem(&SEP_BYTE);
|
||||
self.sepidx = self.repr.rposition_elem(&SEP_BYTE);
|
||||
}
|
||||
|
||||
unsafe fn push_unchecked<T: BytesContainer>(&mut self, path: T) {
|
||||
@ -175,7 +175,7 @@ impl GenericPathUnsafe for Path {
|
||||
// FIXME: this is slow
|
||||
self.repr = Path::normalize(v.as_slice());
|
||||
}
|
||||
self.sepidx = self.repr.as_slice().rposition_elem(&SEP_BYTE);
|
||||
self.sepidx = self.repr.rposition_elem(&SEP_BYTE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -192,7 +192,7 @@ impl GenericPath for Path {
|
||||
|
||||
fn dirname<'a>(&'a self) -> &'a [u8] {
|
||||
match self.sepidx {
|
||||
None if b".." == self.repr.as_slice() => self.repr.as_slice(),
|
||||
None if b".." == self.repr => self.repr.as_slice(),
|
||||
None => dot_static,
|
||||
Some(0) => self.repr[..1],
|
||||
Some(idx) if self.repr[idx+1..] == b".." => self.repr.as_slice(),
|
||||
@ -202,8 +202,8 @@ impl GenericPath for Path {
|
||||
|
||||
fn filename<'a>(&'a self) -> Option<&'a [u8]> {
|
||||
match self.sepidx {
|
||||
None if b"." == self.repr.as_slice() ||
|
||||
b".." == self.repr.as_slice() => None,
|
||||
None if b"." == self.repr ||
|
||||
b".." == self.repr => None,
|
||||
None => Some(self.repr.as_slice()),
|
||||
Some(idx) if self.repr[idx+1..] == b".." => None,
|
||||
Some(0) if self.repr[1..].is_empty() => None,
|
||||
@ -213,20 +213,20 @@ impl GenericPath for Path {
|
||||
|
||||
fn pop(&mut self) -> bool {
|
||||
match self.sepidx {
|
||||
None if b"." == self.repr.as_slice() => false,
|
||||
None if b"." == self.repr => false,
|
||||
None => {
|
||||
self.repr = vec![b'.'];
|
||||
self.sepidx = None;
|
||||
true
|
||||
}
|
||||
Some(0) if b"/" == self.repr.as_slice() => false,
|
||||
Some(0) if b"/" == self.repr => false,
|
||||
Some(idx) => {
|
||||
if idx == 0 {
|
||||
self.repr.truncate(idx+1);
|
||||
} else {
|
||||
self.repr.truncate(idx);
|
||||
}
|
||||
self.sepidx = self.repr.as_slice().rposition_elem(&SEP_BYTE);
|
||||
self.sepidx = self.repr.rposition_elem(&SEP_BYTE);
|
||||
true
|
||||
}
|
||||
}
|
||||
@ -251,7 +251,7 @@ impl GenericPath for Path {
|
||||
} else {
|
||||
let mut ita = self.components();
|
||||
let mut itb = other.components();
|
||||
if b"." == self.repr.as_slice() {
|
||||
if b"." == self.repr {
|
||||
return match itb.next() {
|
||||
None => true,
|
||||
Some(b) => b != b".."
|
||||
@ -306,7 +306,7 @@ impl GenericPath for Path {
|
||||
}
|
||||
}
|
||||
}
|
||||
Some(Path::new(comps.as_slice().connect_vec(&SEP_BYTE)))
|
||||
Some(Path::new(comps.connect_vec(&SEP_BYTE)))
|
||||
}
|
||||
}
|
||||
|
||||
@ -407,7 +407,7 @@ impl Path {
|
||||
|
||||
// None result means the byte vector didn't need normalizing
|
||||
fn normalize_helper<'a>(v: &'a [u8], is_abs: bool) -> Option<Vec<&'a [u8]>> {
|
||||
if is_abs && v.as_slice().is_empty() {
|
||||
if is_abs && v.is_empty() {
|
||||
return None;
|
||||
}
|
||||
let mut comps: Vec<&'a [u8]> = vec![];
|
||||
@ -496,8 +496,8 @@ mod tests {
|
||||
t!(s: Path::new("foo/../../.."), "../..");
|
||||
t!(s: Path::new("foo/../../bar"), "../bar");
|
||||
|
||||
assert_eq!(Path::new(b"foo/bar").into_vec().as_slice(), b"foo/bar");
|
||||
assert_eq!(Path::new(b"/foo/../../bar").into_vec().as_slice(),
|
||||
assert_eq!(Path::new(b"foo/bar").into_vec(), b"foo/bar");
|
||||
assert_eq!(Path::new(b"/foo/../../bar").into_vec(),
|
||||
b"/bar");
|
||||
|
||||
let p = Path::new(b"foo/bar\x80");
|
||||
@ -537,7 +537,7 @@ mod tests {
|
||||
($path:expr, $disp:ident, $exp:expr) => (
|
||||
{
|
||||
let path = Path::new($path);
|
||||
assert!(path.$disp().to_string().as_slice() == $exp);
|
||||
assert!(path.$disp().to_string() == $exp);
|
||||
}
|
||||
)
|
||||
)
|
||||
@ -580,9 +580,9 @@ mod tests {
|
||||
{
|
||||
let path = Path::new($path);
|
||||
let f = format!("{}", path.display());
|
||||
assert!(f.as_slice() == $exp);
|
||||
assert!(f == $exp);
|
||||
let f = format!("{}", path.filename_display());
|
||||
assert!(f.as_slice() == $expf);
|
||||
assert!(f == $expf);
|
||||
}
|
||||
)
|
||||
)
|
||||
@ -1180,7 +1180,7 @@ mod tests {
|
||||
let path = Path::new($arg);
|
||||
let comps = path.components().collect::<Vec<&[u8]>>();
|
||||
let exp: &[&[u8]] = &[$($exp),*];
|
||||
assert_eq!(comps.as_slice(), exp);
|
||||
assert_eq!(comps, exp);
|
||||
let comps = path.components().rev().collect::<Vec<&[u8]>>();
|
||||
let exp = exp.iter().rev().map(|&x|x).collect::<Vec<&[u8]>>();
|
||||
assert_eq!(comps, exp)
|
||||
@ -1212,7 +1212,7 @@ mod tests {
|
||||
let path = Path::new($arg);
|
||||
let comps = path.str_components().collect::<Vec<Option<&str>>>();
|
||||
let exp: &[Option<&str>] = &$exp;
|
||||
assert_eq!(comps.as_slice(), exp);
|
||||
assert_eq!(comps, exp);
|
||||
let comps = path.str_components().rev().collect::<Vec<Option<&str>>>();
|
||||
let exp = exp.iter().rev().map(|&x|x).collect::<Vec<Option<&str>>>();
|
||||
assert_eq!(comps, exp);
|
||||
|
@ -182,7 +182,7 @@ impl GenericPathUnsafe for Path {
|
||||
unsafe fn set_filename_unchecked<T: BytesContainer>(&mut self, filename: T) {
|
||||
let filename = filename.container_as_str().unwrap();
|
||||
match self.sepidx_or_prefix_len() {
|
||||
None if ".." == self.repr.as_slice() => {
|
||||
None if ".." == self.repr => {
|
||||
let mut s = String::with_capacity(3 + filename.len());
|
||||
s.push_str("..");
|
||||
s.push(SEP);
|
||||
@ -192,22 +192,22 @@ impl GenericPathUnsafe for Path {
|
||||
None => {
|
||||
self.update_normalized(filename);
|
||||
}
|
||||
Some((_,idxa,end)) if self.repr.as_slice().slice(idxa,end) == ".." => {
|
||||
Some((_,idxa,end)) if self.repr.slice(idxa,end) == ".." => {
|
||||
let mut s = String::with_capacity(end + 1 + filename.len());
|
||||
s.push_str(self.repr.as_slice().slice_to(end));
|
||||
s.push_str(self.repr.slice_to(end));
|
||||
s.push(SEP);
|
||||
s.push_str(filename);
|
||||
self.update_normalized(s);
|
||||
}
|
||||
Some((idxb,idxa,_)) if self.prefix == Some(DiskPrefix) && idxa == self.prefix_len() => {
|
||||
let mut s = String::with_capacity(idxb + filename.len());
|
||||
s.push_str(self.repr.as_slice().slice_to(idxb));
|
||||
s.push_str(self.repr.slice_to(idxb));
|
||||
s.push_str(filename);
|
||||
self.update_normalized(s);
|
||||
}
|
||||
Some((idxb,_,_)) => {
|
||||
let mut s = String::with_capacity(idxb + 1 + filename.len());
|
||||
s.push_str(self.repr.as_slice().slice_to(idxb));
|
||||
s.push_str(self.repr.slice_to(idxb));
|
||||
s.push(SEP);
|
||||
s.push_str(filename);
|
||||
self.update_normalized(s);
|
||||
@ -356,21 +356,21 @@ impl GenericPath for Path {
|
||||
/// Always returns a `Some` value.
|
||||
fn dirname_str<'a>(&'a self) -> Option<&'a str> {
|
||||
Some(match self.sepidx_or_prefix_len() {
|
||||
None if ".." == self.repr.as_slice() => self.repr.as_slice(),
|
||||
None if ".." == self.repr => self.repr.as_slice(),
|
||||
None => ".",
|
||||
Some((_,idxa,end)) if self.repr.as_slice().slice(idxa, end) == ".." => {
|
||||
Some((_,idxa,end)) if self.repr.slice(idxa, end) == ".." => {
|
||||
self.repr.as_slice()
|
||||
}
|
||||
Some((idxb,_,end)) if self.repr.as_slice().slice(idxb, end) == "\\" => {
|
||||
Some((idxb,_,end)) if self.repr.slice(idxb, end) == "\\" => {
|
||||
self.repr.as_slice()
|
||||
}
|
||||
Some((0,idxa,_)) => self.repr.as_slice().slice_to(idxa),
|
||||
Some((0,idxa,_)) => self.repr.slice_to(idxa),
|
||||
Some((idxb,idxa,_)) => {
|
||||
match self.prefix {
|
||||
Some(DiskPrefix) | Some(VerbatimDiskPrefix) if idxb == self.prefix_len() => {
|
||||
self.repr.as_slice().slice_to(idxa)
|
||||
self.repr.slice_to(idxa)
|
||||
}
|
||||
_ => self.repr.as_slice().slice_to(idxb)
|
||||
_ => self.repr.slice_to(idxb)
|
||||
}
|
||||
}
|
||||
})
|
||||
@ -415,14 +415,14 @@ impl GenericPath for Path {
|
||||
#[inline]
|
||||
fn pop(&mut self) -> bool {
|
||||
match self.sepidx_or_prefix_len() {
|
||||
None if "." == self.repr.as_slice() => false,
|
||||
None if "." == self.repr => false,
|
||||
None => {
|
||||
self.repr = String::from_str(".");
|
||||
self.sepidx = None;
|
||||
true
|
||||
}
|
||||
Some((idxb,idxa,end)) if idxb == idxa && idxb == end => false,
|
||||
Some((idxb,_,end)) if self.repr.as_slice().slice(idxb, end) == "\\" => false,
|
||||
Some((idxb,_,end)) if self.repr.slice(idxb, end) == "\\" => false,
|
||||
Some((idxb,idxa,_)) => {
|
||||
let trunc = match self.prefix {
|
||||
Some(DiskPrefix) | Some(VerbatimDiskPrefix) | None => {
|
||||
@ -442,15 +442,15 @@ impl GenericPath for Path {
|
||||
if self.prefix.is_some() {
|
||||
Some(Path::new(match self.prefix {
|
||||
Some(DiskPrefix) if self.is_absolute() => {
|
||||
self.repr.as_slice().slice_to(self.prefix_len()+1)
|
||||
self.repr.slice_to(self.prefix_len()+1)
|
||||
}
|
||||
Some(VerbatimDiskPrefix) => {
|
||||
self.repr.as_slice().slice_to(self.prefix_len()+1)
|
||||
self.repr.slice_to(self.prefix_len()+1)
|
||||
}
|
||||
_ => self.repr.as_slice().slice_to(self.prefix_len())
|
||||
_ => self.repr.slice_to(self.prefix_len())
|
||||
}))
|
||||
} else if is_vol_relative(self) {
|
||||
Some(Path::new(self.repr.as_slice().slice_to(1)))
|
||||
Some(Path::new(self.repr.slice_to(1)))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
@ -469,7 +469,7 @@ impl GenericPath for Path {
|
||||
fn is_absolute(&self) -> bool {
|
||||
match self.prefix {
|
||||
Some(DiskPrefix) => {
|
||||
let rest = self.repr.as_slice().slice_from(self.prefix_len());
|
||||
let rest = self.repr.slice_from(self.prefix_len());
|
||||
rest.len() > 0 && rest.as_bytes()[0] == SEP_BYTE
|
||||
}
|
||||
Some(_) => true,
|
||||
@ -491,7 +491,7 @@ impl GenericPath for Path {
|
||||
} else {
|
||||
let mut ita = self.str_components().map(|x|x.unwrap());
|
||||
let mut itb = other.str_components().map(|x|x.unwrap());
|
||||
if "." == self.repr.as_slice() {
|
||||
if "." == self.repr {
|
||||
return itb.next() != Some("..");
|
||||
}
|
||||
loop {
|
||||
@ -827,7 +827,7 @@ impl Path {
|
||||
|
||||
fn update_sepidx(&mut self) {
|
||||
let s = if self.has_nonsemantic_trailing_slash() {
|
||||
self.repr.as_slice().slice_to(self.repr.len()-1)
|
||||
self.repr.slice_to(self.repr.len()-1)
|
||||
} else { self.repr.as_slice() };
|
||||
let idx = s.rfind(if !prefix_is_verbatim(self.prefix) { is_sep }
|
||||
else { is_sep_verbatim });
|
||||
@ -923,7 +923,7 @@ pub fn make_non_verbatim(path: &Path) -> Option<Path> {
|
||||
}
|
||||
// now ensure normalization didn't change anything
|
||||
if repr.slice_from(path.prefix_len()) ==
|
||||
new_path.repr.as_slice().slice_from(new_path.prefix_len()) {
|
||||
new_path.repr.slice_from(new_path.prefix_len()) {
|
||||
Some(new_path)
|
||||
} else {
|
||||
None
|
||||
@ -1233,8 +1233,8 @@ mod tests {
|
||||
t!(s: Path::new("foo\\..\\..\\.."), "..\\..");
|
||||
t!(s: Path::new("foo\\..\\..\\bar"), "..\\bar");
|
||||
|
||||
assert_eq!(Path::new(b"foo\\bar").into_vec().as_slice(), b"foo\\bar");
|
||||
assert_eq!(Path::new(b"\\foo\\..\\..\\bar").into_vec().as_slice(), b"\\bar");
|
||||
assert_eq!(Path::new(b"foo\\bar").into_vec(), b"foo\\bar");
|
||||
assert_eq!(Path::new(b"\\foo\\..\\..\\bar").into_vec(), b"\\bar");
|
||||
|
||||
t!(s: Path::new("\\\\a"), "\\a");
|
||||
t!(s: Path::new("\\\\a\\"), "\\a");
|
||||
@ -1322,9 +1322,9 @@ mod tests {
|
||||
#[test]
|
||||
fn test_display_str() {
|
||||
let path = Path::new("foo");
|
||||
assert_eq!(path.display().to_string(), "foo".to_string());
|
||||
assert_eq!(path.display().to_string(), "foo");
|
||||
let path = Path::new(b"\\");
|
||||
assert_eq!(path.filename_display().to_string(), "".to_string());
|
||||
assert_eq!(path.filename_display().to_string(), "");
|
||||
|
||||
let path = Path::new("foo");
|
||||
let mo = path.display().as_cow();
|
||||
@ -1341,9 +1341,9 @@ mod tests {
|
||||
{
|
||||
let path = Path::new($path);
|
||||
let f = format!("{}", path.display());
|
||||
assert_eq!(f.as_slice(), $exp);
|
||||
assert_eq!(f, $exp);
|
||||
let f = format!("{}", path.filename_display());
|
||||
assert_eq!(f.as_slice(), $expf);
|
||||
assert_eq!(f, $expf);
|
||||
}
|
||||
)
|
||||
)
|
||||
@ -2246,7 +2246,7 @@ mod tests {
|
||||
let comps = path.str_components().map(|x|x.unwrap())
|
||||
.collect::<Vec<&str>>();
|
||||
let exp: &[&str] = &$exp;
|
||||
assert_eq!(comps.as_slice(), exp);
|
||||
assert_eq!(comps, exp);
|
||||
let comps = path.str_components().rev().map(|x|x.unwrap())
|
||||
.collect::<Vec<&str>>();
|
||||
let exp = exp.iter().rev().map(|&x|x).collect::<Vec<&str>>();
|
||||
@ -2303,7 +2303,7 @@ mod tests {
|
||||
let path = Path::new($path);
|
||||
let comps = path.components().collect::<Vec<&[u8]>>();
|
||||
let exp: &[&[u8]] = &$exp;
|
||||
assert_eq!(comps.as_slice(), exp);
|
||||
assert_eq!(comps, exp);
|
||||
let comps = path.components().rev().collect::<Vec<&[u8]>>();
|
||||
let exp = exp.iter().rev().map(|&x|x).collect::<Vec<&[u8]>>();
|
||||
assert_eq!(comps, exp);
|
||||
|
@ -529,7 +529,7 @@ mod test {
|
||||
let mut one = [1i];
|
||||
r.shuffle(&mut one);
|
||||
let b: &[_] = &[1];
|
||||
assert_eq!(one.as_slice(), b);
|
||||
assert_eq!(one, b);
|
||||
|
||||
let mut two = [1i, 2];
|
||||
r.shuffle(&mut two);
|
||||
@ -538,7 +538,7 @@ mod test {
|
||||
let mut x = [1i, 1, 1];
|
||||
r.shuffle(&mut x);
|
||||
let b: &[_] = &[1, 1, 1];
|
||||
assert_eq!(x.as_slice(), b);
|
||||
assert_eq!(x, b);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -548,7 +548,7 @@ mod test {
|
||||
let mut v = [1i, 1, 1];
|
||||
r.shuffle(&mut v);
|
||||
let b: &[_] = &[1, 1, 1];
|
||||
assert_eq!(v.as_slice(), b);
|
||||
assert_eq!(v, b);
|
||||
assert_eq!(r.gen_range(0u, 1u), 0u);
|
||||
}
|
||||
|
||||
|
@ -1013,7 +1013,7 @@ mod test {
|
||||
macro_rules! t( ($a:expr, $b:expr) => ({
|
||||
let mut m = Vec::new();
|
||||
super::demangle(&mut m, $a).unwrap();
|
||||
assert_eq!(String::from_utf8(m).unwrap(), $b.to_string());
|
||||
assert_eq!(String::from_utf8(m).unwrap(), $b);
|
||||
}) )
|
||||
|
||||
#[test]
|
||||
|
@ -153,7 +153,7 @@ mod test {
|
||||
#[test]
|
||||
fn test_from_value() {
|
||||
let mut f = Future::from_value("snail".to_string());
|
||||
assert_eq!(f.get(), "snail".to_string());
|
||||
assert_eq!(f.get(), "snail");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -161,25 +161,25 @@ mod test {
|
||||
let (tx, rx) = channel();
|
||||
tx.send("whale".to_string());
|
||||
let mut f = Future::from_receiver(rx);
|
||||
assert_eq!(f.get(), "whale".to_string());
|
||||
assert_eq!(f.get(), "whale");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_from_fn() {
|
||||
let mut f = Future::from_fn(proc() "brail".to_string());
|
||||
assert_eq!(f.get(), "brail".to_string());
|
||||
assert_eq!(f.get(), "brail");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_interface_get() {
|
||||
let mut f = Future::from_value("fail".to_string());
|
||||
assert_eq!(f.get(), "fail".to_string());
|
||||
assert_eq!(f.get(), "fail");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_interface_unwrap() {
|
||||
let f = Future::from_value("fail".to_string());
|
||||
assert_eq!(f.unwrap(), "fail".to_string());
|
||||
assert_eq!(f.unwrap(), "fail");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -191,7 +191,7 @@ mod test {
|
||||
#[test]
|
||||
fn test_spawn() {
|
||||
let mut f = Future::spawn(proc() "bale".to_string());
|
||||
assert_eq!(f.get(), "bale".to_string());
|
||||
assert_eq!(f.get(), "bale");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -201,7 +201,7 @@ pub fn readdir(p: &Path) -> IoResult<Vec<Path>> {
|
||||
|
||||
let size = unsafe { rust_dirent_t_size() };
|
||||
let mut buf = Vec::<u8>::with_capacity(size as uint);
|
||||
let ptr = buf.as_mut_slice().as_mut_ptr() as *mut dirent_t;
|
||||
let ptr = buf.as_mut_ptr() as *mut dirent_t;
|
||||
|
||||
let p = p.to_c_str();
|
||||
let dir_ptr = unsafe {opendir(p.as_ptr())};
|
||||
|
@ -376,8 +376,8 @@ pub fn readlink(p: &Path) -> IoResult<Path> {
|
||||
libc::VOLUME_NAME_DOS)
|
||||
});
|
||||
let ret = match ret {
|
||||
Some(ref s) if s.as_slice().starts_with(r"\\?\") => { // "
|
||||
Ok(Path::new(s.as_slice().slice_from(4)))
|
||||
Some(ref s) if s.starts_with(r"\\?\") => { // "
|
||||
Ok(Path::new(s.slice_from(4)))
|
||||
}
|
||||
Some(s) => Ok(Path::new(s)),
|
||||
None => Err(super::last_error()),
|
||||
|
@ -223,7 +223,7 @@ impl Process {
|
||||
|
||||
with_envp(cfg.env(), |envp| {
|
||||
with_dirp(cfg.cwd(), |dirp| {
|
||||
let mut cmd_str: Vec<u16> = cmd_str.as_slice().utf16_units().collect();
|
||||
let mut cmd_str: Vec<u16> = cmd_str.utf16_units().collect();
|
||||
cmd_str.push(0);
|
||||
let created = CreateProcessW(ptr::null(),
|
||||
cmd_str.as_mut_ptr(),
|
||||
@ -433,7 +433,7 @@ fn with_envp<K, V, T>(env: Option<&collections::HashMap<K, V>>,
|
||||
let kv = format!("{}={}",
|
||||
pair.ref0().container_as_str().unwrap(),
|
||||
pair.ref1().container_as_str().unwrap());
|
||||
blk.extend(kv.as_slice().utf16_units());
|
||||
blk.extend(kv.utf16_units());
|
||||
blk.push(0);
|
||||
}
|
||||
|
||||
@ -484,24 +484,24 @@ mod tests {
|
||||
|
||||
assert_eq!(
|
||||
test_wrapper("prog", &["aaa", "bbb", "ccc"]),
|
||||
"prog aaa bbb ccc".to_string()
|
||||
"prog aaa bbb ccc"
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
test_wrapper("C:\\Program Files\\blah\\blah.exe", &["aaa"]),
|
||||
"\"C:\\Program Files\\blah\\blah.exe\" aaa".to_string()
|
||||
"\"C:\\Program Files\\blah\\blah.exe\" aaa"
|
||||
);
|
||||
assert_eq!(
|
||||
test_wrapper("C:\\Program Files\\test", &["aa\"bb"]),
|
||||
"\"C:\\Program Files\\test\" aa\\\"bb".to_string()
|
||||
"\"C:\\Program Files\\test\" aa\\\"bb"
|
||||
);
|
||||
assert_eq!(
|
||||
test_wrapper("echo", &["a b c"]),
|
||||
"echo \"a b c\"".to_string()
|
||||
"echo \"a b c\""
|
||||
);
|
||||
assert_eq!(
|
||||
test_wrapper("\u03c0\u042f\u97f3\u00e6\u221e", &[]),
|
||||
"\u03c0\u042f\u97f3\u00e6\u221e".to_string()
|
||||
"\u03c0\u042f\u97f3\u00e6\u221e"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -113,7 +113,7 @@ impl TTY {
|
||||
pub fn write(&mut self, buf: &[u8]) -> IoResult<()> {
|
||||
let utf16 = match from_utf8(buf) {
|
||||
Some(utf8) => {
|
||||
utf8.as_slice().utf16_units().collect::<Vec<u16>>()
|
||||
utf8.utf16_units().collect::<Vec<u16>>()
|
||||
}
|
||||
None => return Err(invalid_encoding()),
|
||||
};
|
||||
|
@ -55,7 +55,7 @@ use result::Result;
|
||||
use rustrt::local::Local;
|
||||
use rustrt::task::Task;
|
||||
use rustrt::task;
|
||||
use str::{Str, SendStr};
|
||||
use str::SendStr;
|
||||
use string::{String, ToString};
|
||||
use sync::Future;
|
||||
|
||||
@ -244,7 +244,7 @@ pub fn name() -> Option<String> {
|
||||
|
||||
let task = Local::borrow(None::<Task>);
|
||||
match task.name {
|
||||
Some(ref name) => Some(name.as_slice().to_string()),
|
||||
Some(ref name) => Some(name.to_string()),
|
||||
None => None
|
||||
}
|
||||
}
|
||||
@ -289,21 +289,21 @@ mod test {
|
||||
#[test]
|
||||
fn test_owned_named_task() {
|
||||
TaskBuilder::new().named("ada lovelace".to_string()).try(proc() {
|
||||
assert!(name().unwrap() == "ada lovelace".to_string());
|
||||
assert!(name().unwrap() == "ada lovelace");
|
||||
}).map_err(|_| ()).unwrap();
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_static_named_task() {
|
||||
TaskBuilder::new().named("ada lovelace").try(proc() {
|
||||
assert!(name().unwrap() == "ada lovelace".to_string());
|
||||
assert!(name().unwrap() == "ada lovelace");
|
||||
}).map_err(|_| ()).unwrap();
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_send_named_task() {
|
||||
TaskBuilder::new().named("ada lovelace".into_cow()).try(proc() {
|
||||
assert!(name().unwrap() == "ada lovelace".to_string());
|
||||
assert!(name().unwrap() == "ada lovelace");
|
||||
}).map_err(|_| ()).unwrap();
|
||||
}
|
||||
|
||||
@ -464,7 +464,7 @@ mod test {
|
||||
Err(e) => {
|
||||
type T = String;
|
||||
assert!(e.is::<T>());
|
||||
assert_eq!(*e.downcast::<T>().unwrap(), "owned string".to_string());
|
||||
assert_eq!(*e.downcast::<T>().unwrap(), "owned string");
|
||||
}
|
||||
Ok(()) => panic!()
|
||||
}
|
||||
@ -511,7 +511,7 @@ mod test {
|
||||
assert!(r.is_ok());
|
||||
|
||||
let output = reader.read_to_string().unwrap();
|
||||
assert_eq!(output, "Hello, world!".to_string());
|
||||
assert_eq!(output, "Hello, world!");
|
||||
}
|
||||
|
||||
// NOTE: the corresponding test for stderr is in run-pass/task-stderr, due
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user