[rust-dev] Passing arguments bu reference
christophe.pedretti at gmail.com
Sun Jun 1 01:34:30 PDT 2014
I've read this :
I am coming from Java where everything is passed and returned by
reference (except for primitive data types), no choice.
I know that with C, you have to use pointers to avoid passing and
returning by value.
When i read the mentionned guide, things are not so evident with Rust.
So, to be precise, imagine i need to write à fonction which takes à
big Vec<u8> (In my case it´s an SQL BLOB) as argument and returns a
Should i use
Fn my_func(src : &Vec<u8>) -> &Vec<u8>
Fn my_func(src : &Vec<u8>) -> ~Vec<u8>
Fn my_func(src : &Vec<u8>) ->Vec<u8>
Fn my_func(src : Vec<u8>) -> Vec<u8>
Fn my_func(src : ~Vec<u8>) -> ~Vec<u8>
Any other combination ?
PS : i know that i have to use lifetimes and that ~ are now Box, i've
omitted them to simplify my demand
PS2 : genrally with a language you can accomplish the same thing with
different methods, but there are also common "usages", even if Rust is
young, what is the usage for passing and returning large data values
More information about the Rust-dev