Skip to content

Commit d58db8b

Browse files
committed
---
yaml --- r: 276220 b: refs/heads/master c: 12c4a19 h: refs/heads/master
1 parent 697ad80 commit d58db8b

File tree

201 files changed

+3204
-4331
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

201 files changed

+3204
-4331
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 2e4474f890bd2a55f3efcfe17e411b902fbfb383
2+
refs/heads/master: 12c4a1951e85925dbccc40efb163f4f179c30046
33
refs/heads/snap-stage3: 235d77457d80b549dad3ac36d94f235208a1eafb
44
refs/heads/try: 49312a405e14a449b98fe0056b12a40ac128be4a
55
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105

trunk/src/doc/book/getting-started.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ we’ll talk about Cargo, Rust’s build system and package manager.
88

99
The first step to using Rust is to install it. Generally speaking, you’ll need
1010
an Internet connection to run the commands in this section, as we’ll be
11-
downloading Rust from the Internet.
11+
downloading Rust from the internet.
1212

1313
We’ll be showing off a number of commands using a terminal, and those lines all
1414
start with `$`. We don't need to type in the `$`s, they are there to indicate
@@ -399,13 +399,13 @@ Let’s convert the Hello World program to Cargo. To Cargo-fy a project, you nee
399399
to do three things:
400400

401401
1. Put your source file in the right directory.
402-
2. Get rid of the old executable (`main.exe` on Windows, `main` everywhere
403-
else).
402+
2. Get rid of the old executable (`main.exe` on Windows, `main` everywhere else)
403+
and make a new one.
404404
3. Make a Cargo configuration file.
405405

406406
Let's get started!
407407

408-
### Creating a Source Directory and Removing the Old Executable
408+
### Creating a new Executable and Source Directory
409409

410410
First, go back to your terminal, move to your *hello_world* directory, and
411411
enter the following commands:

trunk/src/liballoc_jemalloc/lib.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,28 +41,28 @@ use libc::{c_int, c_void, size_t};
4141
#[cfg(not(cargobuild))]
4242
extern {}
4343

44-
// Note that the symbols here are prefixed by default on OSX and Windows (we
45-
// don't explicitly request it), and on Android and DragonFly we explicitly
46-
// request it as unprefixing cause segfaults (mismatches in allocators).
44+
// Note that the symbols here are prefixed by default on OSX (we don't
45+
// explicitly request it), and on Android and DragonFly we explicitly request
46+
// it as unprefixing cause segfaults (mismatches in allocators).
4747
extern {
4848
#[cfg_attr(any(target_os = "macos", target_os = "android", target_os = "ios",
49-
target_os = "dragonfly", target_os = "windows"),
49+
target_os = "dragonfly"),
5050
link_name = "je_mallocx")]
5151
fn mallocx(size: size_t, flags: c_int) -> *mut c_void;
5252
#[cfg_attr(any(target_os = "macos", target_os = "android", target_os = "ios",
53-
target_os = "dragonfly", target_os = "windows"),
53+
target_os = "dragonfly"),
5454
link_name = "je_rallocx")]
5555
fn rallocx(ptr: *mut c_void, size: size_t, flags: c_int) -> *mut c_void;
5656
#[cfg_attr(any(target_os = "macos", target_os = "android", target_os = "ios",
57-
target_os = "dragonfly", target_os = "windows"),
57+
target_os = "dragonfly"),
5858
link_name = "je_xallocx")]
5959
fn xallocx(ptr: *mut c_void, size: size_t, extra: size_t, flags: c_int) -> size_t;
6060
#[cfg_attr(any(target_os = "macos", target_os = "android", target_os = "ios",
61-
target_os = "dragonfly", target_os = "windows"),
61+
target_os = "dragonfly"),
6262
link_name = "je_sdallocx")]
6363
fn sdallocx(ptr: *mut c_void, size: size_t, flags: c_int);
6464
#[cfg_attr(any(target_os = "macos", target_os = "android", target_os = "ios",
65-
target_os = "dragonfly", target_os = "windows"),
65+
target_os = "dragonfly"),
6666
link_name = "je_nallocx")]
6767
fn nallocx(size: size_t, flags: c_int) -> size_t;
6868
}

