From dcb98f4097240ade472aea8b33b19dd3ecb4fd51 Mon Sep 17 00:00:00 2001 From: Tim Chevalier Date: Thu, 14 Feb 2013 18:17:56 -0800 Subject: [PATCH 1/2] core: Clean up XXXes --- src/libcore/rt.rs | 2 +- src/libcore/run.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libcore/rt.rs b/src/libcore/rt.rs index 769c0b3c707..60e6118057d 100644 --- a/src/libcore/rt.rs +++ b/src/libcore/rt.rs @@ -62,7 +62,7 @@ pub unsafe fn rt_fail_borrowed() { } } -// XXX: Make these signatures agree with exchange_alloc's signatures +// FIXME #4942: Make these signatures agree with exchange_alloc's signatures #[rt(exchange_malloc)] #[lang="exchange_malloc"] pub unsafe fn rt_exchange_malloc(td: *c_char, size: uintptr_t) -> *c_char { diff --git a/src/libcore/run.rs b/src/libcore/run.rs index 1761d765838..7a597aa9c75 100644 --- a/src/libcore/run.rs +++ b/src/libcore/run.rs @@ -250,7 +250,7 @@ struct ProgRes { r: ProgRepr, drop { unsafe { - // XXX: This is bad. + // FIXME #4943: This is bad. destroy_repr(cast::transmute(&self.r)); } } From 3201c6fe3f39fa4123ae373b1d7d09b68eca772b Mon Sep 17 00:00:00 2001 From: Tim Chevalier Date: Thu, 14 Feb 2013 18:37:25 -0800 Subject: [PATCH 2/2] rustc: De-XXX resolve and borrowck... and remove an un-needed hashmap from resolve --- src/librustc/middle/borrowck/loan.rs | 2 +- src/librustc/middle/resolve.rs | 54 +++++++++------------------- 2 files changed, 17 insertions(+), 39 deletions(-) diff --git a/src/librustc/middle/borrowck/loan.rs b/src/librustc/middle/borrowck/loan.rs index 3b6d735ae78..c39f2455c2f 100644 --- a/src/librustc/middle/borrowck/loan.rs +++ b/src/librustc/middle/borrowck/loan.rs @@ -73,7 +73,7 @@ pub fn loan(bccx: @BorrowckCtxt, Err(ref e) => return Err((*e)), Ok(()) => {} } - // XXX: Workaround for borrow check bug. + // FIXME #4945: Workaround for borrow check bug. Ok(copy lc.loans) } diff --git a/src/librustc/middle/resolve.rs b/src/librustc/middle/resolve.rs index acb73e90c5d..45838efad70 100644 --- a/src/librustc/middle/resolve.rs +++ b/src/librustc/middle/resolve.rs @@ -96,8 +96,8 @@ pub struct binding_info { // Implementation resolution // -// XXX: This kind of duplicates information kept in ty::method. Maybe it -// should go away. +// FIXME #4946: This kind of duplicates information kept in +// ty::method. Maybe it should go away. pub type MethodInfo = { did: def_id, @@ -268,8 +268,8 @@ pub enum MethodSort { // allows it to reference private names. Currently, this is used for the test // runner. // -// XXX: The X-ray flag is kind of questionable in the first place. It might -// be better to introduce an expr_xray_path instead. +// FIXME #4947: The X-ray flag is kind of questionable in the first +// place. It might be better to introduce an expr_xray_path instead. #[deriving_eq] pub enum XrayFlag { @@ -469,14 +469,6 @@ pub struct Module { anonymous_children: HashMap, - // XXX: This is about to be reworked so that exports are on individual - // items, not names. - // - // The ident is the name of the exported item, while the node ID is the - // ID of the export path. - - exported_names: HashMap, - // The status of resolving each import in this module. import_resolutions: HashMap, @@ -498,7 +490,6 @@ pub fn Module(parent_link: ParentLink, children: HashMap(), imports: DVec(), anonymous_children: HashMap(), - exported_names: HashMap(), import_resolutions: HashMap(), glob_count: 0, resolved_import_count: 0 @@ -831,7 +822,7 @@ pub struct Resolver { mut current_module: @Module, // The current set of local scopes, for values. - // XXX: Reuse ribs to avoid allocation. + // FIXME #4948: Reuse ribs to avoid allocation. value_ribs: @DVec<@Rib>, // The current set of local scopes, for types. @@ -2137,8 +2128,9 @@ fn resolve_single_import(module_: @Module, // We need to resolve both namespaces for this to succeed. // - // XXX: See if there's some way of handling namespaces in a more - // generic way. We have two of them; it seems worth doing... + // FIXME #4949: See if there's some way of handling namespaces in + // a more generic way. We have two of them; it seems worth + // doing... let mut value_result = UnknownResult; let mut type_result = UnknownResult; @@ -3206,8 +3198,8 @@ fn report_unresolved_imports(module_: @Module) { // This pass simply determines what all "export" keywords refer to and // writes the results into the export map. // - // XXX: This pass will be removed once exports change to per-item. Then - // this operation can simply be performed as part of item (or import) + // FIXME #4953 This pass will be removed once exports change to per-item. + // Then this operation can simply be performed as part of item (or import) // processing. fn record_exports() { @@ -3507,8 +3499,8 @@ fn search_ribs(ribs: @DVec<@Rib>, name: ident, span: span, allow_capturing_self: AllowCapturingSelfFlag) -> Option { - // XXX: This should not use a while loop. - // XXX: Try caching? + // FIXME #4950: This should not use a while loop. + // FIXME #4950: Try caching? let mut i = (*ribs).len(); while i != 0 { @@ -3649,7 +3641,7 @@ fn resolve_item(item: @item, visitor: ResolveVisitor) { // Create a new rib for the method-specific type // parameters. // - // XXX: Do we need a node ID here? + // FIXME #4951: Do we need a node ID here? match *method { required(ref ty_m) => { @@ -4555,7 +4547,7 @@ fn resolve_identifier(identifier: ident, namespace); } - // XXX: Merge me with resolve_name_in_module? + // FIXME #4952: Merge me with resolve_name_in_module? fn resolve_definition_of_name_in_module(containing_module: @Module, name: ident, namespace: Namespace, @@ -4873,20 +4865,6 @@ fn resolve_expr(expr: @expr, visitor: ResolveVisitor) { expr_struct(path, _, _) => { // Resolve the path to the structure it goes to. - // - // XXX: We might want to support explicit type parameters in - // the path, in which case this gets a little more - // complicated: - // - // 1. Should we go through the ast_path_to_ty() path, which - // handles typedefs and the like? - // - // 2. If so, should programmers be able to write this? - // - // class Foo { ... } - // type Bar = Foo; - // let bar = Bar { ... } // no type parameters - match self.resolve_path(path, TypeNS, false, visitor) { Some(def_ty(class_id)) | Some(def_struct(class_id)) if self.structs.contains_key(&class_id) => { @@ -5320,7 +5298,7 @@ fn dump_module(module_: @Module) { None => { value_repr = ~""; } Some(_) => { value_repr = ~" value:?"; - // XXX + // FIXME #4954 } } @@ -5329,7 +5307,7 @@ fn dump_module(module_: @Module) { None => { type_repr = ~""; } Some(_) => { type_repr = ~" type:?"; - // XXX + // FIXME #4954 } }