From: Manish Goregaokar Date: Wed, 13 Jan 2016 22:52:20 +0000 (+0530) Subject: Rollup merge of #30863 - jseyfried:no_rc, r=eddyb X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=1246f43bf9d9c21edc65bb6d26fc3ef883dd9f40;p=rust.git Rollup merge of #30863 - jseyfried:no_rc, r=eddyb Use arena allocation instead of reference counting for `Module`s to fix memory leaks from `Rc` cycles. A module references its module children and its import resolutions, and an import resolution references the module defining the imported name, so there is a cycle whenever a module imports something from an ancestor module. For example, ```rust mod foo { // `foo` references `bar`. fn baz() {} mod bar { // `bar` references the import. use foo::baz; // The import references `foo`. } } ``` --- 1246f43bf9d9c21edc65bb6d26fc3ef883dd9f40