Merge 'richo/unquote-crates' into less-quotes

Conflicts:
	src/libsyntax/parse/parser.rs
This commit is contained in:
Alex Crichton 2015-03-27 11:06:41 -07:00
commit 8bc3838e91
24 changed files with 137 additions and 24 deletions

View file

@ -980,7 +980,7 @@ extern crate pcre;
extern crate std; // equivalent to: extern crate std as std;
extern crate "std" as ruststd; // linking to 'std' under another name
extern crate std as ruststd; // linking to 'std' under another name
```
##### Use declarations

View file

@ -24,38 +24,58 @@ use vec::Vec;
#[stable(feature = "rust1", since = "1.0.0")]
impl<'a, R: Read + ?Sized> Read for &'a mut R {
#[inline]
fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> {
(**self).read(buf)
}
#[inline]
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> io::Result<usize> {
(**self).read_to_end(buf)
}
#[inline]
fn read_to_string(&mut self, buf: &mut String) -> io::Result<usize> {
(**self).read_to_string(buf)
}
}
#[stable(feature = "rust1", since = "1.0.0")]
impl<'a, W: Write + ?Sized> Write for &'a mut W {
#[inline]
fn write(&mut self, buf: &[u8]) -> io::Result<usize> { (**self).write(buf) }
#[inline]
fn flush(&mut self) -> io::Result<()> { (**self).flush() }
#[inline]
fn write_all(&mut self, buf: &[u8]) -> io::Result<()> {
(**self).write_all(buf)
}
#[inline]
fn write_fmt(&mut self, fmt: fmt::Arguments) -> io::Result<()> {
(**self).write_fmt(fmt)
}
}
#[stable(feature = "rust1", since = "1.0.0")]
impl<'a, S: Seek + ?Sized> Seek for &'a mut S {
#[inline]
fn seek(&mut self, pos: SeekFrom) -> io::Result<u64> { (**self).seek(pos) }
}
#[stable(feature = "rust1", since = "1.0.0")]
impl<'a, B: BufRead + ?Sized> BufRead for &'a mut B {
#[inline]
fn fill_buf(&mut self) -> io::Result<&[u8]> { (**self).fill_buf() }
#[inline]
fn consume(&mut self, amt: usize) { (**self).consume(amt) }
#[inline]
fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> io::Result<usize> {
(**self).read_until(byte, buf)
}
#[inline]
fn read_line(&mut self, buf: &mut String) -> io::Result<usize> {
(**self).read_line(buf)
}
@ -63,38 +83,58 @@ impl<'a, B: BufRead + ?Sized> BufRead for &'a mut B {
#[stable(feature = "rust1", since = "1.0.0")]
impl<R: Read + ?Sized> Read for Box<R> {
#[inline]
fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> {
(**self).read(buf)
}
#[inline]
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> io::Result<usize> {
(**self).read_to_end(buf)
}
#[inline]
fn read_to_string(&mut self, buf: &mut String) -> io::Result<usize> {
(**self).read_to_string(buf)
}
}
#[stable(feature = "rust1", since = "1.0.0")]
impl<W: Write + ?Sized> Write for Box<W> {
#[inline]
fn write(&mut self, buf: &[u8]) -> io::Result<usize> { (**self).write(buf) }
#[inline]
fn flush(&mut self) -> io::Result<()> { (**self).flush() }
#[inline]
fn write_all(&mut self, buf: &[u8]) -> io::Result<()> {
(**self).write_all(buf)
}
#[inline]
fn write_fmt(&mut self, fmt: fmt::Arguments) -> io::Result<()> {
(**self).write_fmt(fmt)
}
}
#[stable(feature = "rust1", since = "1.0.0")]
impl<S: Seek + ?Sized> Seek for Box<S> {
#[inline]
fn seek(&mut self, pos: SeekFrom) -> io::Result<u64> { (**self).seek(pos) }
}
#[stable(feature = "rust1", since = "1.0.0")]
impl<B: BufRead + ?Sized> BufRead for Box<B> {
#[inline]
fn fill_buf(&mut self) -> io::Result<&[u8]> { (**self).fill_buf() }
#[inline]
fn consume(&mut self, amt: usize) { (**self).consume(amt) }
#[inline]
fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> io::Result<usize> {
(**self).read_until(byte, buf)
}
#[inline]
fn read_line(&mut self, buf: &mut String) -> io::Result<usize> {
(**self).read_line(buf)
}
@ -105,6 +145,7 @@ impl<B: BufRead + ?Sized> BufRead for Box<B> {
#[stable(feature = "rust1", since = "1.0.0")]
impl<'a> Read for &'a [u8] {
#[inline]
fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> {
let amt = cmp::min(buf.len(), self.len());
let (a, b) = self.split_at(amt);
@ -116,12 +157,16 @@ impl<'a> Read for &'a [u8] {
#[stable(feature = "rust1", since = "1.0.0")]
impl<'a> BufRead for &'a [u8] {
#[inline]
fn fill_buf(&mut self) -> io::Result<&[u8]> { Ok(*self) }
#[inline]
fn consume(&mut self, amt: usize) { *self = &self[amt..]; }
}
#[stable(feature = "rust1", since = "1.0.0")]
impl<'a> Write for &'a mut [u8] {
#[inline]
fn write(&mut self, data: &[u8]) -> io::Result<usize> {
let amt = cmp::min(data.len(), self.len());
let (a, b) = mem::replace(self, &mut []).split_at_mut(amt);
@ -130,6 +175,7 @@ impl<'a> Write for &'a mut [u8] {
Ok(amt)
}
#[inline]
fn write_all(&mut self, data: &[u8]) -> io::Result<()> {
if try!(self.write(data)) == data.len() {
Ok(())
@ -138,20 +184,87 @@ impl<'a> Write for &'a mut [u8] {
}
}
#[inline]
fn flush(&mut self) -> io::Result<()> { Ok(()) }
}
#[stable(feature = "rust1", since = "1.0.0")]
impl Write for Vec<u8> {
#[inline]
fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
self.push_all(buf);
Ok(buf.len())
}
#[inline]
fn write_all(&mut self, buf: &[u8]) -> io::Result<()> {
self.push_all(buf);
Ok(())
}
#[inline]
fn flush(&mut self) -> io::Result<()> { Ok(()) }
}
#[cfg(test)]
mod tests {
use io::prelude::*;
use vec::Vec;
use test;
#[bench]
fn bench_read_slice(b: &mut test::Bencher) {
let buf = [5; 1024];
let mut dst = [0; 128];
b.iter(|| {
let mut rd = &buf[..];
for _ in (0 .. 8) {
let _ = rd.read(&mut dst);
test::black_box(&dst);
}
})
}
#[bench]
fn bench_write_slice(b: &mut test::Bencher) {
let mut buf = [0; 1024];
let src = [5; 128];
b.iter(|| {
let mut wr = &mut buf[..];
for _ in (0 .. 8) {
let _ = wr.write_all(&src);
test::black_box(&wr);
}
})
}
#[bench]
fn bench_read_vec(b: &mut test::Bencher) {
let buf = vec![5; 1024];
let mut dst = [0; 128];
b.iter(|| {
let mut rd = &buf[..];
for _ in (0 .. 8) {
let _ = rd.read(&mut dst);
test::black_box(&dst);
}
})
}
#[bench]
fn bench_write_vec(b: &mut test::Bencher) {
let mut buf = Vec::with_capacity(1024);
let src = [5; 128];
b.iter(|| {
let mut wr = &mut buf[..];
for _ in (0 .. 8) {
let _ = wr.write_all(&src);
test::black_box(&wr);
}
})
}
}

View file

@ -52,7 +52,7 @@ struct StandardLibraryInjector {
impl fold::Folder for StandardLibraryInjector {
fn fold_crate(&mut self, mut krate: ast::Crate) -> ast::Crate {
// The name to use in `extern crate "name" as std;`
// The name to use in `extern crate name as std;`
let actual_crate_name = match self.alt_std_name {
Some(ref s) => token::intern(&s),
None => token::intern("std"),

View file

@ -13,7 +13,7 @@
#![crate_type = "dylib"]
#![feature(plugin_registrar, quote, rustc_private)]
extern crate "syntax_extension_with_dll_deps_1" as other;
extern crate syntax_extension_with_dll_deps_1 as other;
extern crate syntax;
extern crate rustc;

View file

@ -10,7 +10,7 @@
// aux-build:trait_default_method_xc_aux.rs
extern crate "trait_default_method_xc_aux" as aux;
extern crate trait_default_method_xc_aux as aux;
use aux::A;
pub struct a_struct { pub x: int }

View file

@ -15,7 +15,7 @@
extern crate graphviz;
// A simple rust project
extern crate "flate" as myflate;
extern crate flate as myflate;
use std::collections::{HashMap,HashSet};
use std::cell::RefCell;

View file

@ -13,7 +13,7 @@
extern crate core;
extern crate rand;
extern crate "serialize" as rustc_serialize;
extern crate serialize as rustc_serialize;
extern crate collections;
// Issue #16803

View file

@ -10,6 +10,6 @@
// pretty-expanded FIXME #23616
extern crate "std" as mystd;
extern crate std as mystd;
pub fn main() {}

View file

@ -13,7 +13,7 @@
#![feature(lang_items, start, no_std, core, collections)]
#![no_std]
extern crate "std" as other;
extern crate std as other;
#[macro_use] extern crate core;
#[macro_use] extern crate collections;

View file

@ -13,7 +13,7 @@
#![feature(lang_items, start, no_std, core, collections)]
#![no_std]
extern crate "std" as other;
extern crate std as other;
#[macro_use] extern crate core;
#[macro_use] extern crate collections;

View file

@ -10,6 +10,6 @@
// pretty-expanded FIXME #23616
#[macro_use] extern crate "std" as std2;
#[macro_use] extern crate std as std2;
fn main() {}

View file

@ -14,7 +14,7 @@
#![feature(linkage)]
extern crate "linkage1" as other;
extern crate linkage1 as other;
extern {
#[linkage = "extern_weak"]

View file

@ -12,7 +12,7 @@
// ignore-stage1
#[macro_use]
extern crate "macro_crate_nonterminal" as new_name;
extern crate macro_crate_nonterminal as new_name;
pub fn main() {
new_name::check_local();

View file

@ -12,7 +12,7 @@
// pretty-expanded FIXME #23616
extern crate "static_fn_inline_xc_aux" as mycore;
extern crate static_fn_inline_xc_aux as mycore;
use mycore::num;

View file

@ -12,7 +12,7 @@
// pretty-expanded FIXME #23616
extern crate "static_fn_trait_xc_aux" as mycore;
extern crate static_fn_trait_xc_aux as mycore;
use mycore::num;

View file

@ -14,8 +14,8 @@
// pretty-expanded FIXME #23616
extern crate "trait_default_method_xc_aux" as aux;
extern crate "trait_default_method_xc_aux_2" as aux2;
extern crate trait_default_method_xc_aux as aux;
extern crate trait_default_method_xc_aux_2 as aux2;
use aux::A;
use aux2::{a_struct, welp};

View file

@ -12,7 +12,7 @@
// pretty-expanded FIXME #23616
extern crate "trait_default_method_xc_aux" as aux;
extern crate trait_default_method_xc_aux as aux;
use aux::{A, TestEquality, Something};
use aux::B;

View file

@ -12,7 +12,7 @@
// pretty-expanded FIXME #23616
extern crate "trait_inheritance_auto_xc_2_aux" as aux;
extern crate trait_inheritance_auto_xc_2_aux as aux;
// aux defines impls of Foo, Bar and Baz for A
use aux::{Foo, Bar, Baz, A};

View file

@ -12,7 +12,7 @@
// pretty-expanded FIXME #23616
extern crate "trait_inheritance_auto_xc_aux" as aux;
extern crate trait_inheritance_auto_xc_aux as aux;
use aux::{Foo, Bar, Baz, Quux};

View file

@ -12,7 +12,7 @@
// pretty-expanded FIXME #23616
extern crate "trait_inheritance_cross_trait_call_xc_aux" as aux;
extern crate trait_inheritance_cross_trait_call_xc_aux as aux;
use aux::Foo;

View file

@ -11,6 +11,6 @@
// Issue #1706
// pretty-expanded FIXME #23616
extern crate "std" as stdlib;
extern crate std as stdlib;
pub fn main() {}

View file

@ -15,7 +15,7 @@
#![no_std]
extern crate std;
extern crate "std" as zed;
extern crate std as zed;
use std::str;
use zed::str as x;

View file

@ -13,7 +13,7 @@
#![feature(lang_items, start, no_std, core, libc, collections)]
#![no_std]
extern crate "std" as other;
extern crate std as other;
#[macro_use]
extern crate core;

View file

@ -12,7 +12,7 @@
// pretty-expanded FIXME #23616
extern crate "xcrate_address_insignificant" as foo;
extern crate xcrate_address_insignificant as foo;
pub fn main() {
assert_eq!(foo::foo::<f64>(), foo::bar());