]> git.lizzy.rs Git - rust.git/commitdiff
rollup merge of #22502: nikomatsakis/deprecate-bracket-bracket
authorAlex Crichton <alex@alexcrichton.com>
Wed, 18 Feb 2015 23:48:40 +0000 (15:48 -0800)
committerAlex Crichton <alex@alexcrichton.com>
Wed, 18 Feb 2015 23:48:40 +0000 (15:48 -0800)
Conflicts:
src/libcollections/slice.rs
src/libcollections/str.rs
src/librustc/middle/lang_items.rs
src/librustc_back/rpath.rs
src/librustc_typeck/check/regionck.rs
src/libstd/ffi/os_str.rs
src/libsyntax/diagnostic.rs
src/libsyntax/parse/parser.rs
src/libsyntax/util/interner.rs
src/test/run-pass/regions-refcell.rs

63 files changed:
1  2 
src/compiletest/runtest.rs
src/doc/reference.md
src/libcollections/slice.rs
src/libcollections/str.rs
src/libcollections/string.rs
src/libcollections/vec.rs
src/libcore/array.rs
src/libcoretest/iter.rs
src/libgraphviz/lib.rs
src/librustc/lint/builtin.rs
src/librustc/metadata/encoder.rs
src/librustc/metadata/loader.rs
src/librustc/middle/check_match.rs
src/librustc/middle/const_eval.rs
src/librustc/middle/dataflow.rs
src/librustc/middle/expr_use_visitor.rs
src/librustc/middle/infer/error_reporting.rs
src/librustc/middle/lang_items.rs
src/librustc/middle/traits/select.rs
src/librustc/middle/ty.rs
src/librustc/util/ppaux.rs
src/librustc_back/rpath.rs
src/librustc_driver/test.rs
src/librustc_resolve/lib.rs
src/librustc_trans/back/lto.rs
src/librustc_trans/back/write.rs
src/librustc_trans/trans/asm.rs
src/librustc_trans/trans/base.rs
src/librustc_trans/trans/builder.rs
src/librustc_trans/trans/closure.rs
src/librustc_trans/trans/common.rs
src/librustc_trans/trans/context.rs
src/librustc_trans/trans/debuginfo.rs
src/librustc_trans/trans/expr.rs
src/librustc_trans/trans/foreign.rs
src/librustc_trans/trans/glue.rs
src/librustc_trans/trans/type_of.rs
src/librustc_typeck/astconv.rs
src/librustc_typeck/check/_match.rs
src/librustc_typeck/check/callee.rs
src/librustc_typeck/check/mod.rs
src/librustc_typeck/check/regionck.rs
src/libserialize/json.rs
src/libstd/ffi/os_str.rs
src/libstd/old_path/windows.rs
src/libstd/path.rs
src/libsyntax/ast_map/mod.rs
src/libsyntax/ast_util.rs
src/libsyntax/attr.rs
src/libsyntax/diagnostic.rs
src/libsyntax/ext/deriving/generic/mod.rs
src/libsyntax/ext/source_util.rs
src/libsyntax/ext/tt/macro_parser.rs
src/libsyntax/ext/tt/macro_rules.rs
src/libsyntax/feature_gate.rs
src/libsyntax/parse/lexer/comments.rs
src/libsyntax/parse/mod.rs
src/libsyntax/parse/parser.rs
src/libsyntax/print/pp.rs
src/libsyntax/print/pprust.rs
src/libsyntax/util/interner.rs
src/libtest/lib.rs
src/test/run-pass/regions-refcell.rs

Simple merge
Simple merge
index a0cb98267fa771176ff243d0375e8ff529c5f1d2,2147b6471464bc3cda70c6f98c4d08629eb80128..0abe7f120eacab2f004f03dc79dae398f0045f81
@@@ -1175,19 -1175,18 +1175,19 @@@ impl ElementSwaps 
  // Standard trait implementations for slices
  ////////////////////////////////////////////////////////////////////////////////
  
 -#[unstable(feature = "collections", reason = "trait is unstable")]
 -impl<T> BorrowFrom<Vec<T>> for [T] {
 -    fn borrow_from(owned: &Vec<T>) -> &[T] { &owned[..] }
 +#[stable(feature = "rust1", since = "1.0.0")]
 +impl<T> Borrow<[T]> for Vec<T> {
-     fn borrow(&self) -> &[T] { &self[] }
++    fn borrow(&self) -> &[T] { &self[..] }
  }
  
 -#[unstable(feature = "collections", reason = "trait is unstable")]
 -impl<T> BorrowFromMut<Vec<T>> for [T] {
 -    fn borrow_from_mut(owned: &mut Vec<T>) -> &mut [T] { &mut owned[..] }
 +#[stable(feature = "rust1", since = "1.0.0")]
 +impl<T> BorrowMut<[T]> for Vec<T> {
-     fn borrow_mut(&mut self) -> &mut [T] { &mut self[] }
++    fn borrow_mut(&mut self) -> &mut [T] { &mut self[..] }
  }
  
 -#[unstable(feature = "collections", reason = "trait is unstable")]
 -impl<T: Clone> ToOwned<Vec<T>> for [T] {
 +#[stable(feature = "rust1", since = "1.0.0")]
 +impl<T: Clone> ToOwned for [T] {
 +    type Owned = Vec<T>;
      fn to_owned(&self) -> Vec<T> { self.to_vec() }
  }
  
index cdc503500d2a69bd2feee6b0e856896d5ce98484,6ba5db0fb9df58481e41c805c9722372db2064bc..ec0a487acdc77c734c2ae207624c869e95708e25
@@@ -386,14 -386,13 +386,14 @@@ macro_rules! utf8_acc_cont_byte 
      ($ch:expr, $byte:expr) => (($ch << 6) | ($byte & 63u8) as u32)
  }
  
 -#[unstable(feature = "collections", reason = "trait is unstable")]
 -impl BorrowFrom<String> for str {
 -    fn borrow_from(owned: &String) -> &str { &owned[..] }
 +#[stable(feature = "rust1", since = "1.0.0")]
 +impl Borrow<str> for String {
-     fn borrow(&self) -> &str { &self[] }
++    fn borrow(&self) -> &str { &self[..] }
  }
  
 -#[unstable(feature = "collections", reason = "trait is unstable")]
 -impl ToOwned<String> for str {
 +#[stable(feature = "rust1", since = "1.0.0")]
 +impl ToOwned for str {
 +    type Owned = String;
      fn to_owned(&self) -> String {
          unsafe {
              String::from_utf8_unchecked(self.as_bytes().to_owned())
Simple merge
Simple merge
index b2bb5ee7999d8fac3d7b73eca36f36c62625aabf,45c0f65197aa4d551858a2db04c4a424388d9596..0c563f60c13bae6b2ad627643f7a1d5f964efbb7
@@@ -35,19 -35,11 +35,19 @@@ macro_rules! array_impls 
                  }
              }
  
 -            impl<S: hash::Writer + Hasher, T: Hash<S>> Hash<S> for [T; $N] {
 +            #[cfg(stage0)]
 +            impl<S: hash::Writer + hash::Hasher, T: Hash<S>> Hash<S> for [T; $N] {
                  fn hash(&self, state: &mut S) {
-                     Hash::hash(&self[], state)
+                     Hash::hash(&self[..], state)
                  }
              }
 +            #[cfg(not(stage0))]
 +            #[stable(feature = "rust1", since = "1.0.0")]
 +            impl<T: Hash> Hash for [T; $N] {
 +                fn hash<H: hash::Hasher>(&self, state: &mut H) {
 +                    Hash::hash(&self[], state)
 +                }
 +            }
  
              #[stable(feature = "rust1", since = "1.0.0")]
              impl<T: fmt::Debug> fmt::Debug for [T; $N] {
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index ce8f0d87e564c24511c7a3a7cddbf0a8e7231a96,51342e0827487c7e49eb76e993de1ea8cbe560db..fd641bd709d3f45ba105f4efe892b6a85a7ff499
@@@ -147,12 -147,18 +147,12 @@@ struct LanguageItemCollector<'a> 
  
  impl<'a, 'v> Visitor<'v> for LanguageItemCollector<'a> {
      fn visit_item(&mut self, item: &ast::Item) {
 -        match extract(&item.attrs) {
 -            Some(value) => {
 -                let item_index = self.item_refs.get(&value[..]).map(|x| *x);
 -
 -                match item_index {
 -                    Some(item_index) => {
 -                        self.collect_item(item_index, local_def(item.id), item.span)
 -                    }
 -                    None => {}
 -                }
 +        if let Some(value) = extract(&item.attrs) {
-             let item_index = self.item_refs.get(&value[]).cloned();
++            let item_index = self.item_refs.get(&value[..]).cloned();
 +
 +            if let Some(item_index) = item_index {
 +                self.collect_item(item_index, local_def(item.id), item.span)
              }
 -            None => {}
          }
  
          visit::walk_item(self, item);
Simple merge
Simple merge
Simple merge
index 3de69bd72e1e43d87bfc55e6a0558ab2f8cb99f1,21e4f55ffa79455a5c00c74db468ca74b82df05e..e7419d4bec30747717d0bf68c88a3a26db383d7b
@@@ -40,9 -40,12 +40,9 @@@ pub fn get_rpath_flags<F, G>(config: RP
      debug!("preparing the RPATH!");
  
      let libs = config.used_crates.clone();
 -    let libs = libs.into_iter().filter_map(|(_, l)| {
 -        l.map(|p| p.clone())
 -    }).collect::<Vec<_>>();
 -
 +    let libs = libs.into_iter().filter_map(|(_, l)| l).collect::<Vec<_>>();
-     let rpaths = get_rpaths(config, &libs[]);
-     flags.push_all(&rpaths_to_flags(&rpaths[])[]);
+     let rpaths = get_rpaths(config, &libs[..]);
 -    flags.push_all(&rpaths_to_flags(&rpaths[..])[]);
++    flags.push_all(&rpaths_to_flags(&rpaths[..]));
      flags
  }
  
Simple merge
Simple merge
Simple merge
index 20cd1624a8c9715c9991a8c7314d34921cd861e1,c7d7942f774ffcd4a30bdf03026524d26b97ff59..86b720d3fc171191f451bb9bc31a32e4eedef4ef
@@@ -47,9 -47,9 +47,9 @@@ pub fn llvm_err(handler: &diagnostic::H
      unsafe {
          let cstr = llvm::LLVMRustGetLastError();
          if cstr == ptr::null() {
-             handler.fatal(&msg[]);
+             handler.fatal(&msg[..]);
          } else {
 -            let err = ffi::c_str_to_bytes(&cstr);
 +            let err = CStr::from_ptr(cstr).to_bytes();
              let err = String::from_utf8_lossy(err).to_string();
              libc::free(cstr as *mut _);
              handler.fatal(&format!("{}: {}",
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 653ad1b2b630b46130e45ffd2ca0bf7ba58d7a48,95e598aa21a468981ee1b539a85c42950c90e87f..fc0129239aac7e9b316749ef013d818c528b7602
@@@ -806,11 -806,11 +806,11 @@@ pub fn create_global_var_metadata(cx: &
      let namespace_node = namespace_for_item(cx, ast_util::local_def(node_id));
      let var_name = token::get_ident(ident).to_string();
      let linkage_name =
-         namespace_node.mangled_name_of_contained_item(&var_name[]);
+         namespace_node.mangled_name_of_contained_item(&var_name[..]);
      let var_scope = namespace_node.scope;
  
 -    let var_name = CString::from_slice(var_name.as_bytes());
 -    let linkage_name = CString::from_slice(linkage_name.as_bytes());
 +    let var_name = CString::new(var_name).unwrap();
 +    let linkage_name = CString::new(linkage_name).unwrap();
      unsafe {
          llvm::LLVMDIBuilderCreateStaticVariable(DIB(cx),
                                                  var_scope,
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 4e5550a2106a98aa64cc38dfc118e1e97af829b8,8be7bc06c5047b86302d29ae72bf753d924ee006..44a3b5167c7ea5d2b5bc348231d29fd0ad0ad8ac
@@@ -293,9 -283,8 +293,9 @@@ impl<'a, 'tcx> Rcx<'a, 'tcx> 
          };
  
          let len = self.region_bound_pairs.len();
 -        self.relate_free_regions(&fn_sig[..], body.id);
 -        link_fn_args(self, CodeExtent::from_node_id(body.id), &fn_decl.inputs[]);
 +        let old_body_id = self.set_body_id(body.id);
-         self.relate_free_regions(&fn_sig[], body.id, span);
-         link_fn_args(self, CodeExtent::from_node_id(body.id), &fn_decl.inputs[]);
++        self.relate_free_regions(&fn_sig[..], body.id, span);
++        link_fn_args(self, CodeExtent::from_node_id(body.id), &fn_decl.inputs[..]);
          self.visit_block(body);
          self.visit_region_obligations(body.id);
          self.region_bound_pairs.truncate(len);
Simple merge
index feace0bd7025f1765c0a31f495939e81fb5d6e1d,88ebe99e981b36bf41fa763ded54635aa2152778..84149a2eb8e43353a1d9857c8a19cdecd65f379e
@@@ -285,12 -266,11 +285,12 @@@ impl Debug for OsStr 
      }
  }
  
 -impl BorrowFrom<OsString> for OsStr {
 -    fn borrow_from(owned: &OsString) -> &OsStr { &owned[..] }
 +impl Borrow<OsStr> for OsString {
-     fn borrow(&self) -> &OsStr { &self[] }
++    fn borrow(&self) -> &OsStr { &self[..] }
  }
  
 -impl ToOwned<OsString> for OsStr {
 +impl ToOwned for OsStr {
 +    type Owned = OsString;
      fn to_owned(&self) -> OsString { self.to_os_string() }
  }
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index b7a758a00d55da65217655ec0499ef20cfd3b982,fe409f7030f2358d712609c324a8c83dbc0352dc..02643fae9a1673691443a214695be2aff9fbfad3
@@@ -618,25 -618,22 +618,25 @@@ fn print_macro_backtrace(w: &mut Emitte
                           cm: &codemap::CodeMap,
                           sp: Span)
                           -> old_io::IoResult<()> {
 -    let cs = try!(cm.with_expn_info(sp.expn_id, |expn_info| match expn_info {
 -        Some(ei) => {
 -            let ss = ei.callee.span.map_or(String::new(), |span| cm.span_to_string(span));
 -            let (pre, post) = match ei.callee.format {
 -                codemap::MacroAttribute => ("#[", "]"),
 -                codemap::MacroBang => ("", "!")
 -            };
 -            try!(print_diagnostic(w, &ss[..], Note,
 -                                  &format!("in expansion of {}{}{}", pre,
 -                                          ei.callee.name,
 -                                          post)[], None));
 -            let ss = cm.span_to_string(ei.call_site);
 -            try!(print_diagnostic(w, &ss[..], Note, "expansion site", None));
 -            Ok(Some(ei.call_site))
 -        }
 -        None => Ok(None)
 +    let cs = try!(cm.with_expn_info(sp.expn_id, |expn_info| -> old_io::IoResult<_> {
 +        match expn_info {
 +            Some(ei) => {
 +                let ss = ei.callee.span.map_or(String::new(),
 +                                               |span| cm.span_to_string(span));
 +                let (pre, post) = match ei.callee.format {
 +                    codemap::MacroAttribute => ("#[", "]"),
 +                    codemap::MacroBang => ("", "!")
 +                };
-                 try!(print_diagnostic(w, &ss[], Note,
++                try!(print_diagnostic(w, &ss, Note,
 +                                      &format!("in expansion of {}{}{}", pre,
 +                                              ei.callee.name,
-                                               post)[], None));
++                                              post), None));
 +                let ss = cm.span_to_string(ei.call_site);
-                 try!(print_diagnostic(w, &ss[], Note, "expansion site", None));
++                try!(print_diagnostic(w, &ss, Note, "expansion site", None));
 +                Ok(Some(ei.call_site))
 +            }
 +            None => Ok(None)
 +    }
      }));
      cs.map_or(Ok(()), |call_site| print_macro_backtrace(w, cm, call_site))
  }
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index f6ec4816b63fc5ac442c8c5b3ba51fa41f57b825,6be16bbf6882c286e34eea28d17cb8531bec4987..e272c770cb7a3ec6e156c42eba52099eb8c1d346
@@@ -466,9 -467,9 +466,9 @@@ impl<'a> Parser<'a> 
          debug!("commit_expr {:?}", e);
          if let ExprPath(..) = e.node {
              // might be unit-struct construction; check for recoverableinput error.
 -            let mut expected = edible.iter().map(|x| x.clone()).collect::<Vec<_>>();
 +            let mut expected = edible.iter().cloned().collect::<Vec<_>>();
              expected.push_all(inedible);
-             self.check_for_erroneous_unit_struct_expecting(&expected[]);
+             self.check_for_erroneous_unit_struct_expecting(&expected[..]);
          }
          self.expect_one_of(edible, inedible)
      }
          if self.last_token
                 .as_ref()
                 .map_or(false, |t| t.is_ident() || t.is_path()) {
 -            let mut expected = edible.iter().map(|x| x.clone()).collect::<Vec<_>>();
 -            expected.push_all(&inedible[..]);
 -            self.check_for_erroneous_unit_struct_expecting(
 -                &expected[..]);
 +            let mut expected = edible.iter().cloned().collect::<Vec<_>>();
-             expected.push_all(&inedible[]);
-             self.check_for_erroneous_unit_struct_expecting(
-                 &expected[]);
++            expected.push_all(&inedible);
++            self.check_for_erroneous_unit_struct_expecting(&expected);
          }
          self.expect_one_of(edible, inedible)
      }
Simple merge
index 7742185897612adbfbdb02a5c7208afac96e9042,9683d448607531ce660914bb7f3ca6804d6a2e11..e2c7e992675dc1321083fe1f94503c430ac85310
@@@ -990,10 -991,10 +990,10 @@@ impl<'a> State<'a> 
                          try!(self.word_space("for ?"));
                          try!(self.print_trait_ref(&ptr.trait_ref));
                      } else {
 -                        real_bounds.push(b);
 +                        real_bounds.push(b.clone());
                      }
                  }
-                 try!(self.print_bounds(":", &real_bounds[]));
+                 try!(self.print_bounds(":", &real_bounds[..]));
                  try!(self.print_where_clause(generics));
                  try!(word(&mut self.s, " "));
                  try!(self.bopen());
index 2e8f43be120adbec1745049830746607584768cd,c286ff9d65c3d3359d3adc11dfbd89cce60e641f..bd9a6d7c4feaba01f84bbffc9abf4d5e3f501b08
@@@ -193,9 -128,9 +193,9 @@@ impl fmt::Display for RcStr 
      }
  }
  
 -impl BorrowFrom<RcStr> for str {
 -    fn borrow_from(owned: &RcStr) -> &str {
 -        &owned.string[..]
 +impl Borrow<str> for RcStr {
 +    fn borrow(&self) -> &str {
-         &self.string[]
++        &self.string[..]
      }
  }
  
Simple merge
index 10c9aef7c3b1e2101bd51776f650c0fdf29827e4,20b64ecc0710f12877b09fce08fc22c29ee345e4..a224017780e2d936419b6ca4f6ec7e235b527b9c
@@@ -18,8 -18,8 +18,8 @@@ use std::cell::RefCell
  // This version does not yet work (associated type issues)...
  #[cfg(cannot_use_this_yet)]
  fn foo<'a>(map: RefCell<HashMap<&'static str, &'a [u8]>>) {
 -    let one = [1u];
 +    let one = [1_usize];
-     assert_eq!(map.borrow().get("one"), Some(&one[]));
+     assert_eq!(map.borrow().get("one"), Some(&one[..]));
  }
  
  #[cfg(cannot_use_this_yet_either)]