// run-pass #![feature(box_syntax)] use std::cmp::PartialEq; use std::fmt::Debug; fn sendable() { fn f(i: T, j: T) { assert_eq!(i, j); } fn g(i: T, j: T) { assert!(i != j); } let i: Box<_> = box 100; let j: Box<_> = box 100; f(i, j); let i: Box<_> = box 100; let j: Box<_> = box 101; g(i, j); } fn copyable() { fn f(i: T, j: T) { assert_eq!(i, j); } fn g(i: T, j: T) { assert!(i != j); } let i: Box<_> = box 100; let j: Box<_> = box 100; f(i, j); let i: Box<_> = box 100; let j: Box<_> = box 101; g(i, j); } fn noncopyable() { fn f(i: T, j: T) { assert_eq!(i, j); } fn g(i: T, j: T) { assert!(i != j); } let i: Box<_> = box 100; let j: Box<_> = box 100; f(i, j); let i: Box<_> = box 100; let j: Box<_> = box 101; g(i, j); } pub fn main() { sendable(); copyable(); noncopyable(); }