From bc3e84250868dff44ce0ea0919d9db8549dddf32 Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Tue, 29 Oct 2013 11:19:28 -0400 Subject: [PATCH] Update FIXMEs with issue numbers --- src/librustc/middle/typeck/check/mod.rs | 4 +--- src/librustc/middle/typeck/check/regionmanip.rs | 12 +++--------- src/librustc/middle/typeck/collect.rs | 7 ++++--- src/libsyntax/print/pprust.rs | 2 +- 4 files changed, 9 insertions(+), 16 deletions(-) diff --git a/src/librustc/middle/typeck/check/mod.rs b/src/librustc/middle/typeck/check/mod.rs index ebe3c828262c..95b811f6765c 100644 --- a/src/librustc/middle/typeck/check/mod.rs +++ b/src/librustc/middle/typeck/check/mod.rs @@ -583,9 +583,7 @@ pub fn check_item(ccx: @mut CrateCtxt, it: @ast::item) { ast::item_fn(ref decl, _, _, _, ref body) => { let fn_tpt = ty::lookup_item_type(ccx.tcx, ast_util::local_def(it.id)); - // FIXME -- this won't fly for the case where people reference - // a lifetime from within a type parameter. That's actually fairly - // tricky. + // FIXME(#5121) -- won't work for lifetimes that appear in type bounds let param_env = ty::construct_parameter_environment( ccx.tcx, None, diff --git a/src/librustc/middle/typeck/check/regionmanip.rs b/src/librustc/middle/typeck/check/regionmanip.rs index a73aa46fbec2..ec11adbfa3da 100644 --- a/src/librustc/middle/typeck/check/regionmanip.rs +++ b/src/librustc/middle/typeck/check/regionmanip.rs @@ -94,15 +94,9 @@ pub fn relate_nested_regions( relate_op: &'self fn(ty::Region, ty::Region), } - // FIXME we should define more precisely when a - // region is considered "nested" and take variance into account. - // - // I can't decide whether skipping closure parameter types and - // so on is necessary or not. What is the difference, after all, - // between `&'a |&'b T|` and `&'a Fn<&'b T>`? And yet in the - // latter case I'm inclined to think we should probably track - // the relationship (but then again maybe we should just skip - // all such cases until it "proves necessary") + // FIXME(#10151) -- Define more precisely when a region is + // considered "nested". Consider taking variance into account as + // well. impl<'self> TypeFolder for RegionRelator<'self> { fn tcx(&self) -> ty::ctxt { diff --git a/src/librustc/middle/typeck/collect.rs b/src/librustc/middle/typeck/collect.rs index e55005d62e91..2a55a681290e 100644 --- a/src/librustc/middle/typeck/collect.rs +++ b/src/librustc/middle/typeck/collect.rs @@ -359,7 +359,7 @@ pub fn ensure_trait_methods(ccx: &CrateCtxt, let num_trait_type_params = trait_generics.type_param_defs.len(); ty::Method::new( *m_ident, - // FIXME -- what about lifetime parameters here? + // FIXME(#5121) -- distinguish early vs late lifetime params ty_generics(this, m_generics, num_trait_type_params), transformed_self_ty, fty, @@ -486,7 +486,7 @@ fn convert_methods(ccx: &CrateCtxt, let num_rcvr_type_params = rcvr_generics.ty_params.len(); ty::Method::new( m.ident, - // FIXME region param + // FIXME(#5121) -- distinguish early vs late lifetime params ty_generics(ccx, &m.generics, num_rcvr_type_params), transformed_self_ty, fty, @@ -683,7 +683,8 @@ pub fn instantiate_trait_ref(ccx: &CrateCtxt, * trait. Fails if the type is a type other than an trait type. */ - let rscope = ExplicitRscope; // FIXME + // FIXME(#5121) -- distinguish early vs late lifetime params + let rscope = ExplicitRscope; match lookup_def_tcx(ccx.tcx, ast_trait_ref.path.span, ast_trait_ref.ref_id) { ast::DefTrait(trait_did) => { diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index fd02ac68f4e1..7b02d036511a 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -1905,7 +1905,7 @@ pub fn print_meta_item(s: @ps, item: &ast::MetaItem) { pub fn print_view_path(s: @ps, vp: &ast::view_path) { match vp.node { ast::view_path_simple(ident, ref path, _) => { - // FIXME can't compare identifiers directly here + // FIXME(#6993) can't compare identifiers directly here if path.segments.last().identifier.name != ident.name { print_ident(s, ident); space(s.s);