extra: Remove usage of fmt!
This commit is contained in:
parent
a8ba31dbf3
commit
7e709bfd0d
|
@ -255,7 +255,7 @@ impl<T:Send> MutexArc<T> {
|
|||
let inner = x.unwrap();
|
||||
let MutexArcInner { failed: failed, data: data, _ } = inner;
|
||||
if failed {
|
||||
fail!(~"Can't unwrap poisoned MutexArc - another task failed inside!");
|
||||
fail2!("Can't unwrap poisoned MutexArc - another task failed inside!");
|
||||
}
|
||||
data
|
||||
}
|
||||
|
@ -300,9 +300,9 @@ impl<T:Freeze + Send> MutexArc<T> {
|
|||
fn check_poison(is_mutex: bool, failed: bool) {
|
||||
if failed {
|
||||
if is_mutex {
|
||||
fail!("Poisoned MutexArc - another task failed inside!");
|
||||
fail2!("Poisoned MutexArc - another task failed inside!");
|
||||
} else {
|
||||
fail!("Poisoned rw_arc - another task failed inside!");
|
||||
fail2!("Poisoned rw_arc - another task failed inside!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -505,7 +505,7 @@ impl<T:Freeze + Send> RWArc<T> {
|
|||
let inner = x.unwrap();
|
||||
let RWArcInner { failed: failed, data: data, _ } = inner;
|
||||
if failed {
|
||||
fail!(~"Can't unwrap poisoned RWArc - another task failed inside!")
|
||||
fail2!(~"Can't unwrap poisoned RWArc - another task failed inside!")
|
||||
}
|
||||
data
|
||||
}
|
||||
|
@ -619,7 +619,7 @@ mod tests {
|
|||
assert_eq!(arc_v.get()[2], 3);
|
||||
assert_eq!(arc_v.get()[4], 5);
|
||||
|
||||
info!(arc_v);
|
||||
info2!("{:?}", arc_v);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
|
@ -127,7 +127,7 @@ unsafe fn destroy_chunk(chunk: &Chunk) {
|
|||
|
||||
let start = round_up_to(after_tydesc, align);
|
||||
|
||||
//debug!("freeing object: idx = %u, size = %u, align = %u, done = %b",
|
||||
//debug2!("freeing object: idx = {}, size = {}, align = {}, done = {}",
|
||||
// start, size, align, is_done);
|
||||
if is_done {
|
||||
((*tydesc).drop_glue)(ptr::offset(buf, start as int) as *i8);
|
||||
|
@ -176,7 +176,7 @@ impl Arena {
|
|||
}
|
||||
this.pod_head.fill = end;
|
||||
|
||||
//debug!("idx = %u, size = %u, align = %u, fill = %u",
|
||||
//debug2!("idx = {}, size = {}, align = {}, fill = {}",
|
||||
// start, n_bytes, align, head.fill);
|
||||
|
||||
ptr::offset(vec::raw::to_ptr(this.pod_head.data), start as int)
|
||||
|
@ -232,7 +232,7 @@ impl Arena {
|
|||
let head = transmute_mut_region(&mut self.head);
|
||||
head.fill = round_up_to(end, sys::pref_align_of::<*TyDesc>());
|
||||
|
||||
//debug!("idx = %u, size = %u, align = %u, fill = %u",
|
||||
//debug2!("idx = {}, size = {}, align = {}, fill = {}",
|
||||
// start, n_bytes, align, head.fill);
|
||||
|
||||
let buf = vec::raw::to_ptr(self.head.data);
|
||||
|
@ -305,6 +305,6 @@ fn test_arena_destructors_fail() {
|
|||
// Now, fail while allocating
|
||||
do arena.alloc::<@int> {
|
||||
// Now fail.
|
||||
fail!();
|
||||
fail2!();
|
||||
};
|
||||
}
|
||||
|
|
|
@ -141,7 +141,7 @@ impl<'self> ToBase64 for &'self [u8] {
|
|||
v.push('=' as u8);
|
||||
}
|
||||
}
|
||||
_ => fail!("Algebra is broken, please alert the math police")
|
||||
_ => fail2!("Algebra is broken, please alert the math police")
|
||||
}
|
||||
|
||||
unsafe {
|
||||
|
@ -202,7 +202,7 @@ impl<'self> FromBase64 for &'self str {
|
|||
'/'|'_' => buf |= 0x3F,
|
||||
'\r'|'\n' => loop,
|
||||
'=' => break,
|
||||
_ => return Err(fmt!("Invalid character '%c' at position %u",
|
||||
_ => return Err(format!("Invalid character '{}' at position {}",
|
||||
self.char_at(idx), idx))
|
||||
}
|
||||
|
||||
|
@ -218,7 +218,7 @@ impl<'self> FromBase64 for &'self str {
|
|||
|
||||
for (idx, byte) in it {
|
||||
if (byte as char) != '=' {
|
||||
return Err(fmt!("Invalid character '%c' at position %u",
|
||||
return Err(format!("Invalid character '{}' at position {}",
|
||||
self.char_at(idx), idx));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -232,7 +232,7 @@ pub struct Bitv {
|
|||
}
|
||||
|
||||
fn die() -> ! {
|
||||
fail!("Tried to do operation on bit vectors with different sizes");
|
||||
fail2!("Tried to do operation on bit vectors with different sizes");
|
||||
}
|
||||
|
||||
impl Bitv {
|
||||
|
@ -1357,7 +1357,7 @@ mod tests {
|
|||
let mut b = Bitv::new(14, true);
|
||||
b.clear();
|
||||
do b.ones |i| {
|
||||
fail!("found 1 at %?", i)
|
||||
fail2!("found 1 at {:?}", i)
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1366,7 +1366,7 @@ mod tests {
|
|||
let mut b = Bitv::new(140, true);
|
||||
b.clear();
|
||||
do b.ones |i| {
|
||||
fail!("found 1 at %?", i)
|
||||
fail2!("found 1 at {:?}", i)
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -179,7 +179,7 @@ mod test {
|
|||
let (port, chan) = rendezvous();
|
||||
do spawn_unlinked {
|
||||
chan.duplex_stream.send(()); // Can't access this field outside this module
|
||||
fail!()
|
||||
fail2!()
|
||||
}
|
||||
port.recv()
|
||||
}
|
||||
|
@ -189,7 +189,7 @@ mod test {
|
|||
let (port, chan) = rendezvous();
|
||||
do spawn_unlinked {
|
||||
port.duplex_stream.recv();
|
||||
fail!()
|
||||
fail2!()
|
||||
}
|
||||
chan.try_send(());
|
||||
}
|
||||
|
@ -200,7 +200,7 @@ mod test {
|
|||
let (port, chan) = rendezvous();
|
||||
do spawn_unlinked {
|
||||
port.duplex_stream.recv();
|
||||
fail!()
|
||||
fail2!()
|
||||
}
|
||||
chan.send(());
|
||||
}
|
||||
|
|
|
@ -109,23 +109,23 @@ impl ToBits for u64 {
|
|||
}
|
||||
}
|
||||
|
||||
/// Adds the specified number of bytes to the bit count. fail!() if this would cause numeric
|
||||
/// Adds the specified number of bytes to the bit count. fail2!() if this would cause numeric
|
||||
/// overflow.
|
||||
pub fn add_bytes_to_bits<T: Int + CheckedAdd + ToBits>(bits: T, bytes: T) -> T {
|
||||
let (new_high_bits, new_low_bits) = bytes.to_bits();
|
||||
|
||||
if new_high_bits > Zero::zero() {
|
||||
fail!("Numeric overflow occured.")
|
||||
fail2!("Numeric overflow occured.")
|
||||
}
|
||||
|
||||
match bits.checked_add(&new_low_bits) {
|
||||
Some(x) => return x,
|
||||
None => fail!("Numeric overflow occured.")
|
||||
None => fail2!("Numeric overflow occured.")
|
||||
}
|
||||
}
|
||||
|
||||
/// Adds the specified number of bytes to the bit count, which is a tuple where the first element is
|
||||
/// the high order value. fail!() if this would cause numeric overflow.
|
||||
/// the high order value. fail2!() if this would cause numeric overflow.
|
||||
pub fn add_bytes_to_bits_tuple
|
||||
<T: Int + Unsigned + CheckedAdd + ToBits>
|
||||
(bits: (T, T), bytes: T) -> (T, T) {
|
||||
|
@ -144,7 +144,7 @@ pub fn add_bytes_to_bits_tuple
|
|||
} else {
|
||||
match hi.checked_add(&new_high_bits) {
|
||||
Some(y) => return (y, x),
|
||||
None => fail!("Numeric overflow occured.")
|
||||
None => fail2!("Numeric overflow occured.")
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -152,7 +152,7 @@ pub fn add_bytes_to_bits_tuple
|
|||
let one: T = One::one();
|
||||
let z = match new_high_bits.checked_add(&one) {
|
||||
Some(w) => w,
|
||||
None => fail!("Numeric overflow occured.")
|
||||
None => fail2!("Numeric overflow occured.")
|
||||
};
|
||||
match hi.checked_add(&z) {
|
||||
// This re-executes the addition that was already performed earlier when overflow
|
||||
|
@ -163,7 +163,7 @@ pub fn add_bytes_to_bits_tuple
|
|||
// be Unsigned - overflow is not defined for Signed types. This function could be
|
||||
// implemented for signed types as well if that were needed.
|
||||
Some(y) => return (y, low + new_low_bits),
|
||||
None => fail!("Numeric overflow occured.")
|
||||
None => fail2!("Numeric overflow occured.")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -632,11 +632,11 @@ pub fn check_links<T>(list: &DList<T>) {
|
|||
loop {
|
||||
match (last_ptr, node_ptr.prev.resolve_immut()) {
|
||||
(None , None ) => {}
|
||||
(None , _ ) => fail!("prev link for list_head"),
|
||||
(None , _ ) => fail2!("prev link for list_head"),
|
||||
(Some(p), Some(pptr)) => {
|
||||
assert_eq!(p as *Node<T>, pptr as *Node<T>);
|
||||
}
|
||||
_ => fail!("prev link is none, not good"),
|
||||
_ => fail2!("prev link is none, not good"),
|
||||
}
|
||||
match node_ptr.next {
|
||||
Some(ref next) => {
|
||||
|
|
|
@ -138,7 +138,7 @@ pub mod reader {
|
|||
(data[start + 3u] as uint),
|
||||
next: start + 4u};
|
||||
}
|
||||
fail!("vint too big");
|
||||
fail2!("vint too big");
|
||||
}
|
||||
|
||||
#[cfg(target_arch = "x86")]
|
||||
|
@ -216,8 +216,8 @@ pub mod reader {
|
|||
match maybe_get_doc(d, tg) {
|
||||
Some(d) => d,
|
||||
None => {
|
||||
error!("failed to find block with tag %u", tg);
|
||||
fail!();
|
||||
error2!("failed to find block with tag {}", tg);
|
||||
fail2!();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -305,20 +305,20 @@ pub mod reader {
|
|||
self.pos = r_doc.end;
|
||||
let str = r_doc.as_str_slice();
|
||||
if lbl != str {
|
||||
fail!("Expected label %s but found %s", lbl, str);
|
||||
fail2!("Expected label {} but found {}", lbl, str);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn next_doc(&mut self, exp_tag: EbmlEncoderTag) -> Doc {
|
||||
debug!(". next_doc(exp_tag=%?)", exp_tag);
|
||||
debug2!(". next_doc(exp_tag={:?})", exp_tag);
|
||||
if self.pos >= self.parent.end {
|
||||
fail!("no more documents in current node!");
|
||||
fail2!("no more documents in current node!");
|
||||
}
|
||||
let TaggedDoc { tag: r_tag, doc: r_doc } =
|
||||
doc_at(self.parent.data, self.pos);
|
||||
debug!("self.parent=%?-%? self.pos=%? r_tag=%? r_doc=%?-%?",
|
||||
debug2!("self.parent={}-{} self.pos={} r_tag={} r_doc={}-{}",
|
||||
self.parent.start,
|
||||
self.parent.end,
|
||||
self.pos,
|
||||
|
@ -326,10 +326,11 @@ pub mod reader {
|
|||
r_doc.start,
|
||||
r_doc.end);
|
||||
if r_tag != (exp_tag as uint) {
|
||||
fail!("expected EBML doc with tag %? but found tag %?", exp_tag, r_tag);
|
||||
fail2!("expected EBML doc with tag {:?} but found tag {:?}",
|
||||
exp_tag, r_tag);
|
||||
}
|
||||
if r_doc.end > self.parent.end {
|
||||
fail!("invalid EBML, child extends to 0x%x, parent to 0x%x",
|
||||
fail2!("invalid EBML, child extends to {:#x}, parent to {:#x}",
|
||||
r_doc.end, self.parent.end);
|
||||
}
|
||||
self.pos = r_doc.end;
|
||||
|
@ -351,7 +352,7 @@ pub mod reader {
|
|||
|
||||
fn _next_uint(&mut self, exp_tag: EbmlEncoderTag) -> uint {
|
||||
let r = doc_as_u32(self.next_doc(exp_tag));
|
||||
debug!("_next_uint exp_tag=%? result=%?", exp_tag, r);
|
||||
debug2!("_next_uint exp_tag={:?} result={}", exp_tag, r);
|
||||
r as uint
|
||||
}
|
||||
}
|
||||
|
@ -383,7 +384,7 @@ pub mod reader {
|
|||
fn read_uint(&mut self) -> uint {
|
||||
let v = doc_as_u64(self.next_doc(EsUint));
|
||||
if v > (::std::uint::max_value as u64) {
|
||||
fail!("uint %? too large for this architecture", v);
|
||||
fail2!("uint {} too large for this architecture", v);
|
||||
}
|
||||
v as uint
|
||||
}
|
||||
|
@ -403,8 +404,8 @@ pub mod reader {
|
|||
fn read_int(&mut self) -> int {
|
||||
let v = doc_as_u64(self.next_doc(EsInt)) as i64;
|
||||
if v > (int::max_value as i64) || v < (int::min_value as i64) {
|
||||
debug!("FIXME #6122: Removing this makes this function miscompile");
|
||||
fail!("int %? out of range for this architecture", v);
|
||||
debug2!("FIXME \\#6122: Removing this makes this function miscompile");
|
||||
fail2!("int {} out of range for this architecture", v);
|
||||
}
|
||||
v as int
|
||||
}
|
||||
|
@ -437,7 +438,7 @@ pub mod reader {
|
|||
name: &str,
|
||||
f: &fn(&mut Decoder) -> T)
|
||||
-> T {
|
||||
debug!("read_enum(%s)", name);
|
||||
debug2!("read_enum({})", name);
|
||||
self._check_label(name);
|
||||
|
||||
let doc = self.next_doc(EsEnum);
|
||||
|
@ -457,9 +458,9 @@ pub mod reader {
|
|||
_: &[&str],
|
||||
f: &fn(&mut Decoder, uint) -> T)
|
||||
-> T {
|
||||
debug!("read_enum_variant()");
|
||||
debug2!("read_enum_variant()");
|
||||
let idx = self._next_uint(EsEnumVid);
|
||||
debug!(" idx=%u", idx);
|
||||
debug2!(" idx={}", idx);
|
||||
|
||||
let doc = self.next_doc(EsEnumBody);
|
||||
|
||||
|
@ -477,7 +478,7 @@ pub mod reader {
|
|||
fn read_enum_variant_arg<T>(&mut self,
|
||||
idx: uint,
|
||||
f: &fn(&mut Decoder) -> T) -> T {
|
||||
debug!("read_enum_variant_arg(idx=%u)", idx);
|
||||
debug2!("read_enum_variant_arg(idx={})", idx);
|
||||
f(self)
|
||||
}
|
||||
|
||||
|
@ -485,9 +486,9 @@ pub mod reader {
|
|||
_: &[&str],
|
||||
f: &fn(&mut Decoder, uint) -> T)
|
||||
-> T {
|
||||
debug!("read_enum_struct_variant()");
|
||||
debug2!("read_enum_struct_variant()");
|
||||
let idx = self._next_uint(EsEnumVid);
|
||||
debug!(" idx=%u", idx);
|
||||
debug2!(" idx={}", idx);
|
||||
|
||||
let doc = self.next_doc(EsEnumBody);
|
||||
|
||||
|
@ -507,7 +508,7 @@ pub mod reader {
|
|||
idx: uint,
|
||||
f: &fn(&mut Decoder) -> T)
|
||||
-> T {
|
||||
debug!("read_enum_struct_variant_arg(name=%?, idx=%u)", name, idx);
|
||||
debug2!("read_enum_struct_variant_arg(name={}, idx={})", name, idx);
|
||||
f(self)
|
||||
}
|
||||
|
||||
|
@ -516,7 +517,7 @@ pub mod reader {
|
|||
_: uint,
|
||||
f: &fn(&mut Decoder) -> T)
|
||||
-> T {
|
||||
debug!("read_struct(name=%s)", name);
|
||||
debug2!("read_struct(name={})", name);
|
||||
f(self)
|
||||
}
|
||||
|
||||
|
@ -525,19 +526,19 @@ pub mod reader {
|
|||
idx: uint,
|
||||
f: &fn(&mut Decoder) -> T)
|
||||
-> T {
|
||||
debug!("read_struct_field(name=%?, idx=%u)", name, idx);
|
||||
debug2!("read_struct_field(name={}, idx={})", name, idx);
|
||||
self._check_label(name);
|
||||
f(self)
|
||||
}
|
||||
|
||||
fn read_tuple<T>(&mut self, f: &fn(&mut Decoder, uint) -> T) -> T {
|
||||
debug!("read_tuple()");
|
||||
debug2!("read_tuple()");
|
||||
self.read_seq(f)
|
||||
}
|
||||
|
||||
fn read_tuple_arg<T>(&mut self, idx: uint, f: &fn(&mut Decoder) -> T)
|
||||
-> T {
|
||||
debug!("read_tuple_arg(idx=%u)", idx);
|
||||
debug2!("read_tuple_arg(idx={})", idx);
|
||||
self.read_seq_elt(idx, f)
|
||||
}
|
||||
|
||||
|
@ -545,7 +546,7 @@ pub mod reader {
|
|||
name: &str,
|
||||
f: &fn(&mut Decoder, uint) -> T)
|
||||
-> T {
|
||||
debug!("read_tuple_struct(name=%?)", name);
|
||||
debug2!("read_tuple_struct(name={})", name);
|
||||
self.read_tuple(f)
|
||||
}
|
||||
|
||||
|
@ -553,43 +554,43 @@ pub mod reader {
|
|||
idx: uint,
|
||||
f: &fn(&mut Decoder) -> T)
|
||||
-> T {
|
||||
debug!("read_tuple_struct_arg(idx=%u)", idx);
|
||||
debug2!("read_tuple_struct_arg(idx={})", idx);
|
||||
self.read_tuple_arg(idx, f)
|
||||
}
|
||||
|
||||
fn read_option<T>(&mut self, f: &fn(&mut Decoder, bool) -> T) -> T {
|
||||
debug!("read_option()");
|
||||
debug2!("read_option()");
|
||||
do self.read_enum("Option") |this| {
|
||||
do this.read_enum_variant(["None", "Some"]) |this, idx| {
|
||||
match idx {
|
||||
0 => f(this, false),
|
||||
1 => f(this, true),
|
||||
_ => fail!(),
|
||||
_ => fail2!(),
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn read_seq<T>(&mut self, f: &fn(&mut Decoder, uint) -> T) -> T {
|
||||
debug!("read_seq()");
|
||||
debug2!("read_seq()");
|
||||
do self.push_doc(EsVec) |d| {
|
||||
let len = d._next_uint(EsVecLen);
|
||||
debug!(" len=%u", len);
|
||||
debug2!(" len={}", len);
|
||||
f(d, len)
|
||||
}
|
||||
}
|
||||
|
||||
fn read_seq_elt<T>(&mut self, idx: uint, f: &fn(&mut Decoder) -> T)
|
||||
-> T {
|
||||
debug!("read_seq_elt(idx=%u)", idx);
|
||||
debug2!("read_seq_elt(idx={})", idx);
|
||||
self.push_doc(EsVecElt, f)
|
||||
}
|
||||
|
||||
fn read_map<T>(&mut self, f: &fn(&mut Decoder, uint) -> T) -> T {
|
||||
debug!("read_map()");
|
||||
debug2!("read_map()");
|
||||
do self.push_doc(EsMap) |d| {
|
||||
let len = d._next_uint(EsMapLen);
|
||||
debug!(" len=%u", len);
|
||||
debug2!(" len={}", len);
|
||||
f(d, len)
|
||||
}
|
||||
}
|
||||
|
@ -598,7 +599,7 @@ pub mod reader {
|
|||
idx: uint,
|
||||
f: &fn(&mut Decoder) -> T)
|
||||
-> T {
|
||||
debug!("read_map_elt_key(idx=%u)", idx);
|
||||
debug2!("read_map_elt_key(idx={})", idx);
|
||||
self.push_doc(EsMapKey, f)
|
||||
}
|
||||
|
||||
|
@ -606,7 +607,7 @@ pub mod reader {
|
|||
idx: uint,
|
||||
f: &fn(&mut Decoder) -> T)
|
||||
-> T {
|
||||
debug!("read_map_elt_val(idx=%u)", idx);
|
||||
debug2!("read_map_elt_val(idx={})", idx);
|
||||
self.push_doc(EsMapVal, f)
|
||||
}
|
||||
}
|
||||
|
@ -642,7 +643,7 @@ pub mod writer {
|
|||
n as u8]),
|
||||
4u => w.write(&[0x10u8 | ((n >> 24_u) as u8), (n >> 16_u) as u8,
|
||||
(n >> 8_u) as u8, n as u8]),
|
||||
_ => fail!("vint to write too big: %?", n)
|
||||
_ => fail2!("vint to write too big: {}", n)
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -651,7 +652,7 @@ pub mod writer {
|
|||
if n < 0x4000_u { write_sized_vuint(w, n, 2u); return; }
|
||||
if n < 0x200000_u { write_sized_vuint(w, n, 3u); return; }
|
||||
if n < 0x10000000_u { write_sized_vuint(w, n, 4u); return; }
|
||||
fail!("vint to write too big: %?", n);
|
||||
fail2!("vint to write too big: {}", n);
|
||||
}
|
||||
|
||||
pub fn Encoder(w: @io::Writer) -> Encoder {
|
||||
|
@ -665,7 +666,7 @@ pub mod writer {
|
|||
// FIXME (#2741): Provide a function to write the standard ebml header.
|
||||
impl Encoder {
|
||||
pub fn start_tag(&mut self, tag_id: uint) {
|
||||
debug!("Start tag %u", tag_id);
|
||||
debug2!("Start tag {}", tag_id);
|
||||
|
||||
// Write the enum ID:
|
||||
write_vuint(self.writer, tag_id);
|
||||
|
@ -684,7 +685,7 @@ pub mod writer {
|
|||
write_sized_vuint(self.writer, size, 4u);
|
||||
self.writer.seek(cur_pos as int, io::SeekSet);
|
||||
|
||||
debug!("End tag (size = %u)", size);
|
||||
debug2!("End tag (size = {})", size);
|
||||
}
|
||||
|
||||
pub fn wr_tag(&mut self, tag_id: uint, blk: &fn()) {
|
||||
|
@ -748,12 +749,12 @@ pub mod writer {
|
|||
}
|
||||
|
||||
pub fn wr_bytes(&mut self, b: &[u8]) {
|
||||
debug!("Write %u bytes", b.len());
|
||||
debug2!("Write {} bytes", b.len());
|
||||
self.writer.write(b);
|
||||
}
|
||||
|
||||
pub fn wr_str(&mut self, s: &str) {
|
||||
debug!("Write str: %?", s);
|
||||
debug2!("Write str: {}", s);
|
||||
self.writer.write(s.as_bytes());
|
||||
}
|
||||
}
|
||||
|
@ -977,7 +978,7 @@ mod tests {
|
|||
#[test]
|
||||
fn test_option_int() {
|
||||
fn test_v(v: Option<int>) {
|
||||
debug!("v == %?", v);
|
||||
debug2!("v == {:?}", v);
|
||||
let bytes = do io::with_bytes_writer |wr| {
|
||||
let mut ebml_w = writer::Encoder(wr);
|
||||
v.encode(&mut ebml_w)
|
||||
|
@ -985,7 +986,7 @@ mod tests {
|
|||
let ebml_doc = reader::Doc(@bytes);
|
||||
let mut deser = reader::Decoder(ebml_doc);
|
||||
let v1 = serialize::Decodable::decode(&mut deser);
|
||||
debug!("v1 == %?", v1);
|
||||
debug2!("v1 == {:?}", v1);
|
||||
assert_eq!(v, v1);
|
||||
}
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ to handle any `FileInput` structs. E.g. a simple `cat` program
|
|||
or a program that numbers lines after concatenating two files
|
||||
|
||||
for input_vec_state(make_path_option_vec([~"a.txt", ~"b.txt"])) |line, state| {
|
||||
io::println(fmt!("%u: %s", state.line_num,
|
||||
io::println(format!("{}: %s", state.line_num,
|
||||
line));
|
||||
}
|
||||
|
||||
|
@ -88,7 +88,7 @@ total line count).
|
|||
input.next_file(); // skip!
|
||||
|
||||
for input.each_line_state |line, state| {
|
||||
io::println(fmt!("%u: %s", state.line_num_file,
|
||||
io::println(format!("{}: %s", state.line_num_file,
|
||||
line))
|
||||
}
|
||||
}
|
||||
|
@ -449,11 +449,11 @@ mod test {
|
|||
fn test_fileinput_read_byte() {
|
||||
let filenames = make_path_option_vec(vec::from_fn(
|
||||
3,
|
||||
|i| fmt!("tmp/lib-fileinput-test-fileinput-read-byte-%u.tmp", i)), true);
|
||||
|i| format!("tmp/lib-fileinput-test-fileinput-read-byte-{}.tmp", i)), true);
|
||||
|
||||
// 3 files containing 0\n, 1\n, and 2\n respectively
|
||||
for (i, filename) in filenames.iter().enumerate() {
|
||||
make_file(filename.get_ref(), [fmt!("%u", i)]);
|
||||
make_file(filename.get_ref(), [format!("{}", i)]);
|
||||
}
|
||||
|
||||
let fi = FileInput::from_vec(filenames.clone());
|
||||
|
@ -479,11 +479,11 @@ mod test {
|
|||
fn test_fileinput_read() {
|
||||
let filenames = make_path_option_vec(vec::from_fn(
|
||||
3,
|
||||
|i| fmt!("tmp/lib-fileinput-test-fileinput-read-%u.tmp", i)), true);
|
||||
|i| format!("tmp/lib-fileinput-test-fileinput-read-{}.tmp", i)), true);
|
||||
|
||||
// 3 files containing 1\n, 2\n, and 3\n respectively
|
||||
for (i, filename) in filenames.iter().enumerate() {
|
||||
make_file(filename.get_ref(), [fmt!("%u", i)]);
|
||||
make_file(filename.get_ref(), [format!("{}", i)]);
|
||||
}
|
||||
|
||||
let fi = FileInput::from_vec(filenames);
|
||||
|
@ -500,13 +500,13 @@ mod test {
|
|||
let mut all_lines = ~[];
|
||||
let filenames = make_path_option_vec(vec::from_fn(
|
||||
3,
|
||||
|i| fmt!("tmp/lib-fileinput-test-input-vec-%u.tmp", i)), true);
|
||||
|i| format!("tmp/lib-fileinput-test-input-vec-{}.tmp", i)), true);
|
||||
|
||||
for (i, filename) in filenames.iter().enumerate() {
|
||||
let contents =
|
||||
vec::from_fn(3, |j| fmt!("%u %u", i, j));
|
||||
vec::from_fn(3, |j| format!("{} {}", i, j));
|
||||
make_file(filename.get_ref(), contents);
|
||||
debug!("contents=%?", contents);
|
||||
debug2!("contents={:?}", contents);
|
||||
all_lines.push_all(contents);
|
||||
}
|
||||
|
||||
|
@ -522,11 +522,11 @@ mod test {
|
|||
fn test_input_vec_state() {
|
||||
let filenames = make_path_option_vec(vec::from_fn(
|
||||
3,
|
||||
|i| fmt!("tmp/lib-fileinput-test-input-vec-state-%u.tmp", i)),true);
|
||||
|i| format!("tmp/lib-fileinput-test-input-vec-state-{}.tmp", i)),true);
|
||||
|
||||
for (i, filename) in filenames.iter().enumerate() {
|
||||
let contents =
|
||||
vec::from_fn(3, |j| fmt!("%u %u", i, j + 1));
|
||||
vec::from_fn(3, |j| format!("{} {}", i, j + 1));
|
||||
make_file(filename.get_ref(), contents);
|
||||
}
|
||||
|
||||
|
@ -544,7 +544,7 @@ mod test {
|
|||
fn test_empty_files() {
|
||||
let filenames = make_path_option_vec(vec::from_fn(
|
||||
3,
|
||||
|i| fmt!("tmp/lib-fileinput-test-empty-files-%u.tmp", i)),true);
|
||||
|i| format!("tmp/lib-fileinput-test-empty-files-{}.tmp", i)),true);
|
||||
|
||||
make_file(filenames[0].get_ref(), [~"1", ~"2"]);
|
||||
make_file(filenames[1].get_ref(), []);
|
||||
|
@ -555,7 +555,7 @@ mod test {
|
|||
let expected_path = match line {
|
||||
"1" | "2" => filenames[0].clone(),
|
||||
"3" | "4" => filenames[2].clone(),
|
||||
_ => fail!("unexpected line")
|
||||
_ => fail2!("unexpected line")
|
||||
};
|
||||
assert_eq!(state.current_path.clone(), expected_path);
|
||||
count += 1;
|
||||
|
@ -593,11 +593,11 @@ mod test {
|
|||
fn test_next_file() {
|
||||
let filenames = make_path_option_vec(vec::from_fn(
|
||||
3,
|
||||
|i| fmt!("tmp/lib-fileinput-test-next-file-%u.tmp", i)),true);
|
||||
|i| format!("tmp/lib-fileinput-test-next-file-{}.tmp", i)),true);
|
||||
|
||||
for (i, filename) in filenames.iter().enumerate() {
|
||||
let contents =
|
||||
vec::from_fn(3, |j| fmt!("%u %u", i, j + 1));
|
||||
vec::from_fn(3, |j| format!("{} {}", i, j + 1));
|
||||
make_file(filename.get_ref(), contents);
|
||||
}
|
||||
|
||||
|
@ -609,7 +609,7 @@ mod test {
|
|||
|
||||
// read all lines from 1 (but don't read any from 2),
|
||||
for i in range(1u, 4) {
|
||||
assert_eq!(input.read_line(), fmt!("1 %u", i));
|
||||
assert_eq!(input.read_line(), format!("1 {}", i));
|
||||
}
|
||||
// 1 is finished, but 2 hasn't been started yet, so this will
|
||||
// just "skip" to the beginning of 2 (Python's fileinput does
|
||||
|
|
|
@ -121,11 +121,11 @@ mod tests {
|
|||
do 2000.times {
|
||||
input.push_all(r.choose(words));
|
||||
}
|
||||
debug!("de/inflate of %u bytes of random word-sequences",
|
||||
debug2!("de/inflate of {} bytes of random word-sequences",
|
||||
input.len());
|
||||
let cmp = deflate_bytes(input);
|
||||
let out = inflate_bytes(cmp);
|
||||
debug!("%u bytes deflated to %u (%.1f%% size)",
|
||||
debug2!("{} bytes deflated to {} ({:.1f}% size)",
|
||||
input.len(), cmp.len(),
|
||||
100.0 * ((cmp.len() as float) / (input.len() as float)));
|
||||
assert_eq!(input, out);
|
||||
|
|
|
@ -261,14 +261,14 @@ impl<T,U:Unflattener<T>,P:BytePort> GenericPort<T> for FlatPort<T, U, P> {
|
|||
fn recv(&self) -> T {
|
||||
match self.try_recv() {
|
||||
Some(val) => val,
|
||||
None => fail!("port is closed")
|
||||
None => fail2!("port is closed")
|
||||
}
|
||||
}
|
||||
fn try_recv(&self) -> Option<T> {
|
||||
let command = match self.byte_port.try_recv(CONTINUE.len()) {
|
||||
Some(c) => c,
|
||||
None => {
|
||||
warn!("flatpipe: broken pipe");
|
||||
warn2!("flatpipe: broken pipe");
|
||||
return None;
|
||||
}
|
||||
};
|
||||
|
@ -279,7 +279,7 @@ impl<T,U:Unflattener<T>,P:BytePort> GenericPort<T> for FlatPort<T, U, P> {
|
|||
io::u64_from_be_bytes(bytes, 0, size_of::<u64>())
|
||||
},
|
||||
None => {
|
||||
warn!("flatpipe: broken pipe");
|
||||
warn2!("flatpipe: broken pipe");
|
||||
return None;
|
||||
}
|
||||
};
|
||||
|
@ -291,13 +291,13 @@ impl<T,U:Unflattener<T>,P:BytePort> GenericPort<T> for FlatPort<T, U, P> {
|
|||
Some(self.unflattener.unflatten(bytes))
|
||||
}
|
||||
None => {
|
||||
warn!("flatpipe: broken pipe");
|
||||
warn2!("flatpipe: broken pipe");
|
||||
return None;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
fail!("flatpipe: unrecognized command");
|
||||
fail2!("flatpipe: unrecognized command");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -477,7 +477,7 @@ pub mod flatteners {
|
|||
Ok(json) => {
|
||||
json::Decoder(json)
|
||||
}
|
||||
Err(e) => fail!("flatpipe: can't parse json: %?", e)
|
||||
Err(e) => fail2!("flatpipe: can't parse json: {:?}", e)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -536,7 +536,7 @@ pub mod bytepipes {
|
|||
if left == 0 {
|
||||
return Some(bytes);
|
||||
} else {
|
||||
warn!("flatpipe: dropped %? broken bytes", left);
|
||||
warn2!("flatpipe: dropped {} broken bytes", left);
|
||||
return None;
|
||||
}
|
||||
}
|
||||
|
@ -797,7 +797,7 @@ mod test {
|
|||
let listen_res = do tcp::listen(
|
||||
addr.clone(), port, 128, iotask, |_kill_ch| {
|
||||
// Tell the sender to initiate the connection
|
||||
debug!("listening");
|
||||
debug2!("listening");
|
||||
begin_connect_chan.send(())
|
||||
}) |new_conn, kill_ch| {
|
||||
|
||||
|
@ -820,7 +820,7 @@ mod test {
|
|||
// Wait for the server to start listening
|
||||
begin_connect_port.recv();
|
||||
|
||||
debug!("connecting");
|
||||
debug2!("connecting");
|
||||
let iotask = &uv::global_loop::get();
|
||||
let connect_result = tcp::connect(addr.clone(), port, iotask);
|
||||
assert!(connect_result.is_ok());
|
||||
|
@ -831,7 +831,7 @@ mod test {
|
|||
let chan = writer_chan(socket_buf);
|
||||
|
||||
for i in range(0, 10) {
|
||||
debug!("sending %?", i);
|
||||
debug2!("sending {}", i);
|
||||
chan.send(i)
|
||||
}
|
||||
}
|
||||
|
@ -841,9 +841,9 @@ mod test {
|
|||
// Wait for a connection
|
||||
let (conn, res_chan) = accept_port.recv();
|
||||
|
||||
debug!("accepting connection");
|
||||
debug2!("accepting connection");
|
||||
let accept_result = tcp::accept(conn);
|
||||
debug!("accepted");
|
||||
debug2!("accepted");
|
||||
assert!(accept_result.is_ok());
|
||||
let sock = result::unwrap(accept_result);
|
||||
res_chan.send(());
|
||||
|
@ -855,7 +855,7 @@ mod test {
|
|||
|
||||
for i in range(0, 10) {
|
||||
let j = port.recv();
|
||||
debug!("received %?", j);
|
||||
debug2!("received {:?}", j);
|
||||
assert_eq!(i, j);
|
||||
}
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@ impl<A> Future<A> {
|
|||
let state = replace(&mut this.state, Evaluating);
|
||||
match state {
|
||||
Forced(v) => v,
|
||||
_ => fail!( "Logic error." ),
|
||||
_ => fail2!( "Logic error." ),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -69,10 +69,10 @@ impl<A> Future<A> {
|
|||
*/
|
||||
match self.state {
|
||||
Forced(ref v) => return v,
|
||||
Evaluating => fail!("Recursive forcing of future!"),
|
||||
Evaluating => fail2!("Recursive forcing of future!"),
|
||||
Pending(_) => {
|
||||
match replace(&mut self.state, Evaluating) {
|
||||
Forced(_) | Evaluating => fail!("Logic error."),
|
||||
Forced(_) | Evaluating => fail2!("Logic error."),
|
||||
Pending(f) => {
|
||||
self.state = Forced(f());
|
||||
self.get_ref()
|
||||
|
@ -217,7 +217,7 @@ mod test {
|
|||
#[test]
|
||||
#[should_fail]
|
||||
fn test_futurefail() {
|
||||
let mut f = Future::spawn(|| fail!());
|
||||
let mut f = Future::spawn(|| fail2!());
|
||||
let _x: ~str = f.get();
|
||||
}
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
//! ];
|
||||
//! let matches = match getopts(args.tail(), opts) {
|
||||
//! Ok(m) => { m }
|
||||
//! Err(f) => { fail!(f.to_err_msg()) }
|
||||
//! Err(f) => { fail2!(f.to_err_msg()) }
|
||||
//! };
|
||||
//! if matches.opt_present("h") || matches.opt_present("help") {
|
||||
//! print_usage(program, opts);
|
||||
|
@ -185,7 +185,7 @@ impl Matches {
|
|||
pub fn opt_vals(&self, nm: &str) -> ~[Optval] {
|
||||
match find_opt(self.opts, Name::from_str(nm)) {
|
||||
Some(id) => self.vals[id].clone(),
|
||||
None => fail!("No option '%s' defined", nm)
|
||||
None => fail2!("No option '{}' defined", nm)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -365,19 +365,19 @@ impl Fail_ {
|
|||
pub fn to_err_msg(self) -> ~str {
|
||||
match self {
|
||||
ArgumentMissing(ref nm) => {
|
||||
fmt!("Argument to option '%s' missing.", *nm)
|
||||
format!("Argument to option '{}' missing.", *nm)
|
||||
}
|
||||
UnrecognizedOption(ref nm) => {
|
||||
fmt!("Unrecognized option: '%s'.", *nm)
|
||||
format!("Unrecognized option: '{}'.", *nm)
|
||||
}
|
||||
OptionMissing(ref nm) => {
|
||||
fmt!("Required option '%s' missing.", *nm)
|
||||
format!("Required option '{}' missing.", *nm)
|
||||
}
|
||||
OptionDuplicated(ref nm) => {
|
||||
fmt!("Option '%s' given more than once.", *nm)
|
||||
format!("Option '{}' given more than once.", *nm)
|
||||
}
|
||||
UnexpectedArgument(ref nm) => {
|
||||
fmt!("Option '%s' does not take an argument.", *nm)
|
||||
format!("Option '{}' does not take an argument.", *nm)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -551,7 +551,7 @@ pub mod groups {
|
|||
} = (*self).clone();
|
||||
|
||||
match (short_name.len(), long_name.len()) {
|
||||
(0,0) => fail!("this long-format option was given no name"),
|
||||
(0,0) => fail2!("this long-format option was given no name"),
|
||||
(0,_) => Opt {
|
||||
name: Long((long_name)),
|
||||
hasarg: hasarg,
|
||||
|
@ -577,7 +577,7 @@ pub mod groups {
|
|||
}
|
||||
]
|
||||
},
|
||||
(_,_) => fail!("something is wrong with the long-form opt")
|
||||
(_,_) => fail2!("something is wrong with the long-form opt")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -696,7 +696,7 @@ pub mod groups {
|
|||
row.push_str(short_name);
|
||||
row.push_char(' ');
|
||||
}
|
||||
_ => fail!("the short name should only be 1 ascii char long"),
|
||||
_ => fail2!("the short name should only be 1 ascii char long"),
|
||||
}
|
||||
|
||||
// long option
|
||||
|
@ -752,7 +752,7 @@ pub mod groups {
|
|||
row
|
||||
});
|
||||
|
||||
fmt!("%s\n\nOptions:\n%s\n", brief, rows.collect::<~[~str]>().connect("\n"))
|
||||
format!("{}\n\nOptions:\n{}\n", brief, rows.collect::<~[~str]>().connect("\n"))
|
||||
}
|
||||
|
||||
/// Splits a string into substrings with possibly internal whitespace,
|
||||
|
@ -810,7 +810,7 @@ pub mod groups {
|
|||
|
||||
(B, Cr, UnderLim) => { B }
|
||||
(B, Cr, OverLim) if (i - last_start + 1) > lim
|
||||
=> fail!("word starting with %? longer than limit!",
|
||||
=> fail2!("word starting with {} longer than limit!",
|
||||
ss.slice(last_start, i + 1)),
|
||||
(B, Cr, OverLim) => { slice(); slice_start = last_start; B }
|
||||
(B, Ws, UnderLim) => { last_end = i; C }
|
||||
|
@ -883,7 +883,7 @@ mod tests {
|
|||
assert!(m.opt_present("test"));
|
||||
assert_eq!(m.opt_str("test").unwrap(), ~"20");
|
||||
}
|
||||
_ => { fail!("test_reqopt_long failed"); }
|
||||
_ => { fail2!("test_reqopt_long failed"); }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -894,7 +894,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Err(f) => check_fail_type(f, OptionMissing_),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -905,7 +905,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Err(f) => check_fail_type(f, ArgumentMissing_),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -916,7 +916,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Err(f) => check_fail_type(f, OptionDuplicated_),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -930,7 +930,7 @@ mod tests {
|
|||
assert!(m.opt_present("t"));
|
||||
assert_eq!(m.opt_str("t").unwrap(), ~"20");
|
||||
}
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -941,7 +941,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Err(f) => check_fail_type(f, OptionMissing_),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -952,7 +952,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Err(f) => check_fail_type(f, ArgumentMissing_),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -963,7 +963,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Err(f) => check_fail_type(f, OptionDuplicated_),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -979,7 +979,7 @@ mod tests {
|
|||
assert!(m.opt_present("test"));
|
||||
assert_eq!(m.opt_str("test").unwrap(), ~"20");
|
||||
}
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -990,7 +990,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Ok(ref m) => assert!(!m.opt_present("test")),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1001,7 +1001,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Err(f) => check_fail_type(f, ArgumentMissing_),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1012,7 +1012,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Err(f) => check_fail_type(f, OptionDuplicated_),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1026,7 +1026,7 @@ mod tests {
|
|||
assert!((m.opt_present("t")));
|
||||
assert_eq!(m.opt_str("t").unwrap(), ~"20");
|
||||
}
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1037,7 +1037,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Ok(ref m) => assert!(!m.opt_present("t")),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1048,7 +1048,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Err(f) => check_fail_type(f, ArgumentMissing_),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1059,7 +1059,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Err(f) => check_fail_type(f, OptionDuplicated_),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1072,7 +1072,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Ok(ref m) => assert!(m.opt_present("test")),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1083,7 +1083,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Ok(ref m) => assert!(!m.opt_present("test")),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1094,10 +1094,10 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Err(f) => {
|
||||
error!(f.clone().to_err_msg());
|
||||
error2!("{:?}", f.clone().to_err_msg());
|
||||
check_fail_type(f, UnexpectedArgument_);
|
||||
}
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1108,7 +1108,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Err(f) => check_fail_type(f, OptionDuplicated_),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1119,7 +1119,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Ok(ref m) => assert!(m.opt_present("t")),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1130,7 +1130,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Ok(ref m) => assert!(!m.opt_present("t")),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1145,7 +1145,7 @@ mod tests {
|
|||
|
||||
assert!(m.free[0] == ~"20");
|
||||
}
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1156,7 +1156,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Err(f) => check_fail_type(f, OptionDuplicated_),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1170,7 +1170,7 @@ mod tests {
|
|||
Ok(ref m) => {
|
||||
assert_eq!(m.opt_count("v"), 1);
|
||||
}
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1183,7 +1183,7 @@ mod tests {
|
|||
Ok(ref m) => {
|
||||
assert_eq!(m.opt_count("v"), 2);
|
||||
}
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1196,7 +1196,7 @@ mod tests {
|
|||
Ok(ref m) => {
|
||||
assert_eq!(m.opt_count("v"), 2);
|
||||
}
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1209,7 +1209,7 @@ mod tests {
|
|||
Ok(ref m) => {
|
||||
assert_eq!(m.opt_count("verbose"), 1);
|
||||
}
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1222,7 +1222,7 @@ mod tests {
|
|||
Ok(ref m) => {
|
||||
assert_eq!(m.opt_count("verbose"), 2);
|
||||
}
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1237,7 +1237,7 @@ mod tests {
|
|||
assert!((m.opt_present("test")));
|
||||
assert_eq!(m.opt_str("test").unwrap(), ~"20");
|
||||
}
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1248,7 +1248,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Ok(ref m) => assert!(!m.opt_present("test")),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1259,7 +1259,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Err(f) => check_fail_type(f, ArgumentMissing_),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1276,7 +1276,7 @@ mod tests {
|
|||
assert!(pair[0] == ~"20");
|
||||
assert!(pair[1] == ~"30");
|
||||
}
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1290,7 +1290,7 @@ mod tests {
|
|||
assert!((m.opt_present("t")));
|
||||
assert_eq!(m.opt_str("t").unwrap(), ~"20");
|
||||
}
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1301,7 +1301,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Ok(ref m) => assert!(!m.opt_present("t")),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1312,7 +1312,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Err(f) => check_fail_type(f, ArgumentMissing_),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1329,7 +1329,7 @@ mod tests {
|
|||
assert!(pair[0] == ~"20");
|
||||
assert!(pair[1] == ~"30");
|
||||
}
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1340,7 +1340,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Err(f) => check_fail_type(f, UnrecognizedOption_),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1351,7 +1351,7 @@ mod tests {
|
|||
let rs = getopts(args, opts);
|
||||
match rs {
|
||||
Err(f) => check_fail_type(f, UnrecognizedOption_),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1383,7 +1383,7 @@ mod tests {
|
|||
assert!(pair[1] == ~"-60 70");
|
||||
assert!((!m.opt_present("notpresent")));
|
||||
}
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1394,7 +1394,7 @@ mod tests {
|
|||
let args_single = ~[~"-e", ~"foo"];
|
||||
let matches_single = &match getopts(args_single, opts) {
|
||||
result::Ok(m) => m,
|
||||
result::Err(_) => fail!()
|
||||
result::Err(_) => fail2!()
|
||||
};
|
||||
assert!(matches_single.opts_present([~"e"]));
|
||||
assert!(matches_single.opts_present([~"encrypt", ~"e"]));
|
||||
|
@ -1410,7 +1410,7 @@ mod tests {
|
|||
let args_both = ~[~"-e", ~"foo", ~"--encrypt", ~"foo"];
|
||||
let matches_both = &match getopts(args_both, opts) {
|
||||
result::Ok(m) => m,
|
||||
result::Err(_) => fail!()
|
||||
result::Err(_) => fail2!()
|
||||
};
|
||||
assert!(matches_both.opts_present([~"e"]));
|
||||
assert!(matches_both.opts_present([~"encrypt"]));
|
||||
|
@ -1432,7 +1432,7 @@ mod tests {
|
|||
let opts = ~[optmulti("L"), optmulti("M")];
|
||||
let matches = &match getopts(args, opts) {
|
||||
result::Ok(m) => m,
|
||||
result::Err(_) => fail!()
|
||||
result::Err(_) => fail2!()
|
||||
};
|
||||
assert!(matches.opts_present([~"L"]));
|
||||
assert_eq!(matches.opts_str([~"L"]).unwrap(), ~"foo");
|
||||
|
@ -1575,8 +1575,8 @@ Options:
|
|||
|
||||
let generated_usage = groups::usage("Usage: fruits", optgroups);
|
||||
|
||||
debug!("expected: <<%s>>", expected);
|
||||
debug!("generated: <<%s>>", generated_usage);
|
||||
debug2!("expected: <<{}>>", expected);
|
||||
debug2!("generated: <<{}>>", generated_usage);
|
||||
assert_eq!(generated_usage, expected);
|
||||
}
|
||||
|
||||
|
@ -1603,8 +1603,8 @@ Options:
|
|||
|
||||
let usage = groups::usage("Usage: fruits", optgroups);
|
||||
|
||||
debug!("expected: <<%s>>", expected);
|
||||
debug!("generated: <<%s>>", usage);
|
||||
debug2!("expected: <<{}>>", expected);
|
||||
debug2!("generated: <<{}>>", usage);
|
||||
assert!(usage == expected)
|
||||
}
|
||||
|
||||
|
@ -1630,8 +1630,8 @@ Options:
|
|||
|
||||
let usage = groups::usage("Usage: fruits", optgroups);
|
||||
|
||||
debug!("expected: <<%s>>", expected);
|
||||
debug!("generated: <<%s>>", usage);
|
||||
debug2!("expected: <<{}>>", expected);
|
||||
debug2!("generated: <<{}>>", usage);
|
||||
assert!(usage == expected)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -552,13 +552,13 @@ mod test {
|
|||
|
||||
let pat = Pattern::new("a[0-9]b");
|
||||
for i in range(0, 10) {
|
||||
assert!(pat.matches(fmt!("a%db", i)));
|
||||
assert!(pat.matches(format!("a{}b", i)));
|
||||
}
|
||||
assert!(!pat.matches("a_b"));
|
||||
|
||||
let pat = Pattern::new("a[!0-9]b");
|
||||
for i in range(0, 10) {
|
||||
assert!(!pat.matches(fmt!("a%db", i)));
|
||||
assert!(!pat.matches(format!("a{}b", i)));
|
||||
}
|
||||
assert!(pat.matches("a_b"));
|
||||
|
||||
|
|
|
@ -102,8 +102,8 @@ impl<'self> FromHex for &'self str {
|
|||
buf >>= 4;
|
||||
loop
|
||||
}
|
||||
_ => return Err(fmt!("Invalid character '%c' at position %u",
|
||||
self.char_at(idx), idx))
|
||||
_ => return Err(format!("Invalid character '{}' at position {}",
|
||||
self.char_at(idx), idx))
|
||||
}
|
||||
|
||||
modulus += 1;
|
||||
|
@ -158,15 +158,15 @@ mod tests {
|
|||
#[test]
|
||||
pub fn test_to_hex_all_bytes() {
|
||||
for i in range(0, 256) {
|
||||
assert_eq!([i as u8].to_hex(), fmt!("%02x", i as uint));
|
||||
assert_eq!([i as u8].to_hex(), format!("{:02x}", i as uint));
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
pub fn test_from_hex_all_bytes() {
|
||||
for i in range(0, 256) {
|
||||
assert_eq!(fmt!("%02x", i as uint).from_hex().unwrap(), ~[i as u8]);
|
||||
assert_eq!(fmt!("%02X", i as uint).from_hex().unwrap(), ~[i as u8]);
|
||||
assert_eq!(format!("{:02x}", i as uint).from_hex().unwrap(), ~[i as u8]);
|
||||
assert_eq!(format!("{:02X}", i as uint).from_hex().unwrap(), ~[i as u8]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -885,10 +885,10 @@ pub fn Decoder(json: Json) -> Decoder {
|
|||
|
||||
impl serialize::Decoder for Decoder {
|
||||
fn read_nil(&mut self) -> () {
|
||||
debug!("read_nil");
|
||||
debug2!("read_nil");
|
||||
match self.stack.pop() {
|
||||
Null => (),
|
||||
value => fail!("not a null: %?", value)
|
||||
value => fail2!("not a null: {:?}", value)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -905,20 +905,20 @@ impl serialize::Decoder for Decoder {
|
|||
fn read_int(&mut self) -> int { self.read_float() as int }
|
||||
|
||||
fn read_bool(&mut self) -> bool {
|
||||
debug!("read_bool");
|
||||
debug2!("read_bool");
|
||||
match self.stack.pop() {
|
||||
Boolean(b) => b,
|
||||
value => fail!("not a boolean: %?", value)
|
||||
value => fail2!("not a boolean: {:?}", value)
|
||||
}
|
||||
}
|
||||
|
||||
fn read_f64(&mut self) -> f64 { self.read_float() as f64 }
|
||||
fn read_f32(&mut self) -> f32 { self.read_float() as f32 }
|
||||
fn read_float(&mut self) -> float {
|
||||
debug!("read_float");
|
||||
debug2!("read_float");
|
||||
match self.stack.pop() {
|
||||
Number(f) => f,
|
||||
value => fail!("not a number: %?", value)
|
||||
value => fail2!("not a number: {:?}", value)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -926,20 +926,20 @@ impl serialize::Decoder for Decoder {
|
|||
let mut v = ~[];
|
||||
let s = self.read_str();
|
||||
for c in s.iter() { v.push(c) }
|
||||
if v.len() != 1 { fail!("string must have one character") }
|
||||
if v.len() != 1 { fail2!("string must have one character") }
|
||||
v[0]
|
||||
}
|
||||
|
||||
fn read_str(&mut self) -> ~str {
|
||||
debug!("read_str");
|
||||
debug2!("read_str");
|
||||
match self.stack.pop() {
|
||||
String(s) => s,
|
||||
json => fail!("not a string: %?", json)
|
||||
json => fail2!("not a string: {:?}", json)
|
||||
}
|
||||
}
|
||||
|
||||
fn read_enum<T>(&mut self, name: &str, f: &fn(&mut Decoder) -> T) -> T {
|
||||
debug!("read_enum(%s)", name);
|
||||
debug2!("read_enum({})", name);
|
||||
f(self)
|
||||
}
|
||||
|
||||
|
@ -947,13 +947,13 @@ impl serialize::Decoder for Decoder {
|
|||
names: &[&str],
|
||||
f: &fn(&mut Decoder, uint) -> T)
|
||||
-> T {
|
||||
debug!("read_enum_variant(names=%?)", names);
|
||||
debug2!("read_enum_variant(names={:?})", names);
|
||||
let name = match self.stack.pop() {
|
||||
String(s) => s,
|
||||
Object(o) => {
|
||||
let n = match o.find(&~"variant").expect("invalidly encoded json") {
|
||||
&String(ref s) => s.clone(),
|
||||
_ => fail!("invalidly encoded json"),
|
||||
_ => fail2!("invalidly encoded json"),
|
||||
};
|
||||
match o.find(&~"fields").expect("invalidly encoded json") {
|
||||
&List(ref l) => {
|
||||
|
@ -961,15 +961,15 @@ impl serialize::Decoder for Decoder {
|
|||
self.stack.push(field.clone());
|
||||
}
|
||||
},
|
||||
_ => fail!("invalidly encoded json")
|
||||
_ => fail2!("invalidly encoded json")
|
||||
}
|
||||
n
|
||||
}
|
||||
ref json => fail!("invalid variant: %?", *json),
|
||||
ref json => fail2!("invalid variant: {:?}", *json),
|
||||
};
|
||||
let idx = match names.iter().position(|n| str::eq_slice(*n, name)) {
|
||||
Some(idx) => idx,
|
||||
None => fail!("Unknown variant name: %?", name),
|
||||
None => fail2!("Unknown variant name: {}", name),
|
||||
};
|
||||
f(self, idx)
|
||||
}
|
||||
|
@ -978,7 +978,7 @@ impl serialize::Decoder for Decoder {
|
|||
idx: uint,
|
||||
f: &fn(&mut Decoder) -> T)
|
||||
-> T {
|
||||
debug!("read_enum_variant_arg(idx=%u)", idx);
|
||||
debug2!("read_enum_variant_arg(idx={})", idx);
|
||||
f(self)
|
||||
}
|
||||
|
||||
|
@ -986,7 +986,7 @@ impl serialize::Decoder for Decoder {
|
|||
names: &[&str],
|
||||
f: &fn(&mut Decoder, uint) -> T)
|
||||
-> T {
|
||||
debug!("read_enum_struct_variant(names=%?)", names);
|
||||
debug2!("read_enum_struct_variant(names={:?})", names);
|
||||
self.read_enum_variant(names, f)
|
||||
}
|
||||
|
||||
|
@ -996,7 +996,7 @@ impl serialize::Decoder for Decoder {
|
|||
idx: uint,
|
||||
f: &fn(&mut Decoder) -> T)
|
||||
-> T {
|
||||
debug!("read_enum_struct_variant_field(name=%?, idx=%u)", name, idx);
|
||||
debug2!("read_enum_struct_variant_field(name={}, idx={})", name, idx);
|
||||
self.read_enum_variant_arg(idx, f)
|
||||
}
|
||||
|
||||
|
@ -1005,7 +1005,7 @@ impl serialize::Decoder for Decoder {
|
|||
len: uint,
|
||||
f: &fn(&mut Decoder) -> T)
|
||||
-> T {
|
||||
debug!("read_struct(name=%s, len=%u)", name, len);
|
||||
debug2!("read_struct(name={}, len={})", name, len);
|
||||
let value = f(self);
|
||||
self.stack.pop();
|
||||
value
|
||||
|
@ -1016,12 +1016,12 @@ impl serialize::Decoder for Decoder {
|
|||
idx: uint,
|
||||
f: &fn(&mut Decoder) -> T)
|
||||
-> T {
|
||||
debug!("read_struct_field(name=%?, idx=%u)", name, idx);
|
||||
debug2!("read_struct_field(name={}, idx={})", name, idx);
|
||||
match self.stack.pop() {
|
||||
Object(obj) => {
|
||||
let mut obj = obj;
|
||||
let value = match obj.pop(&name.to_owned()) {
|
||||
None => fail!("no such field: %s", name),
|
||||
None => fail2!("no such field: {}", name),
|
||||
Some(json) => {
|
||||
self.stack.push(json);
|
||||
f(self)
|
||||
|
@ -1030,12 +1030,12 @@ impl serialize::Decoder for Decoder {
|
|||
self.stack.push(Object(obj));
|
||||
value
|
||||
}
|
||||
value => fail!("not an object: %?", value)
|
||||
value => fail2!("not an object: {:?}", value)
|
||||
}
|
||||
}
|
||||
|
||||
fn read_tuple<T>(&mut self, f: &fn(&mut Decoder, uint) -> T) -> T {
|
||||
debug!("read_tuple()");
|
||||
debug2!("read_tuple()");
|
||||
self.read_seq(f)
|
||||
}
|
||||
|
||||
|
@ -1043,7 +1043,7 @@ impl serialize::Decoder for Decoder {
|
|||
idx: uint,
|
||||
f: &fn(&mut Decoder) -> T)
|
||||
-> T {
|
||||
debug!("read_tuple_arg(idx=%u)", idx);
|
||||
debug2!("read_tuple_arg(idx={})", idx);
|
||||
self.read_seq_elt(idx, f)
|
||||
}
|
||||
|
||||
|
@ -1051,7 +1051,7 @@ impl serialize::Decoder for Decoder {
|
|||
name: &str,
|
||||
f: &fn(&mut Decoder, uint) -> T)
|
||||
-> T {
|
||||
debug!("read_tuple_struct(name=%?)", name);
|
||||
debug2!("read_tuple_struct(name={})", name);
|
||||
self.read_tuple(f)
|
||||
}
|
||||
|
||||
|
@ -1059,7 +1059,7 @@ impl serialize::Decoder for Decoder {
|
|||
idx: uint,
|
||||
f: &fn(&mut Decoder) -> T)
|
||||
-> T {
|
||||
debug!("read_tuple_struct_arg(idx=%u)", idx);
|
||||
debug2!("read_tuple_struct_arg(idx={})", idx);
|
||||
self.read_tuple_arg(idx, f)
|
||||
}
|
||||
|
||||
|
@ -1071,7 +1071,7 @@ impl serialize::Decoder for Decoder {
|
|||
}
|
||||
|
||||
fn read_seq<T>(&mut self, f: &fn(&mut Decoder, uint) -> T) -> T {
|
||||
debug!("read_seq()");
|
||||
debug2!("read_seq()");
|
||||
let len = match self.stack.pop() {
|
||||
List(list) => {
|
||||
let len = list.len();
|
||||
|
@ -1080,18 +1080,18 @@ impl serialize::Decoder for Decoder {
|
|||
}
|
||||
len
|
||||
}
|
||||
_ => fail!("not a list"),
|
||||
_ => fail2!("not a list"),
|
||||
};
|
||||
f(self, len)
|
||||
}
|
||||
|
||||
fn read_seq_elt<T>(&mut self, idx: uint, f: &fn(&mut Decoder) -> T) -> T {
|
||||
debug!("read_seq_elt(idx=%u)", idx);
|
||||
debug2!("read_seq_elt(idx={})", idx);
|
||||
f(self)
|
||||
}
|
||||
|
||||
fn read_map<T>(&mut self, f: &fn(&mut Decoder, uint) -> T) -> T {
|
||||
debug!("read_map()");
|
||||
debug2!("read_map()");
|
||||
let len = match self.stack.pop() {
|
||||
Object(obj) => {
|
||||
let len = obj.len();
|
||||
|
@ -1101,7 +1101,7 @@ impl serialize::Decoder for Decoder {
|
|||
}
|
||||
len
|
||||
}
|
||||
json => fail!("not an object: %?", json),
|
||||
json => fail2!("not an object: {:?}", json),
|
||||
};
|
||||
f(self, len)
|
||||
}
|
||||
|
@ -1110,13 +1110,13 @@ impl serialize::Decoder for Decoder {
|
|||
idx: uint,
|
||||
f: &fn(&mut Decoder) -> T)
|
||||
-> T {
|
||||
debug!("read_map_elt_key(idx=%u)", idx);
|
||||
debug2!("read_map_elt_key(idx={})", idx);
|
||||
f(self)
|
||||
}
|
||||
|
||||
fn read_map_elt_val<T>(&mut self, idx: uint, f: &fn(&mut Decoder) -> T)
|
||||
-> T {
|
||||
debug!("read_map_elt_val(idx=%u)", idx);
|
||||
debug2!("read_map_elt_val(idx={})", idx);
|
||||
f(self)
|
||||
}
|
||||
}
|
||||
|
@ -1321,7 +1321,7 @@ impl to_str::ToStr for Json {
|
|||
|
||||
impl to_str::ToStr for Error {
|
||||
fn to_str(&self) -> ~str {
|
||||
fmt!("%u:%u: %s", self.line, self.col, *self.msg)
|
||||
format!("{}:{}: {}", self.line, self.col, *self.msg)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -96,7 +96,7 @@ pub fn len<T>(ls: @List<T>) -> uint {
|
|||
pub fn tail<T>(ls: @List<T>) -> @List<T> {
|
||||
match *ls {
|
||||
Cons(_, tl) => return tl,
|
||||
Nil => fail!("list empty")
|
||||
Nil => fail2!("list empty")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -105,7 +105,7 @@ pub fn head<T:Clone>(ls: @List<T>) -> T {
|
|||
match *ls {
|
||||
Cons(ref hd, _) => (*hd).clone(),
|
||||
// makes me sad
|
||||
_ => fail!("head invoked on empty list")
|
||||
_ => fail2!("head invoked on empty list")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -352,7 +352,7 @@ impl Rem<BigUint, BigUint> for BigUint {
|
|||
|
||||
impl Neg<BigUint> for BigUint {
|
||||
#[inline]
|
||||
fn neg(&self) -> BigUint { fail!() }
|
||||
fn neg(&self) -> BigUint { fail2!() }
|
||||
}
|
||||
|
||||
impl Integer for BigUint {
|
||||
|
@ -374,7 +374,7 @@ impl Integer for BigUint {
|
|||
}
|
||||
|
||||
fn div_mod_floor(&self, other: &BigUint) -> (BigUint, BigUint) {
|
||||
if other.is_zero() { fail!() }
|
||||
if other.is_zero() { fail2!() }
|
||||
if self.is_zero() { return (Zero::zero(), Zero::zero()); }
|
||||
if *other == One::one() { return ((*self).clone(), Zero::zero()); }
|
||||
|
||||
|
@ -726,7 +726,7 @@ fn get_radix_base(radix: uint) -> (uint, uint) {
|
|||
14 => (1475789056, 8),
|
||||
15 => (2562890625, 8),
|
||||
16 => (4294967296, 8),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -750,7 +750,7 @@ fn get_radix_base(radix: uint) -> (uint, uint) {
|
|||
14 => (38416, 4),
|
||||
15 => (50625, 4),
|
||||
16 => (65536, 4),
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1004,7 +1004,7 @@ impl Integer for BigInt {
|
|||
let d = BigInt::from_biguint(Plus, d_ui);
|
||||
let r = BigInt::from_biguint(Plus, r_ui);
|
||||
match (self.sign, other.sign) {
|
||||
(_, Zero) => fail!(),
|
||||
(_, Zero) => fail2!(),
|
||||
(Plus, Plus) | (Zero, Plus) => ( d, r),
|
||||
(Plus, Minus) | (Zero, Minus) => (-d, r),
|
||||
(Minus, Plus) => (-d, -r),
|
||||
|
@ -1030,7 +1030,7 @@ impl Integer for BigInt {
|
|||
let d = BigInt::from_biguint(Plus, d_ui);
|
||||
let m = BigInt::from_biguint(Plus, m_ui);
|
||||
match (self.sign, other.sign) {
|
||||
(_, Zero) => fail!(),
|
||||
(_, Zero) => fail2!(),
|
||||
(Plus, Plus) | (Zero, Plus) => (d, m),
|
||||
(Plus, Minus) | (Zero, Minus) => if m.is_zero() {
|
||||
(-d, Zero::zero())
|
||||
|
@ -1742,7 +1742,7 @@ mod biguint_tests {
|
|||
~"2" +
|
||||
str::from_chars(vec::from_elem(bits / 2 - 1, '0')) + "1"),
|
||||
(10, match bits {
|
||||
32 => ~"8589934593", 16 => ~"131073", _ => fail!()
|
||||
32 => ~"8589934593", 16 => ~"131073", _ => fail2!()
|
||||
}),
|
||||
(16,
|
||||
~"2" +
|
||||
|
@ -1759,7 +1759,7 @@ mod biguint_tests {
|
|||
(10, match bits {
|
||||
32 => ~"55340232229718589441",
|
||||
16 => ~"12885032961",
|
||||
_ => fail!()
|
||||
_ => fail2!()
|
||||
}),
|
||||
(16, ~"3" +
|
||||
str::from_chars(vec::from_elem(bits / 4 - 1, '0')) + "2" +
|
||||
|
@ -1814,7 +1814,7 @@ mod biguint_tests {
|
|||
fn check(n: uint, s: &str) {
|
||||
let n = factor(n);
|
||||
let ans = match FromStrRadix::from_str_radix(s, 10) {
|
||||
Some(x) => x, None => fail!()
|
||||
Some(x) => x, None => fail2!()
|
||||
};
|
||||
assert_eq!(n, ans);
|
||||
}
|
||||
|
|
|
@ -172,9 +172,9 @@ impl<T: Clone + Num> One for Cmplx<T> {
|
|||
impl<T: ToStr + Num + Ord> ToStr for Cmplx<T> {
|
||||
fn to_str(&self) -> ~str {
|
||||
if self.im < Zero::zero() {
|
||||
fmt!("%s-%si", self.re.to_str(), (-self.im).to_str())
|
||||
format!("{}-{}i", self.re.to_str(), (-self.im).to_str())
|
||||
} else {
|
||||
fmt!("%s+%si", self.re.to_str(), self.im.to_str())
|
||||
format!("{}+{}i", self.re.to_str(), self.im.to_str())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -182,9 +182,9 @@ impl<T: ToStr + Num + Ord> ToStr for Cmplx<T> {
|
|||
impl<T: ToStrRadix + Num + Ord> ToStrRadix for Cmplx<T> {
|
||||
fn to_str_radix(&self, radix: uint) -> ~str {
|
||||
if self.im < Zero::zero() {
|
||||
fmt!("%s-%si", self.re.to_str_radix(radix), (-self.im).to_str_radix(radix))
|
||||
format!("{}-{}i", self.re.to_str_radix(radix), (-self.im).to_str_radix(radix))
|
||||
} else {
|
||||
fmt!("%s+%si", self.re.to_str_radix(radix), self.im.to_str_radix(radix))
|
||||
format!("{}+{}i", self.re.to_str_radix(radix), self.im.to_str_radix(radix))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -50,7 +50,7 @@ impl<T: Clone + Integer + Ord>
|
|||
#[inline]
|
||||
pub fn new(numer: T, denom: T) -> Ratio<T> {
|
||||
if denom == Zero::zero() {
|
||||
fail!("denominator == 0");
|
||||
fail2!("denominator == 0");
|
||||
}
|
||||
let mut ret = Ratio::new_raw(numer, denom);
|
||||
ret.reduce();
|
||||
|
@ -254,13 +254,13 @@ impl<T: Clone + Integer + Ord> Fractional for Ratio<T> {
|
|||
impl<T: ToStr> ToStr for Ratio<T> {
|
||||
/// Renders as `numer/denom`.
|
||||
fn to_str(&self) -> ~str {
|
||||
fmt!("%s/%s", self.numer.to_str(), self.denom.to_str())
|
||||
format!("{}/{}", self.numer.to_str(), self.denom.to_str())
|
||||
}
|
||||
}
|
||||
impl<T: ToStrRadix> ToStrRadix for Ratio<T> {
|
||||
/// Renders as `numer/denom` where the numbers are in base `radix`.
|
||||
fn to_str_radix(&self, radix: uint) -> ~str {
|
||||
fmt!("%s/%s", self.numer.to_str_radix(radix), self.denom.to_str_radix(radix))
|
||||
format!("{}/{}", self.numer.to_str_radix(radix), self.denom.to_str_radix(radix))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -127,7 +127,7 @@ impl<T> RingBuf<T> {
|
|||
pub fn get<'a>(&'a self, i: uint) -> &'a T {
|
||||
let idx = self.raw_index(i);
|
||||
match self.elts[idx] {
|
||||
None => fail!(),
|
||||
None => fail2!(),
|
||||
Some(ref v) => v
|
||||
}
|
||||
}
|
||||
|
@ -138,7 +138,7 @@ impl<T> RingBuf<T> {
|
|||
pub fn get_mut<'a>(&'a mut self, i: uint) -> &'a mut T {
|
||||
let idx = self.raw_index(i);
|
||||
match self.elts[idx] {
|
||||
None => fail!(),
|
||||
None => fail2!(),
|
||||
Some(ref mut v) => v
|
||||
}
|
||||
}
|
||||
|
@ -373,21 +373,21 @@ mod tests {
|
|||
assert_eq!(d.len(), 3u);
|
||||
d.push_back(137);
|
||||
assert_eq!(d.len(), 4u);
|
||||
debug!(d.front());
|
||||
debug2!("{:?}", d.front());
|
||||
assert_eq!(*d.front().unwrap(), 42);
|
||||
debug!(d.back());
|
||||
debug2!("{:?}", d.back());
|
||||
assert_eq!(*d.back().unwrap(), 137);
|
||||
let mut i = d.pop_front();
|
||||
debug!(i);
|
||||
debug2!("{:?}", i);
|
||||
assert_eq!(i, Some(42));
|
||||
i = d.pop_back();
|
||||
debug!(i);
|
||||
debug2!("{:?}", i);
|
||||
assert_eq!(i, Some(137));
|
||||
i = d.pop_back();
|
||||
debug!(i);
|
||||
debug2!("{:?}", i);
|
||||
assert_eq!(i, Some(137));
|
||||
i = d.pop_back();
|
||||
debug!(i);
|
||||
debug2!("{:?}", i);
|
||||
assert_eq!(i, Some(17));
|
||||
assert_eq!(d.len(), 0u);
|
||||
d.push_back(3);
|
||||
|
@ -398,10 +398,10 @@ mod tests {
|
|||
assert_eq!(d.len(), 3u);
|
||||
d.push_front(1);
|
||||
assert_eq!(d.len(), 4u);
|
||||
debug!(d.get(0));
|
||||
debug!(d.get(1));
|
||||
debug!(d.get(2));
|
||||
debug!(d.get(3));
|
||||
debug2!("{:?}", d.get(0));
|
||||
debug2!("{:?}", d.get(1));
|
||||
debug2!("{:?}", d.get(2));
|
||||
debug2!("{:?}", d.get(3));
|
||||
assert_eq!(*d.get(0), 1);
|
||||
assert_eq!(*d.get(1), 2);
|
||||
assert_eq!(*d.get(2), 3);
|
||||
|
|
|
@ -86,16 +86,16 @@ pub struct Version {
|
|||
impl ToStr for Version {
|
||||
#[inline]
|
||||
fn to_str(&self) -> ~str {
|
||||
let s = fmt!("%u.%u.%u", self.major, self.minor, self.patch);
|
||||
let s = format!("{}.{}.{}", self.major, self.minor, self.patch);
|
||||
let s = if self.pre.is_empty() {
|
||||
s
|
||||
} else {
|
||||
fmt!("%s-%s", s, self.pre.map(|i| i.to_str()).connect("."))
|
||||
format!("{}-{}", s, self.pre.map(|i| i.to_str()).connect("."))
|
||||
};
|
||||
if self.build.is_empty() {
|
||||
s
|
||||
} else {
|
||||
fmt!("%s+%s", s, self.build.map(|i| i.to_str()).connect("."))
|
||||
format!("{}+{}", s, self.build.map(|i| i.to_str()).connect("."))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -158,7 +158,7 @@ fn take_nonempty_prefix(rdr: @io::Reader,
|
|||
if buf.is_empty() {
|
||||
bad_parse::cond.raise(())
|
||||
}
|
||||
debug!("extracted nonempty prefix: %s", buf);
|
||||
debug2!("extracted nonempty prefix: {}", buf);
|
||||
(buf, ch)
|
||||
}
|
||||
|
||||
|
@ -234,7 +234,7 @@ pub fn parse(s: &str) -> Option<Version> {
|
|||
}
|
||||
let s = s.trim();
|
||||
let mut bad = false;
|
||||
do bad_parse::cond.trap(|_| { debug!("bad"); bad = true }).inside {
|
||||
do bad_parse::cond.trap(|_| { debug2!("bad"); bad = true }).inside {
|
||||
do io::with_str_reader(s) |rdr| {
|
||||
let v = parse_reader(rdr);
|
||||
if bad || v.to_str() != s.to_owned() {
|
||||
|
|
|
@ -265,7 +265,7 @@ mod test_map {
|
|||
assert!(m.insert(5, 14));
|
||||
let new = 100;
|
||||
match m.find_mut(&5) {
|
||||
None => fail!(), Some(x) => *x = new
|
||||
None => fail2!(), Some(x) => *x = new
|
||||
}
|
||||
assert_eq!(m.find(&5), Some(&new));
|
||||
}
|
||||
|
|
|
@ -564,7 +564,7 @@ impl<T:Clone + Ord> MergeState<T> {
|
|||
shift_vec(array, dest, c2, len2);
|
||||
swap(&mut array[dest+len2], &mut tmp[c1]);
|
||||
} else if len1 == 0 {
|
||||
fail!("Comparison violates its contract!");
|
||||
fail2!("Comparison violates its contract!");
|
||||
} else {
|
||||
assert_eq!(len2, 0);
|
||||
assert!(len1 > 1);
|
||||
|
@ -683,7 +683,7 @@ impl<T:Clone + Ord> MergeState<T> {
|
|||
shift_vec(array, dest+1, c1+1, len1);
|
||||
swap(&mut array[dest], &mut tmp[c2]);
|
||||
} else if len2 == 0 {
|
||||
fail!("Comparison violates its contract!");
|
||||
fail2!("Comparison violates its contract!");
|
||||
} else {
|
||||
assert_eq!(len1, 0);
|
||||
assert!(len2 != 0);
|
||||
|
@ -790,7 +790,7 @@ mod test_qsort {
|
|||
quick_sort::<int>(v1, leual);
|
||||
let mut i = 0u;
|
||||
while i < len {
|
||||
// debug!(v2[i]);
|
||||
// debug2!(v2[i]);
|
||||
assert_eq!(v2[i], v1[i]);
|
||||
i += 1;
|
||||
}
|
||||
|
@ -833,7 +833,7 @@ mod test_qsort {
|
|||
let immut_names = names;
|
||||
|
||||
for (&a, &b) in expected.iter().zip(immut_names.iter()) {
|
||||
debug!("%d %d", a, b);
|
||||
debug2!("{} {}", a, b);
|
||||
assert_eq!(a, b);
|
||||
}
|
||||
}
|
||||
|
@ -851,7 +851,7 @@ mod tests {
|
|||
let v3 = merge_sort::<int>(v1, f);
|
||||
let mut i = 0u;
|
||||
while i < len {
|
||||
debug!(v3[i]);
|
||||
debug2!("{:?}", v3[i]);
|
||||
assert_eq!(v3[i], v2[i]);
|
||||
i += 1;
|
||||
}
|
||||
|
@ -922,7 +922,7 @@ mod test_tim_sort {
|
|||
fn lt(&self, other: &CVal) -> bool {
|
||||
let mut rng = rand::rng();
|
||||
if rng.gen::<float>() > 0.995 {
|
||||
fail!("It's happening!!!");
|
||||
fail2!("It's happening!!!");
|
||||
}
|
||||
(*self).val < other.val
|
||||
}
|
||||
|
@ -936,7 +936,7 @@ mod test_tim_sort {
|
|||
tim_sort::<int>(v1);
|
||||
let mut i = 0u;
|
||||
while i < len {
|
||||
// debug!(v2[i]);
|
||||
// debug2!(v2[i]);
|
||||
assert_eq!(v2[i], v1[i]);
|
||||
i += 1u;
|
||||
}
|
||||
|
@ -977,7 +977,7 @@ mod test_tim_sort {
|
|||
};
|
||||
|
||||
tim_sort(arr);
|
||||
fail!("Guarantee the fail");
|
||||
fail2!("Guarantee the fail");
|
||||
}
|
||||
|
||||
#[deriving(Clone)]
|
||||
|
@ -1045,7 +1045,7 @@ mod big_tests {
|
|||
fn isSorted<T:Ord>(arr: &[T]) {
|
||||
for i in range(0u, arr.len() - 1) {
|
||||
if arr[i] > arr[i+1] {
|
||||
fail!("Array not sorted");
|
||||
fail2!("Array not sorted");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1116,7 +1116,7 @@ mod big_tests {
|
|||
fn isSorted<T:Ord>(arr: &[@T]) {
|
||||
for i in range(0u, arr.len() - 1) {
|
||||
if arr[i] > arr[i+1] {
|
||||
fail!("Array not sorted");
|
||||
fail2!("Array not sorted");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -267,12 +267,12 @@ pub fn winsorize(samples: &mut [f64], pct: f64) {
|
|||
/// Render writes the min, max and quartiles of the provided `Summary` to the provided `Writer`.
|
||||
pub fn write_5_number_summary(w: @io::Writer, s: &Summary) {
|
||||
let (q1,q2,q3) = s.quartiles;
|
||||
w.write_str(fmt!("(min=%f, q1=%f, med=%f, q3=%f, max=%f)",
|
||||
s.min as float,
|
||||
q1 as float,
|
||||
q2 as float,
|
||||
q3 as float,
|
||||
s.max as float));
|
||||
w.write_str(format!("(min={}, q1={}, med={}, q3={}, max={})",
|
||||
s.min,
|
||||
q1,
|
||||
q2,
|
||||
q3,
|
||||
s.max));
|
||||
}
|
||||
|
||||
/// Render a boxplot to the provided writer. The boxplot shows the min, max and quartiles of the
|
||||
|
|
|
@ -307,9 +307,9 @@ fn check_cvar_bounds<U>(out_of_bounds: Option<uint>, id: uint, act: &str,
|
|||
blk: &fn() -> U) -> U {
|
||||
match out_of_bounds {
|
||||
Some(0) =>
|
||||
fail!("%s with illegal ID %u - this lock has no condvars!", act, id),
|
||||
fail2!("{} with illegal ID {} - this lock has no condvars!", act, id),
|
||||
Some(length) =>
|
||||
fail!("%s with illegal ID %u - ID must be less than %u", act, id, length),
|
||||
fail2!("{} with illegal ID {} - ID must be less than {}", act, id, length),
|
||||
None => blk()
|
||||
}
|
||||
}
|
||||
|
@ -634,7 +634,7 @@ impl RWLock {
|
|||
pub fn downgrade<'a>(&self, token: RWLockWriteMode<'a>)
|
||||
-> RWLockReadMode<'a> {
|
||||
if !borrow::ref_eq(self, token.lock) {
|
||||
fail!("Can't downgrade() with a different rwlock's write_mode!");
|
||||
fail2!("Can't downgrade() with a different rwlock's write_mode!");
|
||||
}
|
||||
unsafe {
|
||||
do task::unkillable {
|
||||
|
@ -918,7 +918,7 @@ mod tests {
|
|||
|
||||
let result: result::Result<(),()> = do task::try {
|
||||
do m2.lock {
|
||||
fail!();
|
||||
fail2!();
|
||||
}
|
||||
};
|
||||
assert!(result.is_err());
|
||||
|
@ -938,7 +938,7 @@ mod tests {
|
|||
do task::spawn || { // linked
|
||||
let _ = p.recv(); // wait for sibling to get in the mutex
|
||||
task::deschedule();
|
||||
fail!();
|
||||
fail2!();
|
||||
}
|
||||
do m2.lock_cond |cond| {
|
||||
c.send(()); // tell sibling go ahead
|
||||
|
@ -976,9 +976,9 @@ mod tests {
|
|||
do (|| {
|
||||
cond.wait(); // block forever
|
||||
}).finally {
|
||||
error!("task unwinding and sending");
|
||||
error2!("task unwinding and sending");
|
||||
c.send(());
|
||||
error!("task unwinding and done sending");
|
||||
error2!("task unwinding and done sending");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -988,7 +988,7 @@ mod tests {
|
|||
}
|
||||
do m2.lock { }
|
||||
c.send(sibling_convos); // let parent wait on all children
|
||||
fail!();
|
||||
fail2!();
|
||||
};
|
||||
assert!(result.is_err());
|
||||
// child task must have finished by the time try returns
|
||||
|
@ -1028,7 +1028,7 @@ mod tests {
|
|||
let _ = p.recv();
|
||||
do m.lock_cond |cond| {
|
||||
if !cond.signal_on(0) {
|
||||
fail!(); // success; punt sibling awake.
|
||||
fail2!(); // success; punt sibling awake.
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -1272,7 +1272,7 @@ mod tests {
|
|||
|
||||
let result: result::Result<(),()> = do task::try || {
|
||||
do lock_rwlock_in_mode(&x2, mode1) {
|
||||
fail!();
|
||||
fail2!();
|
||||
}
|
||||
};
|
||||
assert!(result.is_err());
|
||||
|
@ -1319,7 +1319,7 @@ mod tests {
|
|||
let mut xopt = Some(xwrite);
|
||||
do y.write_downgrade |_ywrite| {
|
||||
y.downgrade(xopt.take_unwrap());
|
||||
error!("oops, y.downgrade(x) should have failed!");
|
||||
error2!("oops, y.downgrade(x) should have failed!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -147,7 +147,7 @@ impl Terminal {
|
|||
self.out.write(s.unwrap());
|
||||
return true
|
||||
} else {
|
||||
warn!("%s", s.unwrap_err());
|
||||
warn2!("{}", s.unwrap_err());
|
||||
}
|
||||
}
|
||||
false
|
||||
|
@ -167,7 +167,7 @@ impl Terminal {
|
|||
self.out.write(s.unwrap());
|
||||
return true
|
||||
} else {
|
||||
warn!("%s", s.unwrap_err());
|
||||
warn2!("{}", s.unwrap_err());
|
||||
}
|
||||
}
|
||||
false
|
||||
|
@ -188,7 +188,7 @@ impl Terminal {
|
|||
self.out.write(s.unwrap());
|
||||
return true
|
||||
} else {
|
||||
warn!("%s", s.unwrap_err());
|
||||
warn2!("{}", s.unwrap_err());
|
||||
}
|
||||
}
|
||||
false
|
||||
|
@ -226,11 +226,11 @@ impl Terminal {
|
|||
if s.is_ok() {
|
||||
self.out.write(s.unwrap());
|
||||
} else if self.num_colors > 0 {
|
||||
warn!("%s", s.unwrap_err());
|
||||
warn2!("{}", s.unwrap_err());
|
||||
} else {
|
||||
// if we support attributes but not color, it would be nice to still warn!()
|
||||
// if we support attributes but not color, it would be nice to still warn2!()
|
||||
// but it's not worth testing all known attributes just for this.
|
||||
debug!("%s", s.unwrap_err());
|
||||
debug2!("{}", s.unwrap_err());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -278,7 +278,7 @@ pub fn expand(cap: &[u8], params: &[Param], vars: &mut Variables)
|
|||
'e' => state = SeekIfEnd(0),
|
||||
';' => (),
|
||||
|
||||
_ => return Err(fmt!("unrecognized format option %c", cur))
|
||||
_ => return Err(format!("unrecognized format option {}", cur))
|
||||
}
|
||||
},
|
||||
PushParam => {
|
||||
|
@ -461,7 +461,7 @@ impl FormatOp {
|
|||
'x' => FormatHex,
|
||||
'X' => FormatHEX,
|
||||
's' => FormatString,
|
||||
_ => fail!("bad FormatOp char")
|
||||
_ => fail2!("bad FormatOp char")
|
||||
}
|
||||
}
|
||||
fn to_char(self) -> char {
|
||||
|
@ -551,7 +551,7 @@ fn format(val: Param, op: FormatOp, flags: Flags) -> Result<~[u8],~str> {
|
|||
s
|
||||
}
|
||||
_ => {
|
||||
return Err(fmt!("non-string on stack with %%%c", op.to_char()))
|
||||
return Err(format!("non-string on stack with %{}", op.to_char()))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -606,23 +606,23 @@ mod test {
|
|||
for cap in caps.iter() {
|
||||
let res = expand(cap.as_bytes(), [], vars);
|
||||
assert!(res.is_err(),
|
||||
"Op %s succeeded incorrectly with 0 stack entries", *cap);
|
||||
"Op {} succeeded incorrectly with 0 stack entries", *cap);
|
||||
let p = if *cap == "%s" || *cap == "%l" { String(~"foo") } else { Number(97) };
|
||||
let res = expand((bytes!("%p1")).to_owned() + cap.as_bytes(), [p], vars);
|
||||
assert!(res.is_ok(),
|
||||
"Op %s failed with 1 stack entry: %s", *cap, res.unwrap_err());
|
||||
"Op {} failed with 1 stack entry: {}", *cap, res.unwrap_err());
|
||||
}
|
||||
let caps = ["%+", "%-", "%*", "%/", "%m", "%&", "%|", "%A", "%O"];
|
||||
for cap in caps.iter() {
|
||||
let res = expand(cap.as_bytes(), [], vars);
|
||||
assert!(res.is_err(),
|
||||
"Binop %s succeeded incorrectly with 0 stack entries", *cap);
|
||||
"Binop {} succeeded incorrectly with 0 stack entries", *cap);
|
||||
let res = expand((bytes!("%{1}")).to_owned() + cap.as_bytes(), [], vars);
|
||||
assert!(res.is_err(),
|
||||
"Binop %s succeeded incorrectly with 1 stack entry", *cap);
|
||||
"Binop {} succeeded incorrectly with 1 stack entry", *cap);
|
||||
let res = expand((bytes!("%{1}%{2}")).to_owned() + cap.as_bytes(), [], vars);
|
||||
assert!(res.is_ok(),
|
||||
"Binop %s failed with 2 stack entries: %s", *cap, res.unwrap_err());
|
||||
"Binop {} failed with 2 stack entries: {}", *cap, res.unwrap_err());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -635,15 +635,15 @@ mod test {
|
|||
fn test_comparison_ops() {
|
||||
let v = [('<', [1u8, 0u8, 0u8]), ('=', [0u8, 1u8, 0u8]), ('>', [0u8, 0u8, 1u8])];
|
||||
for &(op, bs) in v.iter() {
|
||||
let s = fmt!("%%{1}%%{2}%%%c%%d", op);
|
||||
let s = format!("%\\{1\\}%\\{2\\}%{}%d", op);
|
||||
let res = expand(s.as_bytes(), [], &mut Variables::new());
|
||||
assert!(res.is_ok(), res.unwrap_err());
|
||||
assert_eq!(res.unwrap(), ~['0' as u8 + bs[0]]);
|
||||
let s = fmt!("%%{1}%%{1}%%%c%%d", op);
|
||||
let s = format!("%\\{1\\}%\\{1\\}%{}%d", op);
|
||||
let res = expand(s.as_bytes(), [], &mut Variables::new());
|
||||
assert!(res.is_ok(), res.unwrap_err());
|
||||
assert_eq!(res.unwrap(), ~['0' as u8 + bs[1]]);
|
||||
let s = fmt!("%%{2}%%{1}%%%c%%d", op);
|
||||
let s = format!("%\\{2\\}%\\{1\\}%{}%d", op);
|
||||
let res = expand(s.as_bytes(), [], &mut Variables::new());
|
||||
assert!(res.is_ok(), res.unwrap_err());
|
||||
assert_eq!(res.unwrap(), ~['0' as u8 + bs[2]]);
|
||||
|
|
|
@ -178,7 +178,8 @@ pub fn parse(file: @Reader, longnames: bool) -> Result<~TermInfo, ~str> {
|
|||
// Check magic number
|
||||
let magic = file.read_le_u16();
|
||||
if (magic != 0x011A) {
|
||||
return Err(fmt!("invalid magic number: expected %x but found %x", 0x011A, magic as uint));
|
||||
return Err(format!("invalid magic number: expected {:x} but found {:x}",
|
||||
0x011A, magic as uint));
|
||||
}
|
||||
|
||||
let names_bytes = file.read_le_i16() as int;
|
||||
|
@ -189,26 +190,26 @@ pub fn parse(file: @Reader, longnames: bool) -> Result<~TermInfo, ~str> {
|
|||
|
||||
assert!(names_bytes > 0);
|
||||
|
||||
debug!("names_bytes = %?", names_bytes);
|
||||
debug!("bools_bytes = %?", bools_bytes);
|
||||
debug!("numbers_count = %?", numbers_count);
|
||||
debug!("string_offsets_count = %?", string_offsets_count);
|
||||
debug!("string_table_bytes = %?", string_table_bytes);
|
||||
debug2!("names_bytes = {}", names_bytes);
|
||||
debug2!("bools_bytes = {}", bools_bytes);
|
||||
debug2!("numbers_count = {}", numbers_count);
|
||||
debug2!("string_offsets_count = {}", string_offsets_count);
|
||||
debug2!("string_table_bytes = {}", string_table_bytes);
|
||||
|
||||
if (bools_bytes as uint) > boolnames.len() {
|
||||
error!("expected bools_bytes to be less than %? but found %?", boolnames.len(),
|
||||
error2!("expected bools_bytes to be less than {} but found {}", boolnames.len(),
|
||||
bools_bytes);
|
||||
return Err(~"incompatible file: more booleans than expected");
|
||||
}
|
||||
|
||||
if (numbers_count as uint) > numnames.len() {
|
||||
error!("expected numbers_count to be less than %? but found %?", numnames.len(),
|
||||
error2!("expected numbers_count to be less than {} but found {}", numnames.len(),
|
||||
numbers_count);
|
||||
return Err(~"incompatible file: more numbers than expected");
|
||||
}
|
||||
|
||||
if (string_offsets_count as uint) > stringnames.len() {
|
||||
error!("expected string_offsets_count to be less than %? but found %?", stringnames.len(),
|
||||
error2!("expected string_offsets_count to be less than {} but found {}", stringnames.len(),
|
||||
string_offsets_count);
|
||||
return Err(~"incompatible file: more string offsets than expected");
|
||||
}
|
||||
|
@ -218,26 +219,26 @@ pub fn parse(file: @Reader, longnames: bool) -> Result<~TermInfo, ~str> {
|
|||
|
||||
file.read_byte(); // consume NUL
|
||||
|
||||
debug!("term names: %?", term_names);
|
||||
debug2!("term names: {:?}", term_names);
|
||||
|
||||
let mut bools_map = HashMap::new();
|
||||
if bools_bytes != 0 {
|
||||
for i in range(0, bools_bytes) {
|
||||
let b = file.read_byte();
|
||||
if b < 0 {
|
||||
error!("EOF reading bools after %? entries", i);
|
||||
error2!("EOF reading bools after {} entries", i);
|
||||
return Err(~"error: expected more bools but hit EOF");
|
||||
} else if b == 1 {
|
||||
debug!("%s set", bnames[i]);
|
||||
debug2!("{} set", bnames[i]);
|
||||
bools_map.insert(bnames[i].to_owned(), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
debug!("bools: %?", bools_map);
|
||||
debug2!("bools: {:?}", bools_map);
|
||||
|
||||
if (bools_bytes + names_bytes) % 2 == 1 {
|
||||
debug!("adjusting for padding between bools and numbers");
|
||||
debug2!("adjusting for padding between bools and numbers");
|
||||
file.read_byte(); // compensate for padding
|
||||
}
|
||||
|
||||
|
@ -246,13 +247,13 @@ pub fn parse(file: @Reader, longnames: bool) -> Result<~TermInfo, ~str> {
|
|||
for i in range(0, numbers_count) {
|
||||
let n = file.read_le_u16();
|
||||
if n != 0xFFFF {
|
||||
debug!("%s#%?", nnames[i], n);
|
||||
debug2!("{}\\#{}", nnames[i], n);
|
||||
numbers_map.insert(nnames[i].to_owned(), n);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
debug!("numbers: %?", numbers_map);
|
||||
debug2!("numbers: {:?}", numbers_map);
|
||||
|
||||
let mut string_map = HashMap::new();
|
||||
|
||||
|
@ -262,12 +263,12 @@ pub fn parse(file: @Reader, longnames: bool) -> Result<~TermInfo, ~str> {
|
|||
string_offsets.push(file.read_le_u16());
|
||||
}
|
||||
|
||||
debug!("offsets: %?", string_offsets);
|
||||
debug2!("offsets: {:?}", string_offsets);
|
||||
|
||||
let string_table = file.read_bytes(string_table_bytes as uint);
|
||||
|
||||
if string_table.len() != string_table_bytes as uint {
|
||||
error!("EOF reading string table after %? bytes, wanted %?", string_table.len(),
|
||||
error2!("EOF reading string table after {} bytes, wanted {}", string_table.len(),
|
||||
string_table_bytes);
|
||||
return Err(~"error: hit EOF before end of string table");
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ pub fn get_dbpath_for_term(term: &str) -> Option<~path> {
|
|||
return Some(newp);
|
||||
}
|
||||
// on some installations the dir is named after the hex of the char (e.g. OS X)
|
||||
let newp = ~p.push_many(&[fmt!("%x", first_char as uint), term.to_owned()]);
|
||||
let newp = ~p.push_many(&[format!("{:x}", first_char as uint), term.to_owned()]);
|
||||
if os::path_exists(p) && os::path_exists(newp) {
|
||||
return Some(newp);
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ pub fn get_dbpath_for_term(term: &str) -> Option<~path> {
|
|||
pub fn open(term: &str) -> Result<@Reader, ~str> {
|
||||
match get_dbpath_for_term(term) {
|
||||
Some(x) => file_reader(x),
|
||||
None => Err(fmt!("could not find terminfo entry for %s", term))
|
||||
None => Err(format!("could not find terminfo entry for {}", term))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -125,10 +125,10 @@ pub fn test_main(args: &[~str], tests: ~[TestDescAndFn]) {
|
|||
let opts =
|
||||
match parse_opts(args) {
|
||||
Some(Ok(o)) => o,
|
||||
Some(Err(msg)) => fail!(msg),
|
||||
Some(Err(msg)) => fail2!(msg),
|
||||
None => return
|
||||
};
|
||||
if !run_tests_console(&opts, tests) { fail!("Some tests failed"); }
|
||||
if !run_tests_console(&opts, tests) { fail2!("Some tests failed"); }
|
||||
}
|
||||
|
||||
// A variant optimized for invocation with a static test vector.
|
||||
|
@ -148,7 +148,7 @@ pub fn test_main_static(args: &[~str], tests: &[TestDescAndFn]) {
|
|||
TestDescAndFn { testfn: StaticBenchFn(f), desc: t.desc.clone() },
|
||||
|
||||
_ => {
|
||||
fail!("non-static tests passed to test::test_main_static");
|
||||
fail2!("non-static tests passed to test::test_main_static");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -192,7 +192,7 @@ fn optgroups() -> ~[getopts::groups::OptGroup] {
|
|||
fn usage(binary: &str, helpstr: &str) {
|
||||
#[fixed_stack_segment]; #[inline(never)];
|
||||
|
||||
let message = fmt!("Usage: %s [OPTIONS] [FILTER]", binary);
|
||||
let message = format!("Usage: {} [OPTIONS] [FILTER]", binary);
|
||||
println(groups::usage(message, optgroups()));
|
||||
println("");
|
||||
if helpstr == "help" {
|
||||
|
@ -210,7 +210,7 @@ Test Attributes:
|
|||
#[bench] - Indicates a function is a benchmark to be run. This
|
||||
function takes one argument (extra::test::BenchHarness).
|
||||
#[should_fail] - This function (also labeled with #[test]) will only pass if
|
||||
the code causes a failure (an assertion failure or fail!)
|
||||
the code causes a failure (an assertion failure or fail2!)
|
||||
#[ignore] - When applied to a function which is already attributed as a
|
||||
test, then the test runner will ignore these tests during
|
||||
normal test runs. Running with --ignored will run these
|
||||
|
@ -327,7 +327,7 @@ impl ConsoleTestState {
|
|||
io::Truncate]) {
|
||||
result::Ok(w) => Some(w),
|
||||
result::Err(ref s) => {
|
||||
fail!("can't open output file: %s", *s)
|
||||
fail2!("can't open output file: {}", *s)
|
||||
}
|
||||
},
|
||||
None => None
|
||||
|
@ -408,11 +408,11 @@ impl ConsoleTestState {
|
|||
pub fn write_run_start(&mut self, len: uint) {
|
||||
self.total = len;
|
||||
let noun = if len != 1 { &"tests" } else { &"test" };
|
||||
self.out.write_line(fmt!("\nrunning %u %s", len, noun));
|
||||
self.out.write_line(format!("\nrunning {} {}", len, noun));
|
||||
}
|
||||
|
||||
pub fn write_test_start(&self, test: &TestDesc) {
|
||||
self.out.write_str(fmt!("test %s ... ", test.name.to_str()));
|
||||
self.out.write_str(format!("test {} ... ", test.name.to_str()));
|
||||
}
|
||||
|
||||
pub fn write_result(&self, result: &TestResult) {
|
||||
|
@ -436,7 +436,7 @@ impl ConsoleTestState {
|
|||
match self.log_out {
|
||||
None => (),
|
||||
Some(out) => {
|
||||
out.write_line(fmt!("%s %s",
|
||||
out.write_line(format!("{} {}",
|
||||
match *result {
|
||||
TrOk => ~"ok",
|
||||
TrFailed => ~"failed",
|
||||
|
@ -456,7 +456,7 @@ impl ConsoleTestState {
|
|||
}
|
||||
sort::tim_sort(failures);
|
||||
for name in failures.iter() {
|
||||
self.out.write_line(fmt!(" %s", name.to_str()));
|
||||
self.out.write_line(format!(" {}", name.to_str()));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -473,31 +473,31 @@ impl ConsoleTestState {
|
|||
MetricAdded => {
|
||||
added += 1;
|
||||
self.write_added();
|
||||
self.out.write_line(fmt!(": %s", *k));
|
||||
self.out.write_line(format!(": {}", *k));
|
||||
}
|
||||
MetricRemoved => {
|
||||
removed += 1;
|
||||
self.write_removed();
|
||||
self.out.write_line(fmt!(": %s", *k));
|
||||
self.out.write_line(format!(": {}", *k));
|
||||
}
|
||||
Improvement(pct) => {
|
||||
improved += 1;
|
||||
self.out.write_str(*k);
|
||||
self.out.write_str(": ");
|
||||
self.write_improved();
|
||||
self.out.write_line(fmt!(" by %.2f%%", pct as float))
|
||||
self.out.write_line(format!(" by {:.2f}%", pct as float))
|
||||
}
|
||||
Regression(pct) => {
|
||||
regressed += 1;
|
||||
self.out.write_str(*k);
|
||||
self.out.write_str(": ");
|
||||
self.write_regressed();
|
||||
self.out.write_line(fmt!(" by %.2f%%", pct as float))
|
||||
self.out.write_line(format!(" by {:.2f}%", pct as float))
|
||||
}
|
||||
}
|
||||
}
|
||||
self.out.write_line(fmt!("result of ratchet: %u matrics added, %u removed, \
|
||||
%u improved, %u regressed, %u noise",
|
||||
self.out.write_line(format!("result of ratchet: {} matrics added, {} removed, \
|
||||
{} improved, {} regressed, {} noise",
|
||||
added, removed, improved, regressed, noise));
|
||||
if regressed == 0 {
|
||||
self.out.write_line("updated ratchet file")
|
||||
|
@ -514,11 +514,11 @@ impl ConsoleTestState {
|
|||
let ratchet_success = match *ratchet_metrics {
|
||||
None => true,
|
||||
Some(ref pth) => {
|
||||
self.out.write_str(fmt!("\nusing metrics ratchet: %s\n", pth.to_str()));
|
||||
self.out.write_str(format!("\nusing metrics ratchet: {}\n", pth.to_str()));
|
||||
match ratchet_pct {
|
||||
None => (),
|
||||
Some(pct) =>
|
||||
self.out.write_str(fmt!("with noise-tolerance forced to: %f%%\n",
|
||||
self.out.write_str(format!("with noise-tolerance forced to: {}%%\n",
|
||||
pct as float))
|
||||
}
|
||||
let (diff, ok) = self.metrics.ratchet(pth, ratchet_pct);
|
||||
|
@ -541,7 +541,7 @@ impl ConsoleTestState {
|
|||
} else {
|
||||
self.write_failed();
|
||||
}
|
||||
self.out.write_str(fmt!(". %u passed; %u failed; %u ignored; %u measured\n\n",
|
||||
self.out.write_str(format!(". {} passed; {} failed; {} ignored; {} measured\n\n",
|
||||
self.passed, self.failed, self.ignored, self.measured));
|
||||
return success;
|
||||
}
|
||||
|
@ -549,7 +549,7 @@ impl ConsoleTestState {
|
|||
|
||||
pub fn fmt_metrics(mm: &MetricMap) -> ~str {
|
||||
let v : ~[~str] = mm.iter()
|
||||
.map(|(k,v)| fmt!("%s: %f (+/- %f)",
|
||||
.map(|(k,v)| format!("{}: {} (+/- {})",
|
||||
*k,
|
||||
v.value as float,
|
||||
v.noise as float))
|
||||
|
@ -559,12 +559,12 @@ pub fn fmt_metrics(mm: &MetricMap) -> ~str {
|
|||
|
||||
pub fn fmt_bench_samples(bs: &BenchSamples) -> ~str {
|
||||
if bs.mb_s != 0 {
|
||||
fmt!("%u ns/iter (+/- %u) = %u MB/s",
|
||||
format!("{} ns/iter (+/- {}) = {} MB/s",
|
||||
bs.ns_iter_summ.median as uint,
|
||||
(bs.ns_iter_summ.max - bs.ns_iter_summ.min) as uint,
|
||||
bs.mb_s)
|
||||
} else {
|
||||
fmt!("%u ns/iter (+/- %u)",
|
||||
format!("{} ns/iter (+/- {})",
|
||||
bs.ns_iter_summ.median as uint,
|
||||
(bs.ns_iter_summ.max - bs.ns_iter_summ.min) as uint)
|
||||
}
|
||||
|
@ -574,7 +574,7 @@ pub fn fmt_bench_samples(bs: &BenchSamples) -> ~str {
|
|||
pub fn run_tests_console(opts: &TestOpts,
|
||||
tests: ~[TestDescAndFn]) -> bool {
|
||||
fn callback(event: &TestEvent, st: &mut ConsoleTestState) {
|
||||
debug!("callback(event=%?)", event);
|
||||
debug2!("callback(event={:?})", event);
|
||||
match (*event).clone() {
|
||||
TeFiltered(ref filtered_tests) => st.write_run_start(filtered_tests.len()),
|
||||
TeWait(ref test) => st.write_test_start(test),
|
||||
|
@ -612,7 +612,7 @@ pub fn run_tests_console(opts: &TestOpts,
|
|||
None => (),
|
||||
Some(ref pth) => {
|
||||
st.metrics.save(pth);
|
||||
st.out.write_str(fmt!("\nmetrics saved to: %s", pth.to_str()));
|
||||
st.out.write_str(format!("\nmetrics saved to: {}", pth.to_str()));
|
||||
}
|
||||
}
|
||||
return st.write_run_finish(&opts.ratchet_metrics, opts.ratchet_noise_percent);
|
||||
|
@ -688,7 +688,7 @@ fn run_tests(opts: &TestOpts,
|
|||
// It's tempting to just spawn all the tests at once, but since we have
|
||||
// many tests that run in other processes we would be making a big mess.
|
||||
let concurrency = get_concurrency();
|
||||
debug!("using %u test tasks", concurrency);
|
||||
debug2!("using {} test tasks", concurrency);
|
||||
|
||||
let mut remaining = filtered_tests;
|
||||
remaining.reverse();
|
||||
|
@ -735,7 +735,7 @@ fn get_concurrency() -> uint {
|
|||
let opt_n: Option<uint> = FromStr::from_str(s);
|
||||
match opt_n {
|
||||
Some(n) if n > 0 => n,
|
||||
_ => fail!("RUST_TEST_TASKS is `%s`, should be a positive integer.", s)
|
||||
_ => fail2!("RUST_TEST_TASKS is `{}`, should be a positive integer.", s)
|
||||
}
|
||||
}
|
||||
None => {
|
||||
|
@ -1001,7 +1001,7 @@ impl MetricMap {
|
|||
};
|
||||
|
||||
if ok {
|
||||
debug!("rewriting file '%s' with updated metrics");
|
||||
debug2!("rewriting file '{:?}' with updated metrics", p);
|
||||
self.save(p);
|
||||
}
|
||||
return (diff, ok)
|
||||
|
@ -1040,7 +1040,7 @@ impl BenchHarness {
|
|||
|
||||
pub fn bench_n(&mut self, n: u64, f: &fn(&mut BenchHarness)) {
|
||||
self.iterations = n;
|
||||
debug!("running benchmark for %u iterations",
|
||||
debug2!("running benchmark for {} iterations",
|
||||
n as uint);
|
||||
f(self);
|
||||
}
|
||||
|
@ -1081,7 +1081,7 @@ impl BenchHarness {
|
|||
stats::winsorize(samples, 5.0);
|
||||
let summ5 = stats::Summary::new(samples);
|
||||
|
||||
debug!("%u samples, median %f, MAD=%f, MADP=%f",
|
||||
debug2!("{} samples, median {}, MAD={}, MADP={}",
|
||||
samples.len(),
|
||||
summ.median as float,
|
||||
summ.median_abs_dev as float,
|
||||
|
@ -1153,7 +1153,7 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
pub fn do_not_run_ignored_tests() {
|
||||
fn f() { fail!(); }
|
||||
fn f() { fail2!(); }
|
||||
let desc = TestDescAndFn {
|
||||
desc: TestDesc {
|
||||
name: StaticTestName("whatever"),
|
||||
|
@ -1189,7 +1189,7 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn test_should_fail() {
|
||||
fn f() { fail!(); }
|
||||
fn f() { fail2!(); }
|
||||
let desc = TestDescAndFn {
|
||||
desc: TestDesc {
|
||||
name: StaticTestName("whatever"),
|
||||
|
@ -1228,7 +1228,7 @@ mod tests {
|
|||
let args = ~[~"progname", ~"filter"];
|
||||
let opts = match parse_opts(args) {
|
||||
Some(Ok(o)) => o,
|
||||
_ => fail!("Malformed arg in first_free_arg_should_be_a_filter")
|
||||
_ => fail2!("Malformed arg in first_free_arg_should_be_a_filter")
|
||||
};
|
||||
assert!("filter" == opts.filter.clone().unwrap());
|
||||
}
|
||||
|
@ -1238,7 +1238,7 @@ mod tests {
|
|||
let args = ~[~"progname", ~"filter", ~"--ignored"];
|
||||
let opts = match parse_opts(args) {
|
||||
Some(Ok(o)) => o,
|
||||
_ => fail!("Malformed arg in parse_ignored_flag")
|
||||
_ => fail2!("Malformed arg in parse_ignored_flag")
|
||||
};
|
||||
assert!((opts.run_ignored));
|
||||
}
|
||||
|
|
|
@ -259,7 +259,7 @@ impl Tm {
|
|||
let mut m = num::abs(self.tm_gmtoff) / 60_i32;
|
||||
let h = m / 60_i32;
|
||||
m -= h * 60_i32;
|
||||
s + fmt!("%c%02d:%02d", sign, h as int, m as int)
|
||||
s + format!("{}{:02d}:{:02d}", sign, h as int, m as int)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -364,7 +364,7 @@ fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> {
|
|||
if c == range.ch {
|
||||
Ok(range.next)
|
||||
} else {
|
||||
Err(fmt!("Expected %?, found %?",
|
||||
Err(format!("Expected {}, found {}",
|
||||
str::from_char(c),
|
||||
str::from_char(range.ch)))
|
||||
}
|
||||
|
@ -671,7 +671,7 @@ fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> {
|
|||
}
|
||||
'%' => parse_char(s, pos, '%'),
|
||||
ch => {
|
||||
Err(fmt!("unknown formatting type: %?", str::from_char(ch)))
|
||||
Err(format!("unknown formatting type: {}", str::from_char(ch)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -736,7 +736,7 @@ fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> {
|
|||
fn do_strftime(format: &str, tm: &Tm) -> ~str {
|
||||
fn parse_type(ch: char, tm: &Tm) -> ~str {
|
||||
//FIXME (#2350): Implement missing types.
|
||||
let die = || fmt!("strftime: can't understand this format %c ", ch);
|
||||
let die = || format!("strftime: can't understand this format {} ", ch);
|
||||
match ch {
|
||||
'A' => match tm.tm_wday as int {
|
||||
0 => ~"Sunday",
|
||||
|
@ -788,9 +788,9 @@ fn do_strftime(format: &str, tm: &Tm) -> ~str {
|
|||
11 => ~"Dec",
|
||||
_ => die()
|
||||
},
|
||||
'C' => fmt!("%02d", (tm.tm_year as int + 1900) / 100),
|
||||
'C' => format!("{:02d}", (tm.tm_year as int + 1900) / 100),
|
||||
'c' => {
|
||||
fmt!("%s %s %s %s %s",
|
||||
format!("{} {} {} {} {}",
|
||||
parse_type('a', tm),
|
||||
parse_type('b', tm),
|
||||
parse_type('e', tm),
|
||||
|
@ -798,58 +798,58 @@ fn do_strftime(format: &str, tm: &Tm) -> ~str {
|
|||
parse_type('Y', tm))
|
||||
}
|
||||
'D' | 'x' => {
|
||||
fmt!("%s/%s/%s",
|
||||
format!("{}/{}/{}",
|
||||
parse_type('m', tm),
|
||||
parse_type('d', tm),
|
||||
parse_type('y', tm))
|
||||
}
|
||||
'd' => fmt!("%02d", tm.tm_mday as int),
|
||||
'e' => fmt!("%2d", tm.tm_mday as int),
|
||||
'f' => fmt!("%09d", tm.tm_nsec as int),
|
||||
'd' => format!("{:02d}", tm.tm_mday),
|
||||
'e' => format!("{:2d}", tm.tm_mday),
|
||||
'f' => format!("{:09d}", tm.tm_nsec),
|
||||
'F' => {
|
||||
fmt!("%s-%s-%s",
|
||||
format!("{}-{}-{}",
|
||||
parse_type('Y', tm),
|
||||
parse_type('m', tm),
|
||||
parse_type('d', tm))
|
||||
}
|
||||
//'G' {}
|
||||
//'g' {}
|
||||
'H' => fmt!("%02d", tm.tm_hour as int),
|
||||
'H' => format!("{:02d}", tm.tm_hour),
|
||||
'I' => {
|
||||
let mut h = tm.tm_hour as int;
|
||||
let mut h = tm.tm_hour;
|
||||
if h == 0 { h = 12 }
|
||||
if h > 12 { h -= 12 }
|
||||
fmt!("%02d", h)
|
||||
format!("{:02d}", h)
|
||||
}
|
||||
'j' => fmt!("%03d", tm.tm_yday as int + 1),
|
||||
'k' => fmt!("%2d", tm.tm_hour as int),
|
||||
'j' => format!("{:03d}", tm.tm_yday + 1),
|
||||
'k' => format!("{:2d}", tm.tm_hour),
|
||||
'l' => {
|
||||
let mut h = tm.tm_hour as int;
|
||||
let mut h = tm.tm_hour;
|
||||
if h == 0 { h = 12 }
|
||||
if h > 12 { h -= 12 }
|
||||
fmt!("%2d", h)
|
||||
format!("{:2d}", h)
|
||||
}
|
||||
'M' => fmt!("%02d", tm.tm_min as int),
|
||||
'm' => fmt!("%02d", tm.tm_mon as int + 1),
|
||||
'M' => format!("{:02d}", tm.tm_min),
|
||||
'm' => format!("{:02d}", tm.tm_mon + 1),
|
||||
'n' => ~"\n",
|
||||
'P' => if (tm.tm_hour as int) < 12 { ~"am" } else { ~"pm" },
|
||||
'p' => if (tm.tm_hour as int) < 12 { ~"AM" } else { ~"PM" },
|
||||
'R' => {
|
||||
fmt!("%s:%s",
|
||||
format!("{}:{}",
|
||||
parse_type('H', tm),
|
||||
parse_type('M', tm))
|
||||
}
|
||||
'r' => {
|
||||
fmt!("%s:%s:%s %s",
|
||||
format!("{}:{}:{} {}",
|
||||
parse_type('I', tm),
|
||||
parse_type('M', tm),
|
||||
parse_type('S', tm),
|
||||
parse_type('p', tm))
|
||||
}
|
||||
'S' => fmt!("%02d", tm.tm_sec as int),
|
||||
's' => fmt!("%d", tm.to_timespec().sec as int),
|
||||
'S' => format!("{:02d}", tm.tm_sec),
|
||||
's' => format!("{}", tm.to_timespec().sec),
|
||||
'T' | 'X' => {
|
||||
fmt!("%s:%s:%s",
|
||||
format!("{}:{}:{}",
|
||||
parse_type('H', tm),
|
||||
parse_type('M', tm),
|
||||
parse_type('S', tm))
|
||||
|
@ -862,7 +862,7 @@ fn do_strftime(format: &str, tm: &Tm) -> ~str {
|
|||
}
|
||||
//'V' {}
|
||||
'v' => {
|
||||
fmt!("%s-%s-%s",
|
||||
format!("{}-{}-{}",
|
||||
parse_type('e', tm),
|
||||
parse_type('b', tm),
|
||||
parse_type('Y', tm))
|
||||
|
@ -872,14 +872,14 @@ fn do_strftime(format: &str, tm: &Tm) -> ~str {
|
|||
//'X' {}
|
||||
//'x' {}
|
||||
'Y' => (tm.tm_year as int + 1900).to_str(),
|
||||
'y' => fmt!("%02d", (tm.tm_year as int + 1900) % 100),
|
||||
'y' => format!("{:02d}", (tm.tm_year as int + 1900) % 100),
|
||||
'Z' => tm.tm_zone.clone(),
|
||||
'z' => {
|
||||
let sign = if tm.tm_gmtoff > 0_i32 { '+' } else { '-' };
|
||||
let mut m = num::abs(tm.tm_gmtoff) / 60_i32;
|
||||
let h = m / 60_i32;
|
||||
m -= h * 60_i32;
|
||||
fmt!("%c%02d%02d", sign, h as int, m as int)
|
||||
format!("{}{:02d}{:02d}", sign, h, m)
|
||||
}
|
||||
//'+' {}
|
||||
'%' => ~"%",
|
||||
|
@ -914,13 +914,13 @@ mod tests {
|
|||
static SOME_FUTURE_DATE: i64 = 1577836800i64; // 2020-01-01T00:00:00Z
|
||||
|
||||
let tv1 = get_time();
|
||||
debug!("tv1=%? sec + %? nsec", tv1.sec as uint, tv1.nsec as uint);
|
||||
debug2!("tv1={:?} sec + {:?} nsec", tv1.sec as uint, tv1.nsec as uint);
|
||||
|
||||
assert!(tv1.sec > SOME_RECENT_DATE);
|
||||
assert!(tv1.nsec < 1000000000i32);
|
||||
|
||||
let tv2 = get_time();
|
||||
debug!("tv2=%? sec + %? nsec", tv2.sec as uint, tv2.nsec as uint);
|
||||
debug2!("tv2={:?} sec + {:?} nsec", tv2.sec as uint, tv2.nsec as uint);
|
||||
|
||||
assert!(tv2.sec >= tv1.sec);
|
||||
assert!(tv2.sec < SOME_FUTURE_DATE);
|
||||
|
@ -934,16 +934,16 @@ mod tests {
|
|||
let s0 = precise_time_s();
|
||||
let ns1 = precise_time_ns();
|
||||
|
||||
debug!("s0=%s sec", float::to_str_digits(s0, 9u));
|
||||
debug2!("s0={} sec", float::to_str_digits(s0, 9u));
|
||||
assert!(s0 > 0.);
|
||||
let ns0 = (s0 * 1000000000.) as u64;
|
||||
debug!("ns0=%? ns", ns0);
|
||||
debug2!("ns0={:?} ns", ns0);
|
||||
|
||||
debug!("ns1=%? ns", ns0);
|
||||
debug2!("ns1={:?} ns", ns0);
|
||||
assert!(ns1 >= ns0);
|
||||
|
||||
let ns2 = precise_time_ns();
|
||||
debug!("ns2=%? ns", ns0);
|
||||
debug2!("ns2={:?} ns", ns0);
|
||||
assert!(ns2 >= ns1);
|
||||
}
|
||||
|
||||
|
@ -975,7 +975,7 @@ mod tests {
|
|||
let time = Timespec::new(1234567890, 54321);
|
||||
let local = at(time);
|
||||
|
||||
error!("time_at: %?", local);
|
||||
error2!("time_at: {:?}", local);
|
||||
|
||||
assert!(local.tm_sec == 30_i32);
|
||||
assert!(local.tm_min == 31_i32);
|
||||
|
@ -1050,7 +1050,7 @@ mod tests {
|
|||
== Err(~"Invalid time"));
|
||||
|
||||
match strptime("Fri Feb 13 15:31:30.01234 2009", format) {
|
||||
Err(e) => fail!(e),
|
||||
Err(e) => fail2!(e),
|
||||
Ok(ref tm) => {
|
||||
assert!(tm.tm_sec == 30_i32);
|
||||
assert!(tm.tm_min == 31_i32);
|
||||
|
@ -1070,7 +1070,7 @@ mod tests {
|
|||
fn test(s: &str, format: &str) -> bool {
|
||||
match strptime(s, format) {
|
||||
Ok(ref tm) => tm.strftime(format) == s.to_owned(),
|
||||
Err(e) => fail!(e)
|
||||
Err(e) => fail2!(e)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1196,7 +1196,7 @@ mod tests {
|
|||
let utc = at_utc(time);
|
||||
let local = at(time);
|
||||
|
||||
error!("test_ctime: %? %?", utc.ctime(), local.ctime());
|
||||
error2!("test_ctime: {:?} {:?}", utc.ctime(), local.ctime());
|
||||
|
||||
assert_eq!(utc.ctime(), ~"Fri Feb 13 23:31:30 2009");
|
||||
assert_eq!(local.ctime(), ~"Fri Feb 13 15:31:30 2009");
|
||||
|
|
|
@ -831,7 +831,7 @@ fn remove<K: TotalOrd, V>(node: &mut Option<~TreeNode<K, V>>,
|
|||
}
|
||||
}
|
||||
return match node.take() {
|
||||
Some(~TreeNode{value, _}) => Some(value), None => fail!()
|
||||
Some(~TreeNode{value, _}) => Some(value), None => fail2!()
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -900,7 +900,7 @@ mod test_treemap {
|
|||
assert!(m.insert(5, 14));
|
||||
let new = 100;
|
||||
match m.find_mut(&5) {
|
||||
None => fail!(), Some(x) => *x = new
|
||||
None => fail2!(), Some(x) => *x = new
|
||||
}
|
||||
assert_eq!(m.find(&5), Some(&new));
|
||||
}
|
||||
|
|
|
@ -93,10 +93,10 @@ fn encode_inner(s: &str, full_url: bool) -> ~str {
|
|||
out.push_char(ch);
|
||||
}
|
||||
|
||||
_ => out.push_str(fmt!("%%%X", ch as uint))
|
||||
_ => out.push_str(format!("%{:X}", ch as uint))
|
||||
}
|
||||
} else {
|
||||
out.push_str(fmt!("%%%X", ch as uint));
|
||||
out.push_str(format!("%{:X}", ch as uint));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -192,7 +192,7 @@ fn encode_plus(s: &str) -> ~str {
|
|||
out.push_char(ch);
|
||||
}
|
||||
' ' => out.push_char('+'),
|
||||
_ => out.push_str(fmt!("%%%X", ch as uint))
|
||||
_ => out.push_str(format!("%{:X}", ch as uint))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -218,7 +218,7 @@ pub fn encode_form_urlencoded(m: &HashMap<~str, ~[~str]>) -> ~str {
|
|||
first = false;
|
||||
}
|
||||
|
||||
out.push_str(fmt!("%s=%s", key, encode_plus(*value)));
|
||||
out.push_str(format!("{}={}", key, encode_plus(*value)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -324,8 +324,8 @@ fn userinfo_from_str(uinfo: &str) -> UserInfo {
|
|||
|
||||
fn userinfo_to_str(userinfo: &UserInfo) -> ~str {
|
||||
match userinfo.pass {
|
||||
Some(ref pass) => fmt!("%s:%s@", userinfo.user, *pass),
|
||||
None => fmt!("%s@", userinfo.user),
|
||||
Some(ref pass) => format!("{}:{}@", userinfo.user, *pass),
|
||||
None => format!("{}@", userinfo.user),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -345,7 +345,7 @@ pub fn query_to_str(query: &Query) -> ~str {
|
|||
for kv in query.iter() {
|
||||
match kv {
|
||||
&(ref k, ref v) => {
|
||||
strvec.push(fmt!("%s=%s",
|
||||
strvec.push(format!("{}={}",
|
||||
encode_component(*k),
|
||||
encode_component(*v))
|
||||
);
|
||||
|
@ -673,21 +673,21 @@ pub fn to_str(url: &Url) -> ~str {
|
|||
let authority = if url.host.is_empty() {
|
||||
~""
|
||||
} else {
|
||||
fmt!("//%s%s", user, url.host)
|
||||
format!("//{}{}", user, url.host)
|
||||
};
|
||||
|
||||
let query = if url.query.is_empty() {
|
||||
~""
|
||||
} else {
|
||||
fmt!("?%s", query_to_str(&url.query))
|
||||
format!("?{}", query_to_str(&url.query))
|
||||
};
|
||||
|
||||
let fragment = match url.fragment {
|
||||
Some(ref fragment) => fmt!("#%s", encode_component(*fragment)),
|
||||
Some(ref fragment) => format!("\\#{}", encode_component(*fragment)),
|
||||
None => ~"",
|
||||
};
|
||||
|
||||
fmt!("%s:%s%s%s%s", url.scheme, authority, url.path, query, fragment)
|
||||
format!("{}:{}{}{}{}", url.scheme, authority, url.path, query, fragment)
|
||||
}
|
||||
|
||||
impl ToStr for Url {
|
||||
|
|
|
@ -129,17 +129,17 @@ impl ToStr for ParseError {
|
|||
fn to_str(&self) -> ~str {
|
||||
match *self {
|
||||
ErrorInvalidLength(found) =>
|
||||
fmt!("Invalid length; expecting 32, 36 or 45 chars, found %u",
|
||||
found),
|
||||
format!("Invalid length; expecting 32, 36 or 45 chars, found {}",
|
||||
found),
|
||||
ErrorInvalidCharacter(found, pos) =>
|
||||
fmt!("Invalid character; found `%c` (0x%02x) at offset %u",
|
||||
found, found as uint, pos),
|
||||
format!("Invalid character; found `{}` (0x{:02x}) at offset {}",
|
||||
found, found as uint, pos),
|
||||
ErrorInvalidGroups(found) =>
|
||||
fmt!("Malformed; wrong number of groups: expected 1 or 5, found %u",
|
||||
found),
|
||||
format!("Malformed; wrong number of groups: expected 1 or 5, found {}",
|
||||
found),
|
||||
ErrorInvalidGroupLength(group, found, expecting) =>
|
||||
fmt!("Malformed; length of group %u was %u, expecting %u",
|
||||
group, found, expecting),
|
||||
format!("Malformed; length of group {} was {}, expecting {}",
|
||||
group, found, expecting),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -303,7 +303,7 @@ impl Uuid {
|
|||
pub fn to_simple_str(&self) -> ~str {
|
||||
let mut s: ~[u8] = vec::from_elem(32, 0u8);
|
||||
for i in range(0u, 16u) {
|
||||
let digit = fmt!("%02x", self.bytes[i] as uint);
|
||||
let digit = format!("{:02x}", self.bytes[i] as uint);
|
||||
s[i*2+0] = digit[0];
|
||||
s[i*2+1] = digit[1];
|
||||
}
|
||||
|
@ -324,12 +324,13 @@ impl Uuid {
|
|||
uf.data1 = to_be32(uf.data1 as i32) as u32;
|
||||
uf.data2 = to_be16(uf.data2 as i16) as u16;
|
||||
uf.data3 = to_be16(uf.data3 as i16) as u16;
|
||||
let s = fmt!("%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
|
||||
uf.data1 as uint,
|
||||
uf.data2 as uint, uf.data3 as uint,
|
||||
uf.data4[0] as uint, uf.data4[1] as uint,
|
||||
uf.data4[2] as uint, uf.data4[3] as uint, uf.data4[4] as uint,
|
||||
uf.data4[5] as uint, uf.data4[6] as uint, uf.data4[7] as uint);
|
||||
let s = format!("{:08x}-{:04x}-{:04x}-{:02x}{:02x}-\
|
||||
{:02x}{:02x}{:02x}{:02x}{:02x}{:02x}",
|
||||
uf.data1,
|
||||
uf.data2, uf.data3,
|
||||
uf.data4[0], uf.data4[1],
|
||||
uf.data4[2], uf.data4[3], uf.data4[4],
|
||||
uf.data4[5], uf.data4[6], uf.data4[7]);
|
||||
s
|
||||
}
|
||||
|
||||
|
|
|
@ -183,11 +183,11 @@ impl Database {
|
|||
assert!(os::path_exists(&self.db_filename));
|
||||
let f = io::file_reader(&self.db_filename);
|
||||
match f {
|
||||
Err(e) => fail!("Couldn't load workcache database %s: %s",
|
||||
Err(e) => fail2!("Couldn't load workcache database {}: {}",
|
||||
self.db_filename.to_str(), e.to_str()),
|
||||
Ok(r) =>
|
||||
match json::from_reader(r) {
|
||||
Err(e) => fail!("Couldn't parse workcache database (from file %s): %s",
|
||||
Err(e) => fail2!("Couldn't parse workcache database (from file {}): {}",
|
||||
self.db_filename.to_str(), e.to_str()),
|
||||
Ok(r) => {
|
||||
let mut decoder = json::Decoder(r);
|
||||
|
@ -264,7 +264,7 @@ fn json_encode<T:Encodable<json::Encoder>>(t: &T) -> ~str {
|
|||
|
||||
// FIXME(#5121)
|
||||
fn json_decode<T:Decodable<json::Decoder>>(s: &str) -> T {
|
||||
debug!("json decoding: %s", s);
|
||||
debug2!("json decoding: {}", s);
|
||||
do io::with_str_reader(s) |rdr| {
|
||||
let j = json::from_reader(rdr).unwrap();
|
||||
let mut decoder = json::Decoder(j);
|
||||
|
@ -321,7 +321,7 @@ impl Exec {
|
|||
dependency_kind: &str,
|
||||
dependency_name: &str,
|
||||
dependency_val: &str) {
|
||||
debug!("Discovering input %s %s %s", dependency_kind, dependency_name, dependency_val);
|
||||
debug2!("Discovering input {} {} {}", dependency_kind, dependency_name, dependency_val);
|
||||
self.discovered_inputs.insert_work_key(WorkKey::new(dependency_kind, dependency_name),
|
||||
dependency_val.to_owned());
|
||||
}
|
||||
|
@ -329,7 +329,7 @@ impl Exec {
|
|||
dependency_kind: &str,
|
||||
dependency_name: &str,
|
||||
dependency_val: &str) {
|
||||
debug!("Discovering output %s %s %s", dependency_kind, dependency_name, dependency_val);
|
||||
debug2!("Discovering output {} {} {}", dependency_kind, dependency_name, dependency_val);
|
||||
self.discovered_outputs.insert_work_key(WorkKey::new(dependency_kind, dependency_name),
|
||||
dependency_val.to_owned());
|
||||
}
|
||||
|
@ -368,7 +368,7 @@ impl<'self> Prep<'self> {
|
|||
|
||||
impl<'self> Prep<'self> {
|
||||
pub fn declare_input(&mut self, kind: &str, name: &str, val: &str) {
|
||||
debug!("Declaring input %s %s %s", kind, name, val);
|
||||
debug2!("Declaring input {} {} {}", kind, name, val);
|
||||
self.declared_inputs.insert_work_key(WorkKey::new(kind, name),
|
||||
val.to_owned());
|
||||
}
|
||||
|
@ -377,17 +377,17 @@ impl<'self> Prep<'self> {
|
|||
name: &str, val: &str) -> bool {
|
||||
let k = kind.to_owned();
|
||||
let f = self.ctxt.freshness.get().find(&k);
|
||||
debug!("freshness for: %s/%s/%s/%s", cat, kind, name, val)
|
||||
debug2!("freshness for: {}/{}/{}/{}", cat, kind, name, val)
|
||||
let fresh = match f {
|
||||
None => fail!("missing freshness-function for '%s'", kind),
|
||||
None => fail2!("missing freshness-function for '{}'", kind),
|
||||
Some(f) => (*f)(name, val)
|
||||
};
|
||||
do self.ctxt.logger.write |lg| {
|
||||
if fresh {
|
||||
lg.info(fmt!("%s %s:%s is fresh",
|
||||
lg.info(format!("{} {}:{} is fresh",
|
||||
cat, kind, name));
|
||||
} else {
|
||||
lg.info(fmt!("%s %s:%s is not fresh",
|
||||
lg.info(format!("{} {}:{} is not fresh",
|
||||
cat, kind, name))
|
||||
}
|
||||
};
|
||||
|
@ -418,7 +418,7 @@ impl<'self> Prep<'self> {
|
|||
&'self self, blk: ~fn(&mut Exec) -> T) -> Work<'self, T> {
|
||||
let mut bo = Some(blk);
|
||||
|
||||
debug!("exec_work: looking up %s and %?", self.fn_name,
|
||||
debug2!("exec_work: looking up {} and {:?}", self.fn_name,
|
||||
self.declared_inputs);
|
||||
let cached = do self.ctxt.db.read |db| {
|
||||
db.prepare(self.fn_name, &self.declared_inputs)
|
||||
|
@ -429,14 +429,14 @@ impl<'self> Prep<'self> {
|
|||
if self.all_fresh("declared input",&self.declared_inputs) &&
|
||||
self.all_fresh("discovered input", disc_in) &&
|
||||
self.all_fresh("discovered output", disc_out) => {
|
||||
debug!("Cache hit!");
|
||||
debug!("Trying to decode: %? / %? / %?",
|
||||
debug2!("Cache hit!");
|
||||
debug2!("Trying to decode: {:?} / {:?} / {}",
|
||||
disc_in, disc_out, *res);
|
||||
Work::from_value(json_decode(*res))
|
||||
}
|
||||
|
||||
_ => {
|
||||
debug!("Cache miss!");
|
||||
debug2!("Cache miss!");
|
||||
let (port, chan) = oneshot();
|
||||
let blk = bo.take_unwrap();
|
||||
let chan = Cell::new(chan);
|
||||
|
|
Loading…
Reference in New Issue