rust/src/librustc/middle
Patrick Walton d1dcd19d26 librustc: Make references to functions not have static lifetime.
This breaks code like:

    struct A<'a> {
        func: &'a fn() -> Option<int>
    }

    fn foo() -> Option<int> { ... }

    fn create() -> A<'static> {
        A {
            func: &foo
        }
    }

Change this code to not take functions by reference. For example:

    struct A {
        func: extern "Rust" fn() -> Option<int>
    }

    fn foo() -> Option<int> { ... }

    fn create() -> A {
        A {
            func: foo
        }
    }

Closes #13595.

[breaking-change]
2014-07-24 15:29:26 -07:00
..
borrowck auto merge of #15742 : pnkfelix/rust/fsk-fix-15019, r=pcwalton 2014-07-18 18:26:34 +00:00
cfg librustc: Implement unboxed closures with mutable receivers 2014-07-18 09:01:37 -07:00
save Implement new mod import sugar 2014-07-20 12:40:08 +02:00
trans Add string::raw::from_buf 2014-07-24 07:25:43 -07:00
typeck librustc: Check structure constructors against their types. 2014-07-24 07:26:24 -07:00
astencode.rs librustc: Implement unboxed closures with mutable receivers 2014-07-18 09:01:37 -07:00
check_const.rs Convert a first batch of diagnostics to have error codes 2014-07-12 21:53:34 +02:00
check_loop.rs librustc: Implement unboxed closures with mutable receivers 2014-07-18 09:01:37 -07:00
check_match.rs Add support for patterns referencing non-trivial statics 2014-07-19 01:09:22 +02:00
check_static.rs Convert a first batch of diagnostics to have error codes 2014-07-12 21:53:34 +02:00
const_eval.rs Add support for patterns referencing non-trivial statics 2014-07-19 01:09:22 +02:00
dataflow.rs Removed the _frozen methods from dataflow API. 2014-07-18 13:48:53 +02:00
dead.rs librustc: Implement unboxed closures with mutable receivers 2014-07-18 09:01:37 -07:00
def.rs middle: Derive Show impls 2014-07-15 18:54:47 -04:00
dependency_format.rs
effect.rs Assign more diagnostic codes 2014-07-18 20:13:19 +02:00
entry.rs Assign more diagnostic codes 2014-07-18 20:13:19 +02:00
expr_use_visitor.rs librustc: Implement unboxed closures with mutable receivers 2014-07-18 09:01:37 -07:00
freevars.rs librustc: Implement unboxed closures with mutable receivers 2014-07-18 09:01:37 -07:00
graph.rs librustc: Remove uses of advance. 2014-07-09 15:51:58 -07:00
intrinsicck.rs Assign more diagnostic codes 2014-07-18 20:13:19 +02:00
kind.rs Add Drop support for enums 2014-07-22 23:45:49 +02:00
lang_items.rs Assign more diagnostic codes 2014-07-18 20:13:19 +02:00
liveness.rs librustc: Implement unboxed closures with mutable receivers 2014-07-18 09:01:37 -07:00
mem_categorization.rs librustc: Make references to functions not have static lifetime. 2014-07-24 15:29:26 -07:00
pat_util.rs Add support for patterns referencing non-trivial statics 2014-07-19 01:09:22 +02:00
privacy.rs privacy: Add publically-reexported foreign item to exported item set 2014-07-21 09:54:59 -07:00
reachable.rs librustc: Remove cross-borrowing of Box<T> to &T from the language, 2014-07-17 14:05:36 -07:00
region.rs librustc: Implement the fully-expanded, UFCS form of explicit self. 2014-07-16 20:01:52 -07:00
resolve_lifetime.rs std: Rename the ToStr trait to ToString, and to_str to to_string. 2014-07-08 13:01:43 -07:00
resolve.rs Implement new mod import sugar 2014-07-20 12:40:08 +02:00
stability.rs Bug fixes for stability tracking 2014-07-10 20:51:35 -07:00
subst.rs librustc: Implement unboxed closures with mutable receivers 2014-07-18 09:01:37 -07:00
ty_fold.rs librustc: Implement unboxed closures with mutable receivers 2014-07-18 09:01:37 -07:00
ty.rs Add Drop support for enums 2014-07-22 23:45:49 +02:00
weak_lang_items.rs