]> git.lizzy.rs Git - rust.git/commitdiff
auto merge of #14481 : alexcrichton/rust/no-format-strbuf, r=sfackler
authorbors <bors@rust-lang.org>
Thu, 29 May 2014 10:31:39 +0000 (03:31 -0700)
committerbors <bors@rust-lang.org>
Thu, 29 May 2014 10:31:39 +0000 (03:31 -0700)
* Removes `format_strbuf!()`

1  2 
src/librustc/back/link.rs
src/librustc/middle/check_match.rs
src/librustc/middle/mem_categorization.rs
src/librustc/middle/trans/_match.rs
src/librustc/middle/trans/common.rs
src/librustc/middle/trans/debuginfo.rs
src/librustc/middle/typeck/check/_match.rs
src/librustdoc/clean/mod.rs
src/libstd/str.rs

index e59ce5cbf67ec11bdde67f9c8829f84356d9ccf8,05a366c1d32d55e3cf062af750439db84ba9c3be..189562df2d0dd8f6ff72a9752a317e1b441b089e
@@@ -751,10 -751,7 +751,7 @@@ pub fn mangle_internal_name_by_path_and
  }
  
  pub fn output_lib_filename(id: &CrateId) -> String {
-     format_strbuf!("{}-{}-{}",
-                    id.name,
-                    crate_id_hash(id),
-                    id.version_or_default())
+     format!("{}-{}-{}", id.name, crate_id_hash(id), id.version_or_default())
  }
  
  pub fn get_cc_prog(sess: &Session) -> String {
@@@ -827,7 -824,7 +824,7 @@@ pub fn filename_for_input(sess: &Sessio
      let libname = output_lib_filename(id);
      match crate_type {
          config::CrateTypeRlib => {
-             out_filename.with_filename(format_strbuf!("lib{}.rlib", libname))
+             out_filename.with_filename(format!("lib{}.rlib", libname))
          }
          config::CrateTypeDylib => {
              let (prefix, suffix) = match sess.targ_cfg.os {
                  abi::OsAndroid => (loader::ANDROID_DLL_PREFIX, loader::ANDROID_DLL_SUFFIX),
                  abi::OsFreebsd => (loader::FREEBSD_DLL_PREFIX, loader::FREEBSD_DLL_SUFFIX),
              };
-             out_filename.with_filename(format_strbuf!("{}{}{}",
-                                                       prefix,
-                                                       libname,
-                                                       suffix))
+             out_filename.with_filename(format!("{}{}{}", prefix, libname,
+                                                suffix))
          }
          config::CrateTypeStaticlib => {
-             out_filename.with_filename(format_strbuf!("lib{}.a", libname))
+             out_filename.with_filename(format!("lib{}.a", libname))
          }
          config::CrateTypeExecutable => out_filename.clone(),
      }
@@@ -1019,8 -1014,6 +1014,8 @@@ fn link_staticlib(sess: &Session, obj_f
      a.add_native_library("compiler-rt").unwrap();
  
      let crates = sess.cstore.get_used_crates(cstore::RequireStatic);
 +    let mut all_native_libs = vec![];
 +
      for &(cnum, ref path) in crates.iter() {
          let name = sess.cstore.get_crate_data(cnum).name.clone();
          let p = match *path {
              }
          };
          a.add_rlib(&p, name.as_slice(), sess.lto()).unwrap();
 +
          let native_libs = csearch::get_native_libraries(&sess.cstore, cnum);
 -        for &(kind, ref lib) in native_libs.iter() {
 -            let name = match kind {
 -                cstore::NativeStatic => "static library",
 -                cstore::NativeUnknown => "library",
 -                cstore::NativeFramework => "framework",
 -            };
 -            sess.warn(format!("unlinked native {}: {}",
 -                              name,
 -                              *lib).as_slice());
 -        }
 +        all_native_libs.extend(native_libs.move_iter());
 +    }
 +
 +    if !all_native_libs.is_empty() {
 +        sess.warn("link against the following native artifacts when linking against \
 +                  this static library");
 +        sess.note("the order and any duplication can be significant on some platforms, \
 +                  and so may need to be preserved");
 +    }
 +
 +    for &(kind, ref lib) in all_native_libs.iter() {
 +        let name = match kind {
 +            cstore::NativeStatic => "static library",
 +            cstore::NativeUnknown => "library",
 +            cstore::NativeFramework => "framework",
 +        };
 +        sess.note(format!("{}: {}", name, *lib).as_slice());
      }
  }
  
@@@ -1360,7 -1345,7 +1355,7 @@@ fn add_local_native_libraries(cmd: &mu
                          cmd.arg("-Wl,-Bdynamic");
                      }
                  }