trunk/src/libcollections/fmt.rs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@
333333
//! precision := count | '*'
334334
//! type := identifier | ''
335335
//! count := parameter | integer
336-
//! parameter := argument '$'
336+
//! parameter := integer '$'
337337
//! ```
338338
//!
339339
//! # Formatting Parameters
@@ -403,12 +403,11 @@
403403
//! println!("Hello {:5}!", "x");
404404
//! println!("Hello {:1$}!", "x", 5);
405405
//! println!("Hello {1:0$}!", 5, "x");
406-
//! println!("Hello {:width$}!", "x", width = 5);
407406
//! ```
408407
//!
409408
//! Referring to an argument with the dollar syntax does not affect the "next
410-
//! argument" counter, so it's usually a good idea to refer to arguments by
411-
//! position, or use named arguments.
409+
//! argument" counter, so it's usually a good idea to refer to all arguments by
410+
//! their position explicitly.
412411
//!
413412
//! ## Precision
414413
//!
@@ -427,7 +426,7 @@
427426
//!
428427
//! the integer `N` itself is the precision.
429428
//!
430-
//! 2. An integer or name followed by dollar sign `.N$`:
429+
//! 2. An integer followed by dollar sign `.N$`:
431430
//!
432431
//! use format *argument* `N` (which must be a `usize`) as the precision.
433432
//!
@@ -457,10 +456,6 @@
457456
//! // Hello {next arg (x)} is {arg 2 (0.01) with precision
458457
//! // specified in its predecessor (5)}
459458
//! println!("Hello {} is {2:.*}", "x", 5, 0.01);
460-
//!
461-
//! // Hello {next arg (x)} is {arg "number" (0.01) with precision specified
462-
//! // in arg "prec" (5)}
463-
//! println!("Hello {} is {number:.prec$}", "x", prec = 5, number = 0.01);
464459
//! ```
465460
//!
466461
//! All print the same thing:

trunk/src/libcore/intrinsics.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,8 +192,11 @@ extern "rust-intrinsic" {
192192

193193
/// The size of a type in bytes.
194194
///
195-
/// More specifically, this is the offset in bytes between successive
196-
/// items of the same type, including alignment padding.
195+
/// This is the exact number of bytes in memory taken up by a
196+
/// value of the given type. In other words, a memset of this size
197+
/// would *exactly* overwrite a value. When laid out in vectors
198+
/// and structures there may be additional padding between
199+
/// elements.
197200
pub fn size_of<T>() -> usize;
198201

199202
/// Moves a value to an uninitialized memory location.

trunk/src/libcore/iter/mod.rs

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -541,23 +541,6 @@ impl<A, B> Iterator for Chain<A, B> where
541541
}
542542
}
543543

