Skip to content

Commit fcd70ec

Browse files
committed
---
yaml --- r: 44997 b: refs/heads/master c: d26f6ed h: refs/heads/master i: 44995: 0d72fa9 v: v3
1 parent 0786773 commit fcd70ec

File tree

4 files changed

+10
-38
lines changed

4 files changed

+10
-38
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 824b9e7dbf2448d0ed1a7f3e1a0305ee5c8f31ec
2+
refs/heads/master: d26f6eddfde6b9f0e2f011d4666a3f7c98ae1048
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: a6d9689399d091c3265f00434a69c551a61c28dc
55
refs/heads/try: ef355f6332f83371e4acf04fc4eb940ab41d78d3

trunk/src/librustc/middle/typeck/astconv.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ use core::prelude::*;
5757
use middle::ty::{arg, field, substs};
5858
use middle::ty::{ty_param_substs_and_ty};
5959
use middle::ty;
60-
use middle::typeck::rscope::{in_anon_rscope, in_binding_rscope};
60+
use middle::typeck::rscope::{in_binding_rscope};
6161
use middle::typeck::rscope::{region_scope, type_rscope};
6262
use middle::typeck::{CrateCtxt, write_substs_to_tcx, write_ty_to_tcx};
6363

@@ -315,8 +315,7 @@ pub fn ast_ty_to_ty<AC:AstConv, RS:region_scope + Copy + Durable>(
315315
}
316316
ast::ty_rptr(region, mt) => {
317317
let r = ast_region_to_region(self, rscope, ast_ty.span, region);
318-
let anon_rscope = in_anon_rscope(rscope, r);
319-
mk_pointer(self, &anon_rscope, mt, ty::vstore_slice(r),
318+
mk_pointer(self, rscope, mt, ty::vstore_slice(r),
320319
|tmt| ty::mk_rptr(tcx, r, tmt))
321320
}
322321
ast::ty_tup(fields) => {

trunk/src/librustc/middle/typeck/check/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
1+
n// Copyright 2012 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
//
@@ -95,7 +95,7 @@ use middle::typeck::check::vtable::{LocationInfo, VtableContext};
9595
use middle::typeck::CrateCtxt;
9696
use middle::typeck::infer::{resolve_type, force_tvar};
9797
use middle::typeck::infer;
98-
use middle::typeck::rscope::{anon_rscope, binding_rscope, bound_self_region};
98+
use middle::typeck::rscope::{binding_rscope, bound_self_region};
9999
use middle::typeck::rscope::{in_binding_rscope, region_scope, type_rscope};
100100
use middle::typeck::rscope;
101101
use middle::typeck::{isr_alist, lookup_def_ccx, method_map_entry};

trunk/src/librustc/middle/typeck/rscope.rs

Lines changed: 5 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ pub trait region_scope {
2727
pub enum empty_rscope { empty_rscope }
2828
impl region_scope for empty_rscope {
2929
fn anon_region(&self, _span: span) -> Result<ty::Region, ~str> {
30-
Ok(ty::re_static)
30+
result::Err(~"only the static region is allowed here")
3131
}
3232
fn self_region(&self, _span: span) -> Result<ty::Region, ~str> {
3333
result::Err(~"only the static region is allowed here")
@@ -62,14 +62,14 @@ impl region_scope for MethodRscope {
6262
pub enum type_rscope = Option<ty::region_variance>;
6363
impl region_scope for type_rscope {
6464
fn anon_region(&self, _span: span) -> Result<ty::Region, ~str> {
65-
// if the anon or self region is used, region parameterization should
65+
result::Err(~"anonymous region types are not permitted here")
66+
}
67+
fn self_region(&self, _span: span) -> Result<ty::Region, ~str> {
68+
// if the self region is used, region parameterization should
6669
// have inferred that this type is RP
6770
assert self.is_some();
6871
result::Ok(ty::re_bound(ty::br_self))
6972
}
70-
fn self_region(&self, span: span) -> Result<ty::Region, ~str> {
71-
self.anon_region(span)
72-
}
7373
fn named_region(&self, span: span, id: ast::ident)
7474
-> Result<ty::Region, ~str> {
7575
do empty_rscope.named_region(span, id).chain_err |_e| {
@@ -87,33 +87,6 @@ pub fn bound_self_region(rp: Option<ty::region_variance>)
8787
}
8888
}
8989

90-
pub struct anon_rscope { anon: ty::Region, base: @region_scope }
91-
pub fn in_anon_rscope<RS:region_scope + Copy + Durable>(
92-
self: &RS,
93-
r: ty::Region) -> anon_rscope
94-
{
95-
let base = @(copy *self) as @region_scope;
96-
anon_rscope {anon: r, base: base}
97-
}
98-
impl region_scope for anon_rscope {
99-
fn anon_region(&self,
100-
_span: span) -> Result<ty::Region, ~str>
101-
{
102-
result::Ok(self.anon)
103-
}
104-
fn self_region(&self,
105-
span: span) -> Result<ty::Region, ~str>
106-
{
107-
self.base.self_region(span)
108-
}
109-
fn named_region(&self,
110-
span: span,
111-
id: ast::ident) -> Result<ty::Region, ~str>
112-
{
113-
self.base.named_region(span, id)
114-
}
115-
}
116-
11790
pub struct binding_rscope {
11891
base: @region_scope,
11992
anon_bindings: @mut uint,

0 commit comments

Comments
 (0)