You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using rustc 0.6, the compiled executable of the following code results in a segfault. I'm not exactly sure why, but I suppose this shouldn't happen ;).
Btw, using @Animal instead of ~Animal works fine. Using @Cage or ~Cage doesn't matter (both crash). Building ~Cage directly in main() also works fine.
pub trait Animal { }
struct Cage {
animal: ~Animal,
}
fn capture (animal: ~Animal) -> ~Cage {
let cage = ~Cage { animal: animal };
debug!("still alive");
cage
}
struct Duck { foo: int }
impl Animal for Duck { }
fn main () {
let duck = ~Duck { foo: 123 };
let _ = capture(duck as ~Animal);
debug!("never reached");
}
zargony@lina:~$ uname -a
Darwin lina.fritz.box 12.3.0 Darwin Kernel Version 12.3.0: Sun Jan 6 22:37:10 PST 2013; root:xnu-2050.22.13~1/RELEASE_X86_64 x86_64
zargony@lina:~$ rustc --version
rustc 0.6
host: x86_64-apple-darwin