Skip to content

Commit 9a9c970

Browse files
committed
---
yaml --- r: 207215 b: refs/heads/auto c: bd85983 h: refs/heads/master i: 207213: c3dff39 207211: fa32bda 207207: d6eed9f 207199: 43370fc v: v3
1 parent 2f51aae commit 9a9c970

File tree

25 files changed

+206
-354
lines changed

25 files changed

+206
-354
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1010
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
1111
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1212
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
13-
refs/heads/auto: eeaf2ba489e1c9b9d6d3e5f4566c3ecbdcaa14f2
13+
refs/heads/auto: bd85983d059151c9ef07dbd11a35f1d16463eb94
1414
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
1515
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1616
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336

branches/auto/src/doc/trpl/closures.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ The second is that the syntax is similar, but a bit different. I’ve added spac
5454
here to make them look a little closer:
5555

5656
```rust
57-
fn plus_one_v1 (x: i32) -> i32 { x + 1 }
58-
let plus_one_v2 = |x: i32| -> i32 { x + 1 };
59-
let plus_one_v3 = |x: i32| x + 1 ;
57+
fn plus_one_v1 (x: i32 ) -> i32 { x + 1 }
58+
let plus_one_v2 = |x: i32 | -> i32 { x + 1 };
59+
let plus_one_v3 = |x: i32 | x + 1 ;
6060
```
6161

6262
Small differences, but they’re similar in ways.
@@ -136,7 +136,7 @@ This gives us:
136136
note: `nums` moved into closure environment here because it has type
137137
`[closure(()) -> collections::vec::Vec<i32>]`, which is non-copyable
138138
let takes_nums = || nums;
139-
^~~~~~~
139+
^~~~~~~
140140
```
141141

142142
`Vec<T>` has ownership over its contents, and therefore, when we refer to it
@@ -352,8 +352,8 @@ error: the trait `core::marker::Sized` is not implemented for the type
352352
factory() -> (Fn(i32) -> Vec<i32>) {
353353
^~~~~~~~~~~~~~~~~~~~~
354354
note: `core::ops::Fn(i32) -> collections::vec::Vec<i32>` does not have a constant size known at compile-time
355-
factory() -> (Fn(i32) -> Vec<i32>) {
356-
^~~~~~~~~~~~~~~~~~~~~
355+
fa ctory() -> (Fn(i32) -> Vec<i32>) {
356+
^~~~~~~~~~~~~~~~~~~~~
357357
358358
```
359359

branches/auto/src/doc/trpl/references-and-borrowing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ We can’t modify `v` because it’s borrowed by the loop.
297297
References must live as long as the resource they refer to. Rust will check the
298298
scopes of your references to ensure that this is true.
299299

300-
If Rust didn’t check this property, we could accidentally use a reference
300+
If Rust didn’t check that this property, we could accidentally use a reference
301301
which was invalid. For example:
302302

