message: test new From instances for Rc
diff: use std::cell::RefCell;
  use std::rc::Rc;
  -fn rc_refcell() -> i32 {
  +fn rc_refcell() {
  let r = Rc::new(RefCell::new(42));
  *r.borrow_mut() += 10;
  let x = *r.borrow();
  - x
  + assert_eq!(x, 52);
  }
  fn rc_raw() {
  @@ -17,7 +17,23 @@ fn rc_raw() {
  assert!(Rc::try_unwrap(r2).is_ok());
  }
  +// Make sure this Rc doesn't fall apart when touched
  +fn check_unique_rc<T: ?Sized>(mut r: Rc<T>) {
  + let r2 = r.clone();
  + assert!(Rc::get_mut(&mut r).is_none());
  + drop(r2);
  + assert!(Rc::get_mut(&mut r).is_some());
  +}
  +
  +fn rc_from() {
  + check_unique_rc::<[_]>(Rc::from(&[1,2,3] as &[_]));
  + check_unique_rc::<[_]>(Rc::from(vec![1,2,3]));
  + check_unique_rc::<[_]>(Rc::from(Box::new([1,2,3]) as Box<[_]>));
  + check_unique_rc::<str>(Rc::from("Hello, World!"));
  +}
  +
  fn main() {
  rc_refcell();
  rc_raw();
  + rc_from();
  }
  