1
Fork 0

Update FIXMEs with issue numbers

This commit is contained in:
Niko Matsakis 2013-10-29 11:19:28 -04:00
parent 195f1d77bd
commit bc3e842508
4 changed files with 9 additions and 16 deletions

View file

@ -583,9 +583,7 @@ pub fn check_item(ccx: @mut CrateCtxt, it: @ast::item) {
ast::item_fn(ref decl, _, _, _, ref body) => { ast::item_fn(ref decl, _, _, _, ref body) => {
let fn_tpt = ty::lookup_item_type(ccx.tcx, ast_util::local_def(it.id)); 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 // FIXME(#5121) -- won't work for lifetimes that appear in type bounds
// a lifetime from within a type parameter. That's actually fairly
// tricky.
let param_env = ty::construct_parameter_environment( let param_env = ty::construct_parameter_environment(
ccx.tcx, ccx.tcx,
None, None,

View file

@ -94,15 +94,9 @@ pub fn relate_nested_regions(
relate_op: &'self fn(ty::Region, ty::Region), relate_op: &'self fn(ty::Region, ty::Region),
} }
// FIXME we should define more precisely when a // FIXME(#10151) -- Define more precisely when a region is
// region is considered "nested" and take variance into account. // considered "nested". Consider taking variance into account as
// // well.
// 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")
impl<'self> TypeFolder for RegionRelator<'self> { impl<'self> TypeFolder for RegionRelator<'self> {
fn tcx(&self) -> ty::ctxt { fn tcx(&self) -> ty::ctxt {

View file

@ -359,7 +359,7 @@ pub fn ensure_trait_methods(ccx: &CrateCtxt,
let num_trait_type_params = trait_generics.type_param_defs.len(); let num_trait_type_params = trait_generics.type_param_defs.len();
ty::Method::new( ty::Method::new(
*m_ident, *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), ty_generics(this, m_generics, num_trait_type_params),
transformed_self_ty, transformed_self_ty,
fty, fty,
@ -486,7 +486,7 @@ fn convert_methods(ccx: &CrateCtxt,
let num_rcvr_type_params = rcvr_generics.ty_params.len(); let num_rcvr_type_params = rcvr_generics.ty_params.len();
ty::Method::new( ty::Method::new(
m.ident, m.ident,
// FIXME region param // FIXME(#5121) -- distinguish early vs late lifetime params
ty_generics(ccx, &m.generics, num_rcvr_type_params), ty_generics(ccx, &m.generics, num_rcvr_type_params),
transformed_self_ty, transformed_self_ty,
fty, 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. * 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) { match lookup_def_tcx(ccx.tcx, ast_trait_ref.path.span, ast_trait_ref.ref_id) {
ast::DefTrait(trait_did) => { ast::DefTrait(trait_did) => {

View file

@ -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) { pub fn print_view_path(s: @ps, vp: &ast::view_path) {
match vp.node { match vp.node {
ast::view_path_simple(ident, ref path, _) => { 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 { if path.segments.last().identifier.name != ident.name {
print_ident(s, ident); print_ident(s, ident);
space(s.s); space(s.s);