-                 cmd.arg(format_strbuf!("-l{}", *l));
+                 cmd.arg(format!("-l{}", *l));
              }
              cstore::NativeFramework => {
                  cmd.arg("-framework");
@@@ -1524,7 -1509,7 +1519,7 @@@ fn add_upstream_native_libraries(cmd: &
          for &(kind, ref lib) in libs.iter() {
              match kind {
                  cstore::NativeUnknown => {
-                     cmd.arg(format_strbuf!("-l{}", *lib));
+                     cmd.arg(format!("-l{}", *lib));
                  }
                  cstore::NativeFramework => {
                      cmd.arg("-framework");
index bbea1349c14749f167aec8d6ab423e33ecb9ad9c,a6108cbe62ed210305df4c439116ce6e17c59626..5a6f51bb9c76e2df0779cad1c7e791c0a0654863
@@@ -190,7 -190,7 +190,7 @@@ fn check_exhaustive(cx: &MatchCheckCtxt
                  ty::ty_vec(..) | ty::ty_rptr(..) => {
                      match *ctor {
                          vec(n) => {
-                             Some(format_strbuf!("vectors of length {}", n))
+                             Some(format!("vectors of length {}", n))
                          }
                          _ => None
                      }
              }
          }
      };
-     let msg = format_strbuf!("non-exhaustive patterns{}", match ext {
-         Some(ref s) => format_strbuf!(": {} not covered", *s),
+     let msg = format!("non-exhaustive patterns{}", match ext {
+         Some(ref s) => format!(": {} not covered", *s),
          None => "".to_string()
      });
      cx.tcx.sess.span_err(sp, msg.as_slice());
@@@ -392,7 -392,6 +392,7 @@@ fn pat_ctor_id(cx: &MatchCheckCtxt, p: 
            None => Some(vec(before.len() + after.len()))
          }
        }
 +      PatMac(_) => cx.tcx.sess.bug("unexpanded macro"),
      }
  }
  
@@@ -850,10 -849,6 +850,10 @@@ fn specialize(cx: &MatchCheckCtxt
                      _ => None
                  }
              }
 +            PatMac(_) => {
 +                cx.tcx.sess.span_err(pat_span, "unexpanded macro");
 +                None
 +            }
          }
      }
  }
@@@ -952,7 -947,6 +952,7 @@@ fn find_refutable(cx: &MatchCheckCtxt, 
        }
        PatEnum(_,_) => {}
        PatVec(..) => { this_pattern!() }
 +      PatMac(_) => cx.tcx.sess.bug("unexpanded macro"),
      }
  }
  
index 10357ef3d567754a45417897f65f1cbb02e092a5,3aea6e4b552e19a3f86b7b7a08681f7c90310b35..d747dbe777067948e16ed957cfee7e23c0b9e274
@@@ -1088,10 -1088,6 +1088,10 @@@ impl<'t,TYPER:Typer> MemCategorizationC
            ast::PatLit(_) | ast::PatRange(_, _) => {
                /*always ok*/
            }
 +
 +          ast::PatMac(_) => {
 +              self.tcx().sess.span_bug(pat.span, "unexpanded macro");
 +          }
          }
  
          Ok(())
                        "captured outer variable".to_string()
                    }
                    _ => {
-                       format_strbuf!("dereference of `{}`-pointer",
-                                      ptr_sigil(pk))
+                       format!("dereference of `{}`-pointer", ptr_sigil(pk))
                    }
                }
            }
@@@ -1254,11 -1249,11 +1253,11 @@@ impl cmt_ 
  
  impl Repr for cmt_ {
      fn repr(&self, tcx: &ty::ctxt) -> String {
-         format_strbuf!("\\{{} id:{} m:{:?} ty:{}\\}",
-                        self.cat.repr(tcx),
-                        self.id,
-                        self.mutbl,
-                        self.ty.repr(tcx))
+         format!("\\{{} id:{} m:{:?} ty:{}\\}",
+                 self.cat.repr(tcx),
+                 self.id,
+                 self.mutbl,
+                 self.ty.repr(tcx))
      }
  }
  
