+++ /dev/null
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use std::cell::RefCell;
-
-fn f<T: Sync>(_: T) {}
-
-fn main() {
- let x = RefCell::new(0);
- f(x);
- //~^ ERROR `std::cell::RefCell<_> : std::marker::Sync` is not satisfied
-}
+++ /dev/null
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use std::rc::Rc;
-
-fn f<T:Send>(__isize: T) {
-}
-
-fn main() {
- // FIXME (#22405): Replace `Box::new` with `box` here when/if possible.
- let i = Box::new(Rc::new(100));
- f(i);
- //~^ ERROR `std::rc::Rc<_> : std::marker::Send` is not satisfied
-}
+++ /dev/null
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use std::cell::Cell;
-
-#[derive(Debug)]
-struct r<'a> {
- i: &'a Cell<isize>,
-}
-
-impl<'a> Drop for r<'a> {
- fn drop(&mut self) {
- unsafe {
- self.i.set(self.i.get() + 1);
- }
- }
-}
-
-fn f<T>(__isize: Vec<T> , _j: Vec<T> ) {
-}
-
-fn clone<T: Clone>(t: &T) -> T { t.clone() }
-
-fn main() {
- let i1 = &Cell::new(0);
- let i2 = &Cell::new(1);
- // FIXME (#22405): Replace `Box::new` with `box` here when/if possible.
- let r1 = vec!(Box::new(r { i: i1 }));
- let r2 = vec!(Box::new(r { i: i2 }));
- f(clone(&r1), clone(&r2));
- //~^ ERROR `r<'_> : std::clone::Clone` is not satisfied
- //~^^ ERROR `r<'_> : std::clone::Clone` is not satisfied
- println!("{:?}", (r2, i1.get()));
- println!("{:?}", (r1, i2.get()));
-}