Skip to content

Commit 7910bf3

Browse files
committed
---
yaml --- r: 233963 b: refs/heads/beta c: 3501973 h: refs/heads/master i: 233961: 4e8755c 233959: 0a6a2d1 v: v3
1 parent d954dcf commit 7910bf3

Some content is hidden

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

68 files changed

+293
-222
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ refs/tags/0.9: 36870b185fc5f5486636d4515f0e22677493f225
2323
refs/tags/0.10: ac33f2b15782272ae348dbd7b14b8257b2148b5a
2424
refs/tags/0.11.0: e1247cb1d0d681be034adb4b558b5a0c0d5720f9
2525
refs/tags/0.12.0: f0c419429ef30723ceaf6b42f9b5a2aeb5d2e2d1
26-
refs/heads/beta: 000fe0072675c932fd6036944aa3ed9fa77a6331
26+
refs/heads/beta: 35019737cc3c5913232d532afda44f168d470fe7
2727
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
2828
refs/heads/tmp: 370fe2786109360f7c35b8ba552b83b773dd71d6
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f

branches/beta/src/doc/grammar.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -636,31 +636,31 @@ lambda_expr : '|' ident_list '|' expr ;
636636
### While loops
637637

638638
```antlr
639-
while_expr : [ lifetime ':' ] "while" no_struct_literal_expr '{' block '}' ;
639+
while_expr : [ lifetime ':' ] ? "while" no_struct_literal_expr '{' block '}' ;
640640
```
641641

642642
### Infinite loops
643643

644644
```antlr
645-
loop_expr : [ lifetime ':' ] "loop" '{' block '}';
645+
loop_expr : [ lifetime ':' ] ? "loop" '{' block '}';
646646
```
647647

648648
### Break expressions
649649

650650
```antlr
651-
break_expr : "break" [ lifetime ];
651+
break_expr : "break" [ lifetime ] ?;
652652
```
653653

654654
### Continue expressions
655655

656656
```antlr
657-
continue_expr : "continue" [ lifetime ];
657+
continue_expr : "continue" [ lifetime ] ?;
658658
```
659659

660660
### For expressions
661661

662662
```antlr
663-
for_expr : [ lifetime ':' ] "for" pat "in" no_struct_literal_expr '{' block '}' ;
663+
for_expr : [ lifetime ':' ] ? "for" pat "in" no_struct_literal_expr '{' block '}' ;
664664
```
665665

666666
### If expressions
@@ -693,7 +693,7 @@ if_let_expr : "if" "let" pat '=' expr '{' block '}'
693693
### While let loops
694694

695695
```antlr
696-
while_let_expr : "while" "let" pat '=' expr '{' block '}' ;
696+
while_let_expr : [ lifetime ':' ] ? "while" "let" pat '=' expr '{' block '}' ;
697697
```
698698

699699
### Return expressions

branches/beta/src/doc/trpl/deref-coercions.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ Vectors can `Deref` to a slice.
8989

9090
## Deref and method calls
9191

92-
`Deref` will also kick in when calling a method. In other words, these are
93-
the same two things in Rust:
92+
`Deref` will also kick in when calling a method. Consider the following
93+
example.
9494

9595
```rust
9696
struct Foo;
@@ -99,13 +99,13 @@ impl Foo {
9999
fn foo(&self) { println!("Foo"); }
100100
}
101101

102-
let f = Foo;
102+
let f = &&Foo;
103103

104104
f.foo();
105105
```
106106

107-
Even though `f` isn’t a reference, and `foo` takes `&self`, this works.
108-
That’s because these things are the same:
107+
Even though `f` is a `&&Foo` and `foo` takes `&self`, this works. That’s
108+
because these things are the same:
109109

