diff options
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/expand.rs | 16 | ||||
| -rw-r--r-- | src/libsyntax/ext/pipes/proto.rs | 3 |
2 files changed, 12 insertions, 7 deletions
diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs index 2c3f42cca9a..b45cde6a8e3 100644 --- a/src/libsyntax/ext/expand.rs +++ b/src/libsyntax/ext/expand.rs @@ -579,11 +579,13 @@ pub fn core_macros() -> @str { { pub $c:ident: $in:ty -> $out:ty; } => { pub mod $c { - fn key(_x: @::std::condition::Handler<$in,$out>) { } + #[allow(non_uppercase_statics)]; + static key: ::std::local_data::Key< + @::std::condition::Handler<$in, $out>> = + &::std::local_data::Key; - #[allow(non_uppercase_statics)] pub static cond : - ::std::condition::Condition<'static,$in,$out> = + ::std::condition::Condition<$in,$out> = ::std::condition::Condition { name: stringify!($c), key: key @@ -595,11 +597,13 @@ pub fn core_macros() -> @str { // FIXME (#6009): remove mod's `pub` below once variant above lands. pub mod $c { - fn key(_x: @::std::condition::Handler<$in,$out>) { } + #[allow(non_uppercase_statics)]; + static key: ::std::local_data::Key< + @::std::condition::Handler<$in, $out>> = + &::std::local_data::Key; - #[allow(non_uppercase_statics)] pub static cond : - ::std::condition::Condition<'static,$in,$out> = + ::std::condition::Condition<$in,$out> = ::std::condition::Condition { name: stringify!($c), key: key diff --git a/src/libsyntax/ext/pipes/proto.rs b/src/libsyntax/ext/pipes/proto.rs index 75424b60390..5866b8a5af5 100644 --- a/src/libsyntax/ext/pipes/proto.rs +++ b/src/libsyntax/ext/pipes/proto.rs @@ -144,7 +144,8 @@ pub struct protocol_ { impl protocol_ { /// Get a state. pub fn get_state(&self, name: &str) -> state { - *self.states.iter().find_(|i| name == i.name).get() + let mut i = self.states.iter(); + *i.find_(|i| name == i.name).get() } pub fn get_state_by_id(&self, id: uint) -> state { self.states[id] } |
