Closed
Description
This works:
trait Bar{}
impl Bar for uint {};
let (a, b) = (~5u as ~Bar, ~9u as ~Bar);
let c: &Bar = a;
let d: &Bar = b;
This doesn't:
trait Bar{}
impl Bar for uint {}
fn main() {
let (a, b) = (~5u as ~Bar, ~9u as ~Bar);
let (c, d): (&Bar, &Bar) = (a, b);
}
error: mismatched types: expected `(&main::Bar<no-bounds>,&main::Bar<no-bounds>)` but found `(~main::Bar:Send,~main::Bar:Send)` (trait storage differs: expected & but found ~)