110110
```rust,ignore
111111
f.foo();

branches/beta/src/doc/trpl/rust-inside-other-languages.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,17 @@ And finally, we can try running it:
217217

218218
```bash
219219
$ ruby embed.rb
220+
Thread finished with count=5000000
221+
Thread finished with count=5000000
222+
Thread finished with count=5000000
223+
Thread finished with count=5000000
224+
Thread finished with count=5000000
225+
Thread finished with count=5000000
226+
Thread finished with count=5000000
227+
Thread finished with count=5000000
228+
Thread finished with count=5000000
229+
Thread finished with count=5000000
230+
done!
220231
done!
221232
$
222233
```

branches/beta/src/doc/trpl/traits.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ fn normal<T: ConvertTo<i64>>(x: &T) -> i64 {
390390

391391
// can be called with T == i64
392392
fn inverse<T>() -> T
393-
// this is using ConvertTo as if it were "ConvertFrom<i32>"
393+
// this is using ConvertTo as if it were "ConvertTo<i64>"
394394
where i32: ConvertTo<T> {
395395
42.convert()
396396
}

branches/beta/src/grammar/RustLexer.g4

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ tokens {
1313
BINOPEQ, AT, DOT, DOTDOT, DOTDOTDOT, COMMA, SEMI, COLON,
1414
MOD_SEP, RARROW, FAT_ARROW, LPAREN, RPAREN, LBRACKET, RBRACKET,
1515
LBRACE, RBRACE, POUND, DOLLAR, UNDERSCORE, LIT_CHAR, LIT_BYTE,
16-
LIT_INTEGER, LIT_FLOAT, LIT_STR, LIT_STR_RAW, LIT_BINARY,
17-
LIT_BINARY_RAW, QUESTION, IDENT, LIFETIME, WHITESPACE, DOC_COMMENT,
16+
LIT_INTEGER, LIT_FLOAT, LIT_STR, LIT_STR_RAW, LIT_BYTE_STR,
17+
LIT_BYTE_STR_RAW, QUESTION, IDENT, LIFETIME, WHITESPACE, DOC_COMMENT,
1818
COMMENT, SHEBANG, UTF8_BOM
1919
}
2020

@@ -148,8 +148,8 @@ LIT_STR
148148
: '"' ('\\\n' | '\\\r\n' | '\\' CHAR_ESCAPE | .)*? '"' SUFFIX?
149149
;
150150

151-
LIT_BINARY : 'b' LIT_STR ;
152-
LIT_BINARY_RAW : 'b' LIT_STR_RAW ;
151+
LIT_BYTE_STR : 'b' LIT_STR ;
152+
LIT_BYTE_STR_RAW : 'b' LIT_STR_RAW ;
153153

154154
/* this is a bit messy */
155155

branches/beta/src/grammar/lexer.l

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ while { return WHILE; }
200200
<ltorchar><<EOF>> { BEGIN(INITIAL); return -1; }
201201

202202
b\x22 { BEGIN(bytestr); yymore(); }
203-
<bytestr>\x22 { BEGIN(suffix); return LIT_BINARY; }
203+
<bytestr>\x22 { BEGIN(suffix); return LIT_BYTE_STR; }
204204

205205
<bytestr><<EOF>> { return -1; }
206206
<bytestr>\\[n\nrt\\\x27\x220] { yymore(); }
@@ -210,7 +210,7 @@ b\x22 { BEGIN(bytestr); yymore(); }
210210
<bytestr>(.|\n) { yymore(); }
211211

212212
br\x22 { BEGIN(rawbytestr_nohash); yymore(); }
213-
<rawbytestr_nohash>\x22 { BEGIN(suffix); return LIT_BINARY_RAW; }
213+
<rawbytestr_nohash>\x22 { BEGIN(suffix); return LIT_BYTE_STR_RAW; }
214214
<rawbytestr_nohash>(.|\n) { yymore(); }
215215
<rawbytestr_nohash><<EOF>> { return -1; }
216216

@@ -228,7 +228,7 @@ br/# {
228228
end_hashes++;
229229
if (end_hashes == num_hashes) {
230230
BEGIN(INITIAL);
231-
return LIT_BINARY_RAW;
231+
return LIT_BYTE_STR_RAW;
232232
}
233233
}
234234
yymore();
@@ -237,7 +237,7 @@ br/# {
237237
end_hashes = 1;
238238
if (end_hashes == num_hashes) {
239239
BEGIN(INITIAL);
240-
return LIT_BINARY_RAW;
240+
return LIT_BYTE_STR_RAW;
241241
}
242242
yymore();
243243
}

branches/beta/src/grammar/parser-lalr.y

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ extern char *yytext;
5252
%token LIT_FLOAT
5353
%token LIT_STR
5454
%token LIT_STR_RAW
55-
%token LIT_BINARY
56-
%token LIT_BINARY_RAW
55+
%token LIT_BYTE_STR
56+
%token LIT_BYTE_STR_RAW
5757
%token IDENT
5858
%token UNDERSCORE
5959
%token LIFETIME
@@ -1772,8 +1772,8 @@ lit
17721772
str
17731773
: LIT_STR { $$ = mk_node("LitStr", 1, mk_atom(yytext), mk_atom("CookedStr")); }
17741774
| LIT_STR_RAW { $$ = mk_node("LitStr", 1, mk_atom(yytext), mk_atom("RawStr")); }
1775-
| LIT_BINARY { $$ = mk_node("LitBinary", 1, mk_atom(yytext), mk_atom("BinaryStr")); }
1776-
| LIT_BINARY_RAW { $$ = mk_node("LitBinary", 1, mk_atom(yytext), mk_atom("RawBinaryStr")); }
1775+
| LIT_BYTE_STR { $$ = mk_node("LitByteStr", 1, mk_atom(yytext), mk_atom("ByteStr")); }
1776+
| LIT_BYTE_STR_RAW { $$ = mk_node("LitByteStr", 1, mk_atom(yytext), mk_atom("RawByteStr")); }
17771777
;
17781778

17791779
maybe_ident
@@ -1815,8 +1815,8 @@ unpaired_token
18151815
| LIT_FLOAT { $$ = mk_atom(yytext); }
18161816
| LIT_STR { $$ = mk_atom(yytext); }
18171817
| LIT_STR_RAW { $$ = mk_atom(yytext); }
1818-
| LIT_BINARY { $$ = mk_atom(yytext); }
1819-
| LIT_BINARY_RAW { $$ = mk_atom(yytext); }
1818+
| LIT_BYTE_STR { $$ = mk_atom(yytext); }
1819+
| LIT_BYTE_STR_RAW { $$ = mk_atom(yytext); }
18201820
| IDENT { $$ = mk_atom(yytext); }
18211821
| UNDERSCORE { $$ = mk_atom(yytext); }
18221822
| LIFETIME { $$ = mk_atom(yytext); }

branches/beta/src/grammar/tokens.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ enum Token {
3838
LIT_FLOAT,
3939
LIT_STR,
4040
LIT_STR_RAW,
41-
LIT_BINARY,
42-
LIT_BINARY_RAW,
41+
LIT_BYTE_STR,
42+
LIT_BYTE_STR_RAW,
4343
IDENT,
4444
UNDERSCORE,
4545
LIFETIME,

branches/beta/src/grammar/verify.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,8 @@ fn parse_token_list(file: &str) -> HashMap<String, token::Token> {
107107
"OR" => token::BinOp(token::Or),
108108
"GT" => token::Gt,
109109
"LE" => token::Le,
110-
"LIT_BINARY" => token::Literal(token::Binary(Name(0)), None),
111-
"LIT_BINARY_RAW" => token::Literal(token::BinaryRaw(Name(0), 0), None),
110+
"LIT_BYTE_STR" => token::Literal(token::ByteStr(Name(0)), None),
111+
"LIT_BYTE_STR_RAW" => token::Literal(token::ByteStrRaw(Name(0), 0), None),
112112
"QUESTION" => token::Question,
113113
"SHEBANG" => token::Shebang(Name(0)),
114114
_ => continue,
@@ -137,8 +137,8 @@ fn str_to_binop(s: &str) -> token::BinOpToken {
137137
}
138138
}
139139

140-
/// Assuming a string/binary literal, strip out the leading/trailing
141-
/// hashes and surrounding quotes/raw/binary prefix.
140+
/// Assuming a string/byte string literal, strip out the leading/trailing
141+
/// hashes and surrounding quotes/raw/byte prefix.
142142
fn fix(mut lit: &str) -> ast::Name {
143143
if lit.char_at(0) == 'r' {
144144
if lit.char_at(1) == 'b' {
@@ -205,8 +205,8 @@ fn parse_antlr_token(s: &str, tokens: &HashMap<String, token::Token>, surrogate_
205205
token::DocComment(..) => token::DocComment(nm),
206206
token::Literal(token::Integer(..), n) => token::Literal(token::Integer(nm), n),
207207
token::Literal(token::Float(..), n) => token::Literal(token::Float(nm), n),
208-
token::Literal(token::Binary(..), n) => token::Literal(token::Binary(nm), n),
209-
token::Literal(token::BinaryRaw(..), n) => token::Literal(token::BinaryRaw(fix(content),
208+
token::Literal(token::ByteStr(..), n) => token::Literal(token::ByteStr(nm), n),
209+
token::Literal(token::ByteStrRaw(..), n) => token::Literal(token::ByteStrRaw(fix(content),
210210
count(content)), n),
211211
token::Ident(..) => token::Ident(ast::Ident { name: nm, ctxt: 0 },
212212
token::ModName),
@@ -340,8 +340,8 @@ fn main() {
340340
token::Literal(token::Float(..), _),
341341
token::Literal(token::Str_(..), _),
342342
token::Literal(token::StrRaw(..), _),
343-
token::Literal(token::Binary(..), _),
344-
token::Literal(token::BinaryRaw(..), _),
343+
token::Literal(token::ByteStr(..), _),
344+
token::Literal(token::ByteStrRaw(..), _),
345345
token::Ident(..),
346346
token::Lifetime(..),
347347
token::Interpolated(..),

branches/beta/src/libcollections/btree/node.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ impl<K, V> Drop for Node<K, V> {
296296
self.destroy();
297297
}
298298

299-
self.keys = unsafe { Unique::new(0 as *mut K) };
299+
self.keys = unsafe { Unique::new(ptr::null_mut()) };
300300
}
301301
}
302302

branches/beta/src/libcollections/vec.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1135,7 +1135,7 @@ impl<T> ops::Deref for Vec<T> {
11351135
fn deref(&self) -> &[T] {
11361136
unsafe {
11371137
let p = self.buf.ptr();
1138-
assume(p != 0 as *mut T);
1138+
assume(!p.is_null());
11391139
slice::from_raw_parts(p, self.len)
11401140
}
11411141
}

branches/beta/src/libcore/cell.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ impl<T:Copy> Cell<T> {
231231
/// ```
232232
#[inline]
233233
#[unstable(feature = "as_unsafe_cell", issue = "27708")]
234-
pub unsafe fn as_unsafe_cell<'a>(&'a self) -> &'a UnsafeCell<T> {
234+
pub unsafe fn as_unsafe_cell(&self) -> &UnsafeCell<T> {
235235
&self.value
236236
}
237237
}
@@ -387,7 +387,7 @@ impl<T: ?Sized> RefCell<T> {
387387
/// ```
388388
#[stable(feature = "rust1", since = "1.0.0")]
389389
#[inline]
390-
pub fn borrow<'a>(&'a self) -> Ref<'a, T> {
390+
pub fn borrow(&self) -> Ref<T> {
391391
match BorrowRef::new(&self.borrow) {
392392
Some(b) => Ref {
393393
_value: unsafe { &*self.value.get() },
@@ -433,7 +433,7 @@ impl<T: ?Sized> RefCell<T> {
433433
/// ```
434434
#[stable(feature = "rust1", since = "1.0.0")]
435435
#[inline]
436-
pub fn borrow_mut<'a>(&'a self) -> RefMut<'a, T> {
436+
pub fn borrow_mut(&self) -> RefMut<T> {
437437
match BorrowRefMut::new(&self.borrow) {
438438
Some(b) => RefMut {
439439
_value: unsafe { &mut *self.value.get() },
@@ -450,7 +450,7 @@ impl<T: ?Sized> RefCell<T> {
450450
/// This function is `unsafe` because `UnsafeCell`'s field is public.
451451
#[inline]
452452
#[unstable(feature = "as_unsafe_cell", issue = "27708")]
453-
pub unsafe fn as_unsafe_cell<'a>(&'a self) -> &'a UnsafeCell<T> {
453+
pub unsafe fn as_unsafe_cell(&self) -> &UnsafeCell<T> {
454454
&self.value
455455
}
456456
}
@@ -541,7 +541,7 @@ impl<'b, T: ?Sized> Deref for Ref<'b, T> {
541541
type Target = T;
542542

543543
#[inline]
544-
fn deref<'a>(&'a self) -> &'a T {
544+
fn deref(&self) -> &T {
545545
self._value
546546
}
547547
}
@@ -750,15 +750,15 @@ impl<'b, T: ?Sized> Deref for RefMut<'b, T> {
750750
type Target = T;
751751

752752
#[inline]
753-
fn deref<'a>(&'a self) -> &'a T {
753+
fn deref(&self) -> &T {
754754
self._value
755755
}
756756
}
757757

758758
#[stable(feature = "rust1", since = "1.0.0")]
759759
impl<'b, T: ?Sized> DerefMut for RefMut<'b, T> {
760760
#[inline]
761-
fn deref_mut<'a>(&'a mut self) -> &'a mut T {
761+
fn deref_mut(&mut self) -> &mut T {
762762
self._value
763763
}
764764
}

branches/beta/src/libcore/iter.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1513,7 +1513,7 @@ impl<A, B> Iterator for Chain<A, B> where
15131513
fn next(&mut self) -> Option<A::Item> {
15141514
match self.state {
15151515
ChainState::Both => match self.a.next() {
1516-
elt @ Some(..) => return elt,
1516+
elt @ Some(..) => elt,
15171517
None => {
15181518
self.state = ChainState::Back;
15191519
self.b.next()
@@ -1590,7 +1590,7 @@ impl<A, B> DoubleEndedIterator for Chain<A, B> where
15901590
fn next_back(&mut self) -> Option<A::Item> {
15911591
match self.state {
15921592
ChainState::Both => match self.b.next_back() {
1593-
elt @ Some(..) => return elt,
1593+
elt @ Some(..) => elt,
15941594
None => {
15951595
self.state = ChainState::Front;
15961596
self.a.next_back()
@@ -1683,7 +1683,7 @@ impl<B, I: Iterator, F> Iterator for Map<I, F> where F: FnMut(I::Item) -> B {
16831683

16841684
#[inline]
16851685
fn next(&mut self) -> Option<B> {
1686-
self.iter.next().map(|a| (self.f)(a))
1686+
self.iter.next().map(&mut self.f)
16871687
}
16881688

16891689
#[inline]
@@ -1698,7 +1698,7 @@ impl<B, I: DoubleEndedIterator, F> DoubleEndedIterator for Map<I, F> where
16981698
{
16991699
#[inline]
17001700
fn next_back(&mut self) -> Option<B> {
1701-
self.iter.next_back().map(|a| (self.f)(a))
1701+
self.iter.next_back().map(&mut self.f)
17021702
}
17031703
}
17041704

@@ -2210,7 +2210,7 @@ impl<I: Iterator, U: IntoIterator, F> Iterator for FlatMap<I, U, F>
22102210
return Some(x)
22112211
}
22122212
}
2213-
match self.iter.next().map(|x| (self.f)(x)) {
2213+
match self.iter.next().map(&mut self.f) {
22142214
None => return self.backiter.as_mut().and_then(|it| it.next()),
22152215
next => self.frontiter = next.map(IntoIterator::into_iter),
22162216
}
@@ -2243,7 +2243,7 @@ impl<I: DoubleEndedIterator, U, F> DoubleEndedIterator for FlatMap<I, U, F> wher
22432243
return Some(y)
22442244
}
22452245
}
2246-
match self.iter.next_back().map(|x| (self.f)(x)) {
2246+
match self.iter.next_back().map(&mut self.f) {
22472247
None => return self.frontiter.as_mut().and_then(|it| it.next_back()),
22482248
next => self.backiter = next.map(IntoIterator::into_iter),
22492249
}

branches/beta/src/libcore/nonzero.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ impl<T: Zeroable> Deref for NonZero<T> {
5151
type Target = T;
5252

5353
#[inline]
54-
fn deref<'a>(&'a self) -> &'a T {
54+
fn deref(&self) -> &T {
5555
let NonZero(ref inner) = *self;
5656
inner
5757
}

0 commit comments

Comments
 (0)