From 11597fa3301f3abb390e697e6920693f45923838 Mon Sep 17 00:00:00 2001 From: Fabian Schmidt Date: Tue, 20 Feb 2024 11:41:21 +0100 Subject: [PATCH] Non-working example on how to fix ownership --- Cargo.lock | 7 +++++++ src/bin/notworking.rs | 24 ++++++++++++++++++++++++ src/main.rs | 3 --- 3 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 Cargo.lock create mode 100644 src/bin/notworking.rs delete mode 100644 src/main.rs diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..f54a652 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "rcrefcell" +version = "0.1.0" diff --git a/src/bin/notworking.rs b/src/bin/notworking.rs new file mode 100644 index 0000000..63bcedd --- /dev/null +++ b/src/bin/notworking.rs @@ -0,0 +1,24 @@ +fn c(f: F) { + f(); +} + +fn main() { + let v = vec![1, 2, 3]; + + c({ + let mut v = v.clone(); + move || { + println!("inner 1: {:?}", v); + v.push(4); + } + }); + c({ + let mut v = v.clone(); + move || { + println!("inner 2: {:?}", v); + v.push(5); + } + }); + + println!("outer: {:?}", v); +} diff --git a/src/main.rs b/src/main.rs deleted file mode 100644 index e7a11a9..0000000 --- a/src/main.rs +++ /dev/null @@ -1,3 +0,0 @@ -fn main() { - println!("Hello, world!"); -}