আমি ত্রুটি বুঝতে পারি না cannot move out of borrowed content
। আমি এটি বহুবার পেয়েছি এবং আমি সর্বদা এটি সমাধান করেছি, তবে কেন আমি বুঝতে পারি নি।
উদাহরণ স্বরূপ:
for line in self.xslg_file.iter() {
self.buffer.clear();
for current_char in line.into_bytes().iter() {
self.buffer.push(*current_char as char);
}
println!("{}", line);
}
ত্রুটি উত্পাদন করে:
error[E0507]: cannot move out of borrowed content
--> src/main.rs:31:33
|
31 | for current_char in line.into_bytes().iter() {
| ^^^^ cannot move out of borrowed content
মরিচের নতুন সংস্করণগুলিতে ত্রুটিটি
error[E0507]: cannot move out of `*line` which is behind a shared reference
--> src/main.rs:31:33
|
31 | for current_char in line.into_bytes().iter() {
| ^^^^ move occurs because `*line` has type `std::string::String`, which does not implement the `Copy` trait
আমি এটি ক্লোন করে সমাধান করেছি line
:
for current_char in line.clone().into_bytes().iter() {
অন্য পোস্টগুলি পড়ার পরেও ত্রুটিটি আমি বুঝতে পারি না:
- নিজের থেকে ফাইল পরিবর্তন করতে পারছেন না (ত্রুটিযুক্ত ফাইল: ধার করা সামগ্রীর বাইরে চলে যেতে পারে না)
- মরিচায় একটি গাছে নোড পরিবর্তন করা
এ জাতীয় ত্রুটির উত্স কী?
.as_bytes()
as_bytes()
এটি ক্লোনিং ছাড়াই কাজ করে । কিন্তু আমি এখনও বুঝতে পারছি না কেন?
.bytes()
পদ্ধতিটি সরবরাহ করে ))