Skip to content

Commit 94ec197

Browse files
committed
---
yaml --- r: 214487 b: refs/heads/beta c: 1973ee4 h: refs/heads/master i: 214485: b4fe6d4 214483: f99d30f 214479: 95a4406 v: v3
1 parent 49bc5d6 commit 94ec197

File tree

26 files changed

+199
-384
lines changed

26 files changed

+199
-384
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: b301e02f37127da993dd2cf370aa1066d48b042e
26+
refs/heads/beta: 1973ee479d83f06aea2366963d5ec092d8c591dc
2727
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
2828
refs/heads/tmp: 8c0aa6d64ebab528f7eb182812007155d6044972
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f

branches/beta/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/beta/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/beta/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/beta/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/beta/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)