Auto merge of #37753 - est31:master, r=petrochenkov

Fix empty lifetime list or one with trailing comma being rejected

Fixes #37733
This commit is contained in:
bors 2016-11-13 09:53:30 -08:00 committed by GitHub
commit 876b761010
2 changed files with 18 additions and 3 deletions

View File

@ -1902,12 +1902,12 @@ impl<'a> Parser<'a> {
if let Some(recv) = followed_by_ty_params {
assert!(recv.is_empty());
*recv = attrs;
} else {
debug!("parse_lifetime_defs ret {:?}", res);
return Ok(res);
} else if !attrs.is_empty() {
let msg = "trailing attribute after lifetime parameters";
return Err(self.fatal(msg));
}
debug!("parse_lifetime_defs ret {:?}", res);
return Ok(res);
}
}

View File

@ -0,0 +1,15 @@
// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
type A = for<> fn();
type B = for<'a,> fn();
pub fn main() {}