Skip to content

Commit c5d2274

Browse files
committed
---
yaml --- r: 94133 b: refs/heads/try c: 09db61f h: refs/heads/master i: 94131: 704e887 v: v3
1 parent 5ca203c commit c5d2274

File tree

5 files changed

+50
-4
lines changed

5 files changed

+50
-4
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: 0da105a8b7b6b1e0568e8ff20f6ff4b13cc7ecc2
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: a6d3e57dca68fde4effdda3e4ae2887aa535fcd6
5-
refs/heads/try: 4d688e8214e2589ae56aca2eb720f2eb68492ea2
5+
refs/heads/try: 09db61fb4f2ab880726dc29624ce66b41f1eb341
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c

branches/try/src/librustc/metadata/encoder.rs

Lines changed: 2 additions & 0 deletions
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);

branches/try/src/libsyntax/ast.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -254,9 +254,14 @@ pub enum Def {
254254
NodeId, // expr node that creates the closure
255255
NodeId), // id for the block/body of the closure expr
256256

257-
/// Note that if it's a tuple struct's definition, the node id
258-
/// of the DefId refers to the struct_def.ctor_id (whereas normally it
259-
/// refers to the item definition's id).
257+
/// Note that if it's a tuple struct's definition, the node id of the DefId
258+
/// may either refer to the item definition's id or the struct_def.ctor_id.
259+
///
260+
/// The cases that I have encountered so far are (this is not exhaustive):
261+
/// - If it's a ty_path referring to some tuple struct, then DefMap maps
262+
/// it to a def whose id is the item definition's id.
263+
/// - If it's an ExprPath referring to some tuple struct, then DefMap maps
264+
/// it to a def whose id is the struct_def.ctor_id.
260265
DefStruct(DefId),
261266
DefTyParamBinder(NodeId), /* struct, impl or trait with ty params */
262267
DefRegion(NodeId),
Lines changed: 13 additions & 0 deletions
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+
}
Lines changed: 26 additions & 0 deletions
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)