Skip to content

Commit 898d2c3

Browse files
committed
auto merge of #10813 : dwrensha/rust/xcrate-lifetime-param, r=huonw
Before applying this patch, the included testcase fails with: ``` src/test/run-pass/xcrate-trait-lifetime-param.rs:20:10: 20:28 error: wrong number of lifetime parameters: expected 0 but found 1 src/test/run-pass/xcrate-trait-lifetime-param.rs:20 impl <'a> other::FromBuf<'a> for Reader<'a> { ^~~~~~~~~~~~~~~~~~ ``` There's another example in my comments to #10506.
2 parents a6310f6 + d99efe8 commit 898d2c3

File tree

3 files changed

+41
-0
lines changed

3 files changed

+41
-0
lines changed

src/librustc/metadata/encoder.rs

+2
Original file line numberDiff line numberDiff line change
@@ -1140,6 +1140,8 @@ fn encode_info_for_item(ecx: &EncodeContext,
11401140
encode_ty_type_param_defs(ebml_w, ecx,
11411141
trait_def.generics.type_param_defs,
11421142
tag_items_data_item_ty_param_bounds);
1143+
encode_region_param_defs(ebml_w, ecx,
1144+
trait_def.generics.region_param_defs);
11431145
encode_trait_ref(ebml_w, ecx, trait_def.trait_ref, tag_item_trait_ref);
11441146
encode_name(ecx, ebml_w, item.ident);
11451147
encode_attributes(ebml_w, item.attrs);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
pub trait FromBuf<'a> {
12+
fn from_buf(&'a [u8]) -> Self;
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
// xfail-fast
12+
// aux-build:xcrate-trait-lifetime-param.rs
13+
14+
extern mod other(name = "xcrate-trait-lifetime-param");
15+
16+
struct Reader<'a> {
17+
b : &'a [u8]
18+
}
19+
20+
impl <'a> other::FromBuf<'a> for Reader<'a> {
21+
fn from_buf(b : &'a [u8]) -> Reader<'a> {
22+
Reader { b : b }
23+
}
24+
}
25+
26+
pub fn main () {}

0 commit comments

Comments
 (0)