Skip to content

Commit 49c8cb1

Browse files
committed
---
yaml --- r: 51116 b: refs/heads/try c: 16445c5 h: refs/heads/master v: v3
1 parent 30f1675 commit 49c8cb1

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: 5f13e9ccc2e3328d4cd8ca49f84e6840dd998346
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: f7a2371c176663d59062ec5158f39faecba45768
5-
refs/heads/try: e6f2d7a48cbb5df93ea5616467591e6e5f6697a3
5+
refs/heads/try: 16445c5418e778a167ebacae22f058c03cba8ecb
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c

branches/try/src/libcore/rt/context.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ fn initialize_call_frame(regs: &mut Registers, fptr: *c_void, arg: *c_void, sp:
160160
type Registers = [uint, ..32];
161161

162162
#[cfg(target_arch = "arm")]
163-
fn new_regs() -> ~Registers { ~([0, .. 32]) }
163+
fn new_regs() -> ~Registers { ~[0, .. 32] }
164164

165165
#[cfg(target_arch = "arm")]
166166
fn initialize_call_frame(regs: &mut Registers, fptr: *c_void, arg: *c_void, sp: *mut uint) {
@@ -178,7 +178,7 @@ fn initialize_call_frame(regs: &mut Registers, fptr: *c_void, arg: *c_void, sp:
178178
type Registers = [uint, ..32];
179179

180180
#[cfg(target_arch = "mips")]
181-
fn new_regs() -> ~Registers { ~([0, .. 32]) }
181+
fn new_regs() -> ~Registers { ~[0, .. 32] }
182182

183183
#[cfg(target_arch = "mips")]
184184
fn initialize_call_frame(regs: &mut Registers, fptr: *c_void, arg: *c_void, sp: *mut uint) {

branches/try/src/libsyntax/parse/parser.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3107,11 +3107,15 @@ pub impl Parser {
31073107
// XXX: clownshoes
31083108
let ident = special_idents::clownshoes_extensions;
31093109

3110+
// Special case: if the next identifier that follows is '(', don't
3111+
// allow this to be parsed as a trait.
3112+
let could_be_trait = *self.token != token::LPAREN;
3113+
31103114
// Parse the trait.
31113115
let mut ty = self.parse_ty(false);
31123116

31133117
// Parse traits, if necessary.
3114-
let opt_trait = if self.eat_keyword(&~"for") {
3118+
let opt_trait = if could_be_trait && self.eat_keyword(&~"for") {
31153119
// New-style trait. Reinterpret the type as a trait.
31163120
let opt_trait_ref = match ty.node {
31173121
ty_path(path, node_id) => {

branches/try/src/test/compile-fail/issue-4335.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
1+
// Copyright 2012-2013 The Rust Project Developers. See the COPYRIGHT
22
// file at the top-level directory of this distribution and at
33
// http://rust-lang.org/COPYRIGHT.
44
//
@@ -8,10 +8,9 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
// xfail-test
1211
fn id<T>(t: T) -> T { t }
1312

14-
fn f<T>(v: &'r T) -> &'r fn()->T { id::<&'r fn()->T>(|| *v) } //~ ERROR ???
13+
fn f<'r, T>(v: &'r T) -> &'r fn()->T { id::<&'r fn()->T>(|| *v) } //~ ERROR cannot infer an appropriate lifetime due to conflicting requirements
1514

1615
fn main() {
1716
let v = &5;

0 commit comments

Comments
 (0)