303303
```rust,ignore

branches/auto/src/grammar/lexer.l

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ r/# {
311311
<str>\x22 { BEGIN(suffix); return LIT_STR; }
312312

313313
<str><<EOF>> { return -1; }
314-
<str>\\[n\nr\rt\\\x27\x220] { yymore(); }
314+
<str>\\[n\nrt\\\x27\x220] { yymore(); }
315315
<str>\\x[0-9a-fA-F]{2} { yymore(); }
316316
<str>\\u\{[0-9a-fA-F]?{6}\} { yymore(); }
317317
<str>\\[^n\nrt\\\x27\x220] { return -1; }

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

Lines changed: 22 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -289,16 +289,16 @@ item_const
289289
;
290290

291291
item_macro
292-
: path_expr '!' maybe_ident parens_delimited_token_trees ';' { $$ = mk_node("ItemMacro", 3, $1, $3, $4); }
293-
| path_expr '!' maybe_ident braces_delimited_token_trees { $$ = mk_node("ItemMacro", 3, $1, $3, $4); }
294-
| path_expr '!' maybe_ident brackets_delimited_token_trees ';'{ $$ = mk_node("ItemMacro", 3, $1, $3, $4); }
292+
: path_expr '!' maybe_ident parens_delimited_token_trees ';'
293+
| path_expr '!' maybe_ident braces_delimited_token_trees
294+
| path_expr '!' maybe_ident brackets_delimited_token_trees ';'
295295
;
296296

297297
view_item
298298
: use_item
299299
| extern_fn_item
300300
| EXTERN CRATE ident ';' { $$ = mk_node("ViewItemExternCrate", 1, $3); }
301-
| EXTERN CRATE ident AS ident ';' { $$ = mk_node("ViewItemExternCrate", 2, $3, $5); }
301+
| EXTERN CRATE str AS ident ';' { $$ = mk_node("ViewItemExternCrate", 2, $3, $5); }
302302
;
303303

304304
extern_fn_item
@@ -312,11 +312,8 @@ use_item
312312
view_path
313313
: path_no_types_allowed { $$ = mk_node("ViewPathSimple", 1, $1); }
314314
| path_no_types_allowed MOD_SEP '{' '}' { $$ = mk_node("ViewPathList", 2, $1, mk_atom("ViewPathListEmpty")); }
315-
| MOD_SEP '{' '}' { $$ = mk_node("ViewPathList", 1, mk_atom("ViewPathListEmpty")); }
316315
| path_no_types_allowed MOD_SEP '{' idents_or_self '}' { $$ = mk_node("ViewPathList", 2, $1, $4); }
317-
| MOD_SEP '{' idents_or_self '}' { $$ = mk_node("ViewPathList", 1, $3); }
318316
| path_no_types_allowed MOD_SEP '{' idents_or_self ',' '}' { $$ = mk_node("ViewPathList", 2, $1, $4); }
319-
| MOD_SEP '{' idents_or_self ',' '}' { $$ = mk_node("ViewPathList", 1, $3); }
320317
| path_no_types_allowed MOD_SEP '*' { $$ = mk_node("ViewPathGlob", 1, $1); }
321318
| '{' '}' { $$ = mk_atom("ViewPathListEmpty"); }
322319
| '{' idents_or_self '}' { $$ = mk_node("ViewPathList", 1, $2); }
@@ -336,7 +333,7 @@ block_item
336333
;
337334

338335
maybe_ty_ascription
339-
: ':' ty_sum { $$ = $2; }
336+
: ':' ty { $$ = $2; }
340337
| %empty { $$ = mk_none(); }
341338
;
342339

@@ -514,7 +511,7 @@ trait_item
514511
;
515512

516513
trait_const
517-
: maybe_outer_attrs CONST ident maybe_ty_ascription maybe_const_default ';' { $$ = mk_node("ConstTraitItem", 4, $1, $3, $4, $5); }
514+
: maybe_outer_attrs CONST ident maybe_const_default ';' { $$ = mk_node("ConstTraitItem", 3, $1, $3, $4); }
518515
;
519516

520517
maybe_const_default
@@ -593,11 +590,11 @@ item_impl
593590
{
594591
$$ = mk_node("ItemImpl", 6, $1, $3, 5, $6, $9, $10);
595592
}
596-
| maybe_unsafe IMPL generic_params trait_ref FOR ty_sum maybe_where_clause '{' maybe_inner_attrs maybe_impl_items '}'
593+
| maybe_unsafe IMPL generic_params trait_ref FOR ty maybe_where_clause '{' maybe_inner_attrs maybe_impl_items '}'
597594
{
598595
$$ = mk_node("ItemImpl", 6, $3, $4, $6, $7, $9, $10);
599596
}
600-
| maybe_unsafe IMPL generic_params '!' trait_ref FOR ty_sum maybe_where_clause '{' maybe_inner_attrs maybe_impl_items '}'
597+
| maybe_unsafe IMPL generic_params '!' trait_ref FOR ty maybe_where_clause '{' maybe_inner_attrs maybe_impl_items '}'
601598
{
602599
$$ = mk_node("ItemImplNeg", 7, $1, $3, $5, $7, $8, $10, $11);
603600
}
@@ -623,7 +620,7 @@ impl_items
623620

624621
impl_item
625622
: impl_method
626-
| attrs_and_vis item_macro { $$ = mk_node("ImplMacroItem", 2, $1, $2); }
623+
| item_macro
627624
| impl_const
628625
| impl_type
629626
;
@@ -701,7 +698,7 @@ params
701698
;
702699

703700
param
704-
: pat ':' ty_sum { $$ = mk_node("Arg", 2, $1, $3); }
701+
: pat ':' ty { $$ = mk_node("Arg", 2, $1, $3); }
705702
;
706703

707704
inferrable_params
@@ -912,11 +909,6 @@ pat
912909
| ident '@' pat { $$ = mk_node("PatIdent", 3, mk_node("BindByValue", 1, mk_atom("MutImmutable")), $1, $3); }
913910
| binding_mode ident '@' pat { $$ = mk_node("PatIdent", 3, $1, $2, $4); }
914911
| BOX pat { $$ = mk_node("PatUniq", 1, $2); }
915-
| '<' ty_sum maybe_as_trait_ref '>' MOD_SEP ident { $$ = mk_node("PatQualifiedPath", 3, $2, $3, $6); }
916-
| SHL ty_sum maybe_as_trait_ref '>' MOD_SEP ident maybe_as_trait_ref '>' MOD_SEP ident
917-
{
918-
$$ = mk_node("PatQualifiedPath", 3, mk_node("PatQualifiedPath", 3, $2, $3, $6), $7, $10);
919-
}
920912
;
921913

922914
pats_or
@@ -989,11 +981,11 @@ pat_vec_elts
989981
ty
990982
: ty_prim
991983
| ty_closure
992-
| '<' ty_sum maybe_as_trait_ref '>' MOD_SEP ident { $$ = mk_node("TyQualifiedPath", 3, $2, $3, $6); }
993-
| SHL ty_sum maybe_as_trait_ref '>' MOD_SEP ident maybe_as_trait_ref '>' MOD_SEP ident { $$ = mk_node("TyQualifiedPath", 3, mk_node("TyQualifiedPath", 3, $2, $3, $6), $7, $10); }
994-
| '(' ty_sums ')' { $$ = mk_node("TyTup", 1, $2); }
995-
| '(' ty_sums ',' ')' { $$ = mk_node("TyTup", 1, $2); }
996-
| '(' ')' { $$ = mk_atom("TyNil"); }
984+
| '<' ty_sum AS trait_ref '>' MOD_SEP ident { $$ = mk_node("TyQualifiedPath", 3, $2, $4, $7); }
985+
| SHL ty_sum AS trait_ref '>' MOD_SEP ident AS trait_ref '>' MOD_SEP ident { $$ = mk_node("TyQualifiedPath", 3, mk_node("TyQualifiedPath", 3, $2, $4, $7), $9, $12); }
986+
| '(' ty_sums ')' { $$ = mk_node("TyTup", 1, $2); }
987+
| '(' ty_sums ',' ')' { $$ = mk_node("TyTup", 1, $2); }
988+
| '(' ')' { $$ = mk_atom("TyNil"); }
997989
;
998990

999991
ty_prim
@@ -1559,7 +1551,11 @@ nonblock_prefix_expr
15591551
;
15601552

15611553
expr_qualified_path
1562-
: '<' ty_sum maybe_as_trait_ref '>' MOD_SEP ident maybe_qpath_params
1554+
: '<' ty_sum maybe_as_trait_ref '>' MOD_SEP ident
1555+
{
1556+
$$ = mk_node("ExprQualifiedPath", 3, $2, $3, $6);
1557+
}
1558+
| '<' ty_sum maybe_as_trait_ref '>' MOD_SEP ident generic_args
15631559
{
15641560
$$ = mk_node("ExprQualifiedPath", 4, $2, $3, $6, $7);
15651561
}
@@ -1580,11 +1576,6 @@ expr_qualified_path
15801576
$$ = mk_node("ExprQualifiedPath", 4, mk_node("ExprQualifiedPath", 4, $2, $3, $6, $7), $8, $11, $12);
15811577
}
15821578

1583-
maybe_qpath_params
1584-
: MOD_SEP generic_args { $$ = $2; }
1585-
| %empty { $$ = mk_none(); }
1586-
;
1587-
15881579
maybe_as_trait_ref
15891580
: AS trait_ref { $$ = $2; }
15901581
| %empty { $$ = mk_none(); }
@@ -1675,10 +1666,8 @@ block_expr
16751666

16761667
full_block_expr
16771668
: block_expr
1678-
| full_block_expr '.' path_generic_args_with_colons %prec IDENT { $$ = mk_node("ExprField", 2, $1, $3); }
1679-
| full_block_expr '.' path_generic_args_with_colons '[' maybe_expr ']' { $$ = mk_node("ExprIndex", 3, $1, $3, $5); }
1680-
| full_block_expr '.' path_generic_args_with_colons '(' maybe_exprs ')' { $$ = mk_node("ExprCall", 3, $1, $3, $5); }
1681-
| full_block_expr '.' LIT_INTEGER { $$ = mk_node("ExprTupleIndex", 1, $1); }
1669+
| full_block_expr '.' path_generic_args_with_colons { $$ = mk_node("ExprField", 2, $1, $3); }
1670+
| full_block_expr '.' LIT_INTEGER { $$ = mk_node("ExprTupleIndex", 1, $1); }
16821671
;
16831672

16841673
expr_match

branches/auto/src/grammar/verify.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ fn parse_token_list(file: &str) -> HashMap<String, token::Token> {
111111
"LIT_BINARY_RAW" => token::Literal(token::BinaryRaw(Name(0), 0), None),
112112
"QUESTION" => token::Question,
113113
"SHEBANG" => token::Shebang(Name(0)),
114-
_ => continue,
114+
_ => panic!("Bad token str `{}`", val),
115115
};
116116

117117
res.insert(num.to_string(), tok);

0 commit comments

Comments
 (0)