@@@ -1271,19 -1266,16 +1270,16 @@@ impl Repr for categorization 
              cat_local(..) |
              cat_upvar(..) |
              cat_arg(..) => {
-                 format_strbuf!("{:?}", *self)
+                 format!("{:?}", *self)
              }
              cat_deref(ref cmt, derefs, ptr) => {
-                 format_strbuf!("{}-{}{}->",
-                                cmt.cat.repr(tcx),
-                                ptr_sigil(ptr),
-                                derefs)
+                 format!("{}-{}{}->", cmt.cat.repr(tcx), ptr_sigil(ptr), derefs)
              }
              cat_interior(ref cmt, interior) => {
-                 format_strbuf!("{}.{}", cmt.cat.repr(tcx), interior.repr(tcx))
+                 format!("{}.{}", cmt.cat.repr(tcx), interior.repr(tcx))
              }
              cat_downcast(ref cmt) => {
-                 format_strbuf!("{}->(enum)", cmt.cat.repr(tcx))
+                 format!("{}->(enum)", cmt.cat.repr(tcx))
              }
              cat_discr(ref cmt, _) => {
                  cmt.cat.repr(tcx)
@@@ -1309,7 -1301,7 +1305,7 @@@ impl Repr for InteriorKind 
              InteriorField(NamedField(fld)) => {
                  token::get_name(fld).get().to_str().to_string()
              }
-             InteriorField(PositionalField(i)) => format_strbuf!("\\#{:?}", i),
+             InteriorField(PositionalField(i)) => format!("\\#{:?}", i),
              InteriorElement(_) => "[]".to_string(),
          }
      }
index 8df57e7adfbe82b723d7fcd3b9db796bb1a4bf24,bb4c8e5aedda71a860fa67397502411b01dc30e5..5f2f37cf22a31e96cb9fc60fe922c804fdbbedc7
@@@ -405,7 -405,7 +405,7 @@@ impl<'a, 'b> Repr for Match<'a, 'b> 
              // for many programs, this just take too long to serialize
              self.pats.repr(tcx)
          } else {
-             format_strbuf!("{} pats", self.pats.len())
+             format!("{} pats", self.pats.len())
          }
      }
  }
@@@ -2282,9 -2282,6 +2282,9 @@@ fn bind_irrefutable_pat<'a>
              bcx.sess().span_bug(pat.span,
                                  "vector patterns are never irrefutable!");
          }
 +        ast::PatMac(..) => {
 +            bcx.sess().span_bug(pat.span, "unexpanded macro");
 +        }
          ast::PatWild | ast::PatWildMulti | ast::PatLit(_) | ast::PatRange(_, _) => ()
      }
      return bcx;
index 6cd6511b40ad366b93a8617eef82b3c6039f4162,adee9d06d1d77a7fc34c5b2766cc3ffcb9ecdb69..7e63c1a18f74a26959352de51ba497d539def590
@@@ -195,7 -195,7 +195,7 @@@ impl param_substs 
  }
  
  fn param_substs_to_str(this: &param_substs, tcx: &ty::ctxt) -> String {
-     format_strbuf!("param_substs({})", this.substs.repr(tcx))
+     format!("param_substs({})", this.substs.repr(tcx))
  }
  
  impl Repr for param_substs {
@@@ -478,7 -478,7 +478,7 @@@ impl<'a> Block<'a> 
  
      pub fn to_str(&self) -> String {
          let blk: *Block = self;
-         format_strbuf!("[block {}]", blk)
+         format!("[block {}]", blk)
      }
  }
  
@@@ -596,8 -596,7 +596,8 @@@ pub fn C_cstr(cx: &CrateContext, s: Int
  pub fn C_str_slice(cx: &CrateContext, s: InternedString) -> ValueRef {
      unsafe {
          let len = s.get().len();
 -        let cs = llvm::LLVMConstPointerCast(C_cstr(cx, s, false), Type::i8p(cx).to_ref());
 +        let cs = llvm::LLVMConstPointerCast(C_cstr(cx, s, false),
 +                                            Type::i8p(cx).to_ref());
          C_struct(cx, [cs, C_uint(cx, len)], false)
      }
  }
@@@ -844,6 -843,19 +844,6 @@@ pub fn find_vtable(tcx: &ty::ctxt
      param_bounds.get(n_bound).clone()
  }
  
 -pub fn filename_and_line_num_from_span(bcx: &Block, span: Span)
 -                                       -> (ValueRef, ValueRef) {
 -    let loc = bcx.sess().codemap().lookup_char_pos(span.lo);
 -    let filename_cstr = C_cstr(bcx.ccx(),
 -                               token::intern_and_get_ident(loc.file
 -                                                              .name
 -                                                              .as_slice()),
 -                               true);
 -    let filename = build::PointerCast(bcx, filename_cstr, Type::i8p(bcx.ccx()));
 -    let line = C_int(bcx.ccx(), loc.line as int);
 -    (filename, line)
 -}
 -
  // Casts a Rust bool value to an i1.
  pub fn bool_to_i1(bcx: &Block, llval: ValueRef) -> ValueRef {
      build::ICmp(bcx, lib::llvm::IntNE, llval, C_bool(bcx.ccx(), false))
index 744200c80e8a45a1d9bd926f735337ea9bf1893a,c1d63286b214b99039c945f2fbec0c5fd69486da..2f418f295a30c4e12afa5b2185e670a841c12a10
@@@ -2342,9 -2342,8 +2342,8 @@@ fn cache_id_for_type(t: ty::t) -> uint 
  fn generate_unique_type_id(prefix: &'static str) -> String {
      unsafe {
          static mut unique_id_counter: atomics::AtomicUint = atomics::INIT_ATOMIC_UINT;
-         format_strbuf!("{}{}",
-                        prefix,
-                        unique_id_counter.fetch_add(1, atomics::SeqCst))
+         format!("{}{}", prefix,
+                 unique_id_counter.fetch_add(1, atomics::SeqCst))
      }
  }
  
@@@ -2664,11 -2663,6 +2663,11 @@@ fn populate_scope_map(cx: &CrateContext
                      walk_pattern(cx, sub_pat, scope_stack, scope_map);
                  }
              }
 +
 +            ast::PatMac(_) => {
 +                cx.sess().span_bug(pat.span, "debuginfo::populate_scope_map() - \
 +                                              Found unexpanded macro.");
 +            }
          }
      }
  
index e223f4001dfd6dff6834f86fd01dfcb5de18846c,3d3d15baf8455cadd8ec6a7b0a3c07133305e871..bb8630cf950c5e3224f69a39139f99e0533bfd85
@@@ -167,10 -167,8 +167,8 @@@ pub fn check_pat_variant(pcx: &pat_ctxt
                      fcx.infcx().type_error_message_str_with_expected(pat.span,
                                                         |expected, actual| {
                         expected.map_or("".to_string(), |e| {
-                         format_strbuf!("mismatched types: expected `{}` but \
-                                         found {}",
-                                        e,
-                                        actual)
+                         format!("mismatched types: expected `{}` but found {}",
+                                 e, actual)
                          })},
                          Some(expected),
                          "a structure pattern".to_string(),
                                                 |expected, actual| {
                                                 expected.map_or("".to_string(),
                                                                |e| {
-                         format_strbuf!("mismatched types: expected `{}` but \
-                                         found {}",
-                                        e,
-                                        actual)
+                         format!("mismatched types: expected `{}` but found {}",
+                                 e, actual)
                      })
                  },
                  Some(expected),
@@@ -555,10 -551,8 +551,8 @@@ pub fn check_pat(pcx: &pat_ctxt, pat: &
                                                                  |expected, actual| {
                              expected.map_or("".to_string(),
                                              |e| {
-                                 format_strbuf!("mismatched types: expected \
-                                                 `{}` but found {}",
-                                                e,
-                                                actual)
+                                 format!("mismatched types: expected \
+                                         `{}` but found {}", e, actual)
                              })},
                              Some(expected),
                              "a structure pattern".to_string(),
                                                                   |expected,
                                                                    actual| {
                          expected.map_or("".to_string(), |e| {
-                             format_strbuf!("mismatched types: expected `{}` \
-                                             but found {}",
-                                            e,
-                                            actual)
+                             format!("mismatched types: expected `{}` \
+                                      but found {}", e, actual)
                          }
                      )},
                      Some(expected),
                  |expected, actual| {
                      expected.map_or("".to_string(),
                                      |e| {
-                         format_strbuf!("mismatched types: expected `{}` but \
-                                         found {}",
-                                        e,
-                                        actual)
+                         format!("mismatched types: expected `{}` but found {}",
+                                 e, actual)
                      })
                  },
                  Some(expected),
          }
          fcx.write_ty(pat.id, expected);
        }
 +
 +      ast::PatMac(_) => tcx.sess.bug("unexpanded macro"),
      }
  }
  
@@@ -753,14 -741,12 +743,12 @@@ pub fn check_pointer_pat(pcx: &pat_ctxt
                  span,
                  |expected, actual| {
                      expected.map_or("".to_string(), |e| {
-                         format_strbuf!("mismatched types: expected `{}` but \
-                                         found {}",
-                                        e,
-                                        actual)
+                         format!("mismatched types: expected `{}` but found {}",
+                                 e, actual)
                      })
                  },
                  Some(expected),
-                 format_strbuf!("{} pattern", match pointer_kind {
+                 format!("{} pattern", match pointer_kind {
                      Send => "a box",
                      Borrowed => "an `&`-pointer",
                  }),
index 48e390b35fb103dc81934d7d805c093a14de754a,aab236417a58aef560f9947285d3e37e5819bd4b..2e41b2c2f49d35b8613962bf46b929b76bb1c726
@@@ -1000,7 -1000,7 +1000,7 @@@ impl Clean<Type> for ty::t 
              ty::ty_str => String,
              ty::ty_vec(mt, None) => Vector(box mt.ty.clean()),
              ty::ty_vec(mt, Some(i)) => FixedVector(box mt.ty.clean(),
-                                                    format_strbuf!("{}", i)),
+                                                    format!("{}", i)),
              ty::ty_ptr(mt) => RawPointer(mt.mutbl.clean(), box mt.ty.clean()),
              ty::ty_rptr(r, mt) => BorrowedRef {
                  lifetime: r.clean(),
@@@ -1697,8 -1697,8 +1697,8 @@@ impl ToSource for syntax::codemap::Spa
  fn lit_to_str(lit: &ast::Lit) -> String {
      match lit.node {
          ast::LitStr(ref st, _) => st.get().to_string(),
-         ast::LitBinary(ref data) => format_strbuf!("{:?}", data.as_slice()),
-         ast::LitChar(c) => format_strbuf!("'{}'", c),
+         ast::LitBinary(ref data) => format!("{:?}", data.as_slice()),
+         ast::LitChar(c) => format!("'{}'", c),
          ast::LitInt(i, _t) => i.to_str().to_string(),
          ast::LitUint(u, _t) => u.to_str().to_string(),
          ast::LitIntUnsuffixed(i) => i.to_str().to_string(),
@@@ -1731,12 -1731,7 +1731,12 @@@ fn name_from_pat(p: &ast::Pat) -> Strin
          PatRange(..) => fail!("tried to get argument name from PatRange, \
                                which is not allowed in function arguments"),
          PatVec(..) => fail!("tried to get argument name from pat_vec, \
 -                             which is not allowed in function arguments")
 +                             which is not allowed in function arguments"),
 +        PatMac(..) => {
 +            warn!("can't document the name of a function argument \
 +                   produced by a pattern macro");
 +            "(argument produced by macro)".to_string()
 +        }
      }
  }
  
@@@ -1822,7 -1817,7 +1822,7 @@@ pub struct Macro 
  impl Clean<Item> for doctree::Macro {
      fn clean(&self) -> Item {
          Item {
-             name: Some(format_strbuf!("{}!", self.name.clean())),
+             name: Some(format!("{}!", self.name.clean())),
              attrs: self.attrs.clean(),
              source: self.where.clean(),
              visibility: ast::Public.clean(),
diff --combined src/libstd/str.rs
index eb97f0f6a280808735aab22a1852a0b1566d70cc,b80b2581e08e60635d979c8a0a8e1bc4ac621754..274a1b068634da01bae2c52c1a277b2b49a907bf
@@@ -86,8 -86,8 +86,8 @@@ use vec::Vec
  pub use core::str::{from_utf8, CharEq, Chars, CharOffsets};
  pub use core::str::{Bytes, CharSplits};
  pub use core::str::{CharSplitsN, Words, AnyLines, MatchIndices, StrSplits};
 -pub use core::str::{eq_slice, is_utf8, is_utf16, UTF16Items};
 -pub use core::str::{UTF16Item, ScalarValue, LoneSurrogate, utf16_items};
 +pub use core::str::{eq_slice, is_utf8, is_utf16, Utf16Items};
 +pub use core::str::{Utf16Item, ScalarValue, LoneSurrogate, utf16_items};
  pub use core::str::{truncate_utf16_at_nul, utf8_char_width, CharRange};
  pub use core::str::{Str, StrSlice};
  
@@@ -2123,7 -2123,7 +2123,7 @@@ mod tests 
          assert_eq!(s.len(), 5);
          assert_eq!(s.as_slice(), "abcde");
          assert_eq!(s.to_str(), "abcde".to_string());
-         assert_eq!(format_strbuf!("{}", s), "abcde".to_string());
+         assert_eq!(format!("{}", s), "abcde".to_string());
          assert!(s.lt(&Owned("bcdef".to_string())));
          assert_eq!(Slice(""), Default::default());
  
          assert_eq!(o.len(), 5);
          assert_eq!(o.as_slice(), "abcde");
          assert_eq!(o.to_str(), "abcde".to_string());
-         assert_eq!(format_strbuf!("{}", o), "abcde".to_string());
+         assert_eq!(format!("{}", o), "abcde".to_string());
          assert!(o.lt(&Slice("bcdef")));
          assert_eq!(Owned("".to_string()), Default::default());