544-
#[inline]
545-
fn find<P>(&mut self, mut predicate: P) -> Option<Self::Item> where
546-
P: FnMut(&Self::Item) -> bool,
547-
{
548-
match self.state {
549-
ChainState::Both => match self.a.find(&mut predicate) {
550-
None => {
551-
self.state = ChainState::Back;
552-
self.b.find(predicate)
553-
}
554-
v => v
555-
},
556-
ChainState::Front => self.a.find(predicate),
557-
ChainState::Back => self.b.find(predicate),
558-
}
559-
}
560-
561544
#[inline]
562545
fn last(self) -> Option<A::Item> {
563546
match self.state {

trunk/src/libcore/mem.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,6 @@ pub fn forget<T>(t: T) {
117117

118118
/// Returns the size of a type in bytes.
119119
///
120-
/// More specifically, this is the offset in bytes between successive
121-
/// items of the same type, including alignment padding.
122-
///
123120
/// # Examples
124121
///
125122
/// ```

trunk/src/libcore/num/int_macros.rs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
#![doc(hidden)]
1212

13-
#[cfg(stage0)]
1413
macro_rules! int_module { ($T:ty, $bits:expr) => (
1514

1615
// FIXME(#11621): Should be deprecated once CTFE is implemented in favour of
@@ -26,15 +25,3 @@ pub const MIN: $T = (-1 as $T) << ($bits - 1);
2625
pub const MAX: $T = !MIN;
2726

2827
) }
29-
30-
#[cfg(not(stage0))]
31-
macro_rules! int_module { ($T:ident, $bits:expr) => (
32-
33-
#[stable(feature = "rust1", since = "1.0.0")]
34-
#[allow(missing_docs)]
35-
pub const MIN: $T = $T::min_value();
36-
#[stable(feature = "rust1", since = "1.0.0")]
37-
#[allow(missing_docs)]
38-
pub const MAX: $T = $T::max_value();
39-
40-
) }

trunk/src/libcore/num/uint_macros.rs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
#![doc(hidden)]
1212

13-
#[cfg(stage0)]
1413
macro_rules! uint_module { ($T:ty, $bits:expr) => (
1514

1615
#[stable(feature = "rust1", since = "1.0.0")]
@@ -21,15 +20,3 @@ pub const MIN: $T = 0 as $T;
2120
pub const MAX: $T = !0 as $T;
2221

2322
) }
24-
25-
#[cfg(not(stage0))]
26-
macro_rules! uint_module { ($T:ident, $bits:expr) => (
27-
28-
#[stable(feature = "rust1", since = "1.0.0")]
29-
#[allow(missing_docs)]
30-
pub const MIN: $T = $T::min_value();
31-
#[stable(feature = "rust1", since = "1.0.0")]
32-
#[allow(missing_docs)]
33-
pub const MAX: $T = $T::max_value();
34-
35-
) }

trunk/src/libcoretest/iter.rs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -133,19 +133,6 @@ fn test_iterator_chain_count() {
133133
assert_eq!(zs.iter().chain(&ys).count(), 4);
134134
}
135135

136-
#[test]
137-
fn test_iterator_chain_find() {
138-
let xs = [0, 1, 2, 3, 4, 5];
139-
let ys = [30, 40, 50, 60];
140-
let mut iter = xs.iter().chain(&ys);
141-
assert_eq!(iter.find(|&&i| i == 4), Some(&4));
142-
assert_eq!(iter.next(), Some(&5));
143-
assert_eq!(iter.find(|&&i| i == 40), Some(&40));
144-
assert_eq!(iter.next(), Some(&50));
145-
assert_eq!(iter.find(|&&i| i == 100), None);
146-
assert_eq!(iter.next(), None);
147-
}
148-
149136
#[test]
150137
fn test_filter_map() {
151138
let it = (0..).step_by(1).take(10)

trunk/src/librustc/diagnostics.rs

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -635,17 +635,7 @@ fn foo(x: u8) -> u8 {
635635
```
636636
637637
It is advisable to find out what the unhandled cases are and check for them,
638-
returning an appropriate value or panicking if necessary. Check if you need
639-
to remove a semicolon from the last expression, like in this case:
640-
641-
```ignore
642-
fn foo(x: u8) -> u8 {
643-
inner(2*x + 1);
644-
}
645-
```
646-
647-
The semicolon discards the return value of `inner`, instead of returning
648-
it from `foo`.
638+
returning an appropriate value or panicking if necessary.
649639
"##,
650640

651641
E0270: r##"
@@ -1579,5 +1569,5 @@ register_diagnostics! {
15791569
E0490, // a value of type `..` is borrowed for too long
15801570
E0491, // in type `..`, reference has a longer lifetime than the data it...
15811571
E0495, // cannot infer an appropriate lifetime due to conflicting requirements
1582-
E0525, // expected a closure that implements `..` but this closure only implements `..`
1572+
E0524, // expected a closure that implements `..` but this closure only implements `..`
15831573
}

trunk/src/librustc/infer/error_reporting.rs

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -249,12 +249,12 @@ pub trait ErrorReporting<'tcx> {
249249
terr: &TypeError<'tcx>)
250250
-> DiagnosticBuilder<'tcx>;
251251

252-
fn values_str(&self, values: &ValuePairs<'tcx>) -> Option<(String, String)>;
252+
fn values_str(&self, values: &ValuePairs<'tcx>) -> Option<String>;
253253

254254
fn expected_found_str<T: fmt::Display + Resolvable<'tcx> + TypeFoldable<'tcx>>(
255255
&self,
256256
exp_found: &ty::error::ExpectedFound<T>)
257-
-> Option<(String, String)>;
257+
-> Option<String>;
258258

259259
fn report_concrete_failure(&self,
260260
origin: SubregionOrigin<'tcx>,
@@ -535,7 +535,7 @@ impl<'a, 'tcx> ErrorReporting<'tcx> for InferCtxt<'a, 'tcx> {
535535
trace: TypeTrace<'tcx>,
536536
terr: &TypeError<'tcx>)
537537
-> DiagnosticBuilder<'tcx> {
538-
let (expected, found) = match self.values_str(&trace.values) {
538+
let expected_found_str = match self.values_str(&trace.values) {
539539
Some(v) => v,
540540
None => {
541541
return self.tcx.sess.diagnostic().struct_dummy(); /* derived error */
@@ -548,17 +548,18 @@ impl<'a, 'tcx> ErrorReporting<'tcx> for InferCtxt<'a, 'tcx> {
548548
false
549549
};
550550

551+
let expected_found_str = if is_simple_error {
552+
expected_found_str
553+
} else {
554+
format!("{} ({})", expected_found_str, terr)
555+
};
556+
551557
let mut err = struct_span_err!(self.tcx.sess,
552558
trace.origin.span(),
553559
E0308,
554-
"{}",
555-
trace.origin);
556-
557-
if !is_simple_error {
558-
err = err.note_expected_found(&"type", &expected, &found);
559-
}
560-
561-
err = err.span_label(trace.origin.span(), &terr);
560+
"{}: {}",
561+
trace.origin,
562+
expected_found_str);
562563

563564
self.check_and_note_conflicting_crates(&mut err, terr, trace.origin.span());
564565

@@ -573,7 +574,6 @@ impl<'a, 'tcx> ErrorReporting<'tcx> for InferCtxt<'a, 'tcx> {
573574
},
574575
_ => ()
575576
}
576-
577577
err
578578
}
579579

@@ -631,7 +631,7 @@ impl<'a, 'tcx> ErrorReporting<'tcx> for InferCtxt<'a, 'tcx> {
631631

632632
/// Returns a string of the form "expected `{}`, found `{}`", or None if this is a derived
633633
/// error.
634-
fn values_str(&self, values: &ValuePairs<'tcx>) -> Option<(String, String)> {
634+
fn values_str(&self, values: &ValuePairs<'tcx>) -> Option<String> {
635635
match *values {
636636
infer::Types(ref exp_found) => self.expected_found_str(exp_found),
637637
infer::TraitRefs(ref exp_found) => self.expected_found_str(exp_found),
@@ -642,7 +642,7 @@ impl<'a, 'tcx> ErrorReporting<'tcx> for InferCtxt<'a, 'tcx> {
642642
fn expected_found_str<T: fmt::Display + Resolvable<'tcx> + TypeFoldable<'tcx>>(
643643
&self,
644644
exp_found: &ty::error::ExpectedFound<T>)
645-
-> Option<(String, String)>
645+
-> Option<String>
646646
{
647647
let expected = exp_found.expected.resolve(self);
648648
if expected.references_error() {
@@ -654,7 +654,9 @@ impl<'a, 'tcx> ErrorReporting<'tcx> for InferCtxt<'a, 'tcx> {
654654
return None;
655655
}
656656

657-
Some((format!("{}", expected), format!("{}", found)))
657+
Some(format!("expected `{}`, found `{}`",
658+
expected,
659+
found))
658660
}
659661

660662
fn report_generic_bound_failure(&self,
@@ -682,9 +684,10 @@ impl<'a, 'tcx> ErrorReporting<'tcx> for InferCtxt<'a, 'tcx> {
682684
E0309,
683685
"{} may not live long enough",
684686
labeled_user_string);
685-
err.help(&format!("consider adding an explicit lifetime bound `{}: {}`...",
686-
bound_kind,
687-
sub));
687+
err.fileline_help(origin.span(),
688+
&format!("consider adding an explicit lifetime bound `{}: {}`...",
689+
bound_kind,
690+
sub));
688691
err
689692
}
690693

@@ -695,9 +698,10 @@ impl<'a, 'tcx> ErrorReporting<'tcx> for InferCtxt<'a, 'tcx> {
695698
E0310,
696699
"{} may not live long enough",
697700
labeled_user_string);
698-
err.help(&format!("consider adding an explicit lifetime \
699-
bound `{}: 'static`...",
700-
bound_kind));
701+
err.fileline_help(origin.span(),
702+
&format!("consider adding an explicit lifetime \
703+
bound `{}: 'static`...",
704+
bound_kind));
701705
err
702706
}
703707

@@ -708,8 +712,9 @@ impl<'a, 'tcx> ErrorReporting<'tcx> for InferCtxt<'a, 'tcx> {
708712
E0311,
709713
"{} may not live long enough",
710714
labeled_user_string);
711-
err.help(&format!("consider adding an explicit lifetime bound for `{}`",
712-
bound_kind));
715+
err.fileline_help(origin.span(),
716+
&format!("consider adding an explicit lifetime bound for `{}`",
717+
bound_kind));
713718
self.tcx.note_and_explain_region(
714719
&mut err,
715720
&format!("{} must be valid for ", labeled_user_string),
@@ -1746,11 +1751,11 @@ impl<'a, 'tcx> ErrorReportingHelpers<'tcx> for InferCtxt<'a, 'tcx> {
17461751
};
17471752

17481753
match self.values_str(&trace.values) {
1749-
Some((expected, found)) => {
1754+
Some(values_str) => {
17501755
err.span_note(
17511756
trace.origin.span(),
1752-
&format!("...so that {} (expected {}, found {})",
1753-
desc, expected, found));
1757+
&format!("...so that {} ({})",
1758+
desc, values_str));
17541759
}
17551760
None => {
17561761
// Really should avoid printing this error at

0 commit comments

Comments
 (0)