1 // Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
13 #![allow(unused_variables)]
21 trait Component: 'static {}
22 impl Component for Engine {}
25 fn get_component_type_id(&self, type_id: TypeId) -> Option<Fp<Component>>;
29 fn get_component<T: Component>(&self) -> Option<Fp<T>> {
30 let x = self.get_component_type_id(TypeId::of::<T>());
36 fn init(&mut self, env: &Env);
41 impl Figment for MyFigment {
42 fn init(&mut self, env: &Env) {
43 let engine = env.get_component::<Engine>();