Closed
Description
auto-deref has been added but I'm still interested in a more uniform behavior of custom pointers (meaning the ones that exist by trait implementation) and native ones (like the dying ~T
).
use std::rc::Rc;
struct Bar { x: int }
fn foo(p: &int) {
println!("{}", p);
}
fn baz(p: &Bar) {
println!("{}", p.x);
}
fn main() {
let pi = box 10;
let pb = Rc::new(Bar {x: 3});
foo(pi);
// this still doesn't auto borrow:
//baz(pb);
// although this works:
println!("{}", pb.x);
}
I've looked in #7141, #12491, #13542, #5527, #12825, #12610 and RFC 59 but could not grasp whether any would be addressing this or whether it's desirable, sorry if it's a duplicate.
Metadata
Metadata
Assignees
Labels
No labels