aboutsummaryrefslogtreecommitdiffstats
path: root/tests/compile-fail/mutable.rs
diff options
context:
space:
mode:
authorBrian Cully <bjc@kublai.com>2019-05-10 11:50:53 -0400
committerBrian Cully <bjc@kublai.com>2019-06-03 09:23:29 -0400
commit5781e9391fe3d7d3dabec620cb782d38f5f9cb9e (patch)
tree9ed0b09fd40f128733e8441fc63f91a9ee17d3f6 /tests/compile-fail/mutable.rs
parentf12811a0a5e15b596a0cc06c095832a6b795172b (diff)
downloadclint-0.2.0.tar.gz
clint-0.2.0.zip
Update to 0.2.0: Add HandlerArray type.v0.2.0
* Create HandlerArray as a safe wrapper around Handler. * Add Cargo features for HandlerArray size. * Move Handler into sub-module. * Add CriticalSection sub-module for architecture dependent support of interrupt-free contexts. * Add build rules to pull in cortex-m support for CriticalSection automatically.
Diffstat (limited to 'tests/compile-fail/mutable.rs')
-rw-r--r--tests/compile-fail/mutable.rs51
1 files changed, 0 insertions, 51 deletions
diff --git a/tests/compile-fail/mutable.rs b/tests/compile-fail/mutable.rs
deleted file mode 100644
index e888503..0000000
--- a/tests/compile-fail/mutable.rs
+++ /dev/null
@@ -1,51 +0,0 @@
-extern crate clint;
-
-use clint::Handler;
-
-static mut HANDLER: Handler = Handler::new();
-
-fn main() {
- need_move();
- borrow_error();
- no_borrow_needed();
-}
-
-fn need_move() {
- let x = vec![1, 2, 3];
- let c = || {
- //~^ ERROR closure may outlive
- println!("x(h-c): {:?}", x);
- };
- unsafe {
- HANDLER.replace(&c);
- HANDLER.call();
- HANDLER.call();
- }
- println!("x(h-o): {:?}", x);
-}
-
-fn borrow_error() {
- let x = vec![1, 2, 3];
- let c = move || {
- println!("x(h-c): {:?}", x);
- };
- unsafe {
- HANDLER.replace(&c);
- HANDLER.call();
- HANDLER.call();
- }
- println!("x(h-o): {:?}", x); //~ ERROR borrow of moved value
-}
-
-fn no_borrow_needed() {
- let x = vec![1, 2, 3];
- let c = || {
- println!("x(h-c): hi!");
- };
- unsafe {
- HANDLER.replace(&c);
- HANDLER.call();
- HANDLER.call();
- }
- println!("x(h-o): {:?}", x);
-}