diff --git a/src/main.rs b/src/main.rs index 378aec2..e152092 100644 --- a/src/main.rs +++ b/src/main.rs @@ -19,16 +19,6 @@ impl RGB { } } -struct Container<'a> { - value: &'a RGB, -} - -impl<'a> Container<'a> { - fn new(value: &RGB) -> Container { - Container { value } - } -} - struct Image { width: usize, height: usize, @@ -69,6 +59,20 @@ impl Image { } } +struct Container<'a> { + value: &'a RGB, +} + +impl<'a> Container<'a> { + fn new(value: &RGB) -> Container { + Container { value } + } +} + +fn foo<'a>(image: Image) -> Container<'a> { + Container::new(image.get(0, 0)) +} + fn main() { let image = Image::white_image(640, 480); @@ -76,5 +80,8 @@ fn main() { let container = Container::new(c); + let container1 = foo(image); + println!("{}", container.value.blue); + println!("{}", container1.value.blue); }