মরিচা 1.78 ইতিমধ্যে প্রকাশিত হয়েছে এবং এটি এর খবর

মরিচা লোগো

মরিচা একটি বহু-দৃষ্টান্ত, সাধারণ-উদ্দেশ্য, সংকলিত প্রোগ্রামিং ভাষা।

Rust 1.78 এর নতুন সংস্করণ ইতিমধ্যেই প্রকাশিত হয়েছে এবং নতুন বৈশিষ্ট্য বাস্তবায়িত হয়, সেইসাথে কিছু API এর স্থিতিশীলতা, পণ্যসম্ভারে উন্নতি এবং আরও অনেক কিছু।

যারা এই প্রোগ্রামিং ল্যাঙ্গুয়েজ সম্পর্কে জানেন না, তাদের এটা জানা উচিত মেমরি নিরাপত্তার উপর দৃষ্টি নিবদ্ধ করে এবং উচ্চ সমান্তরালতা অর্জনের উপায় প্রদান করে আবর্জনা সংগ্রাহক এবং রানটাইম ব্যবহার এড়ানোর সময় চাকরির (রানটাইম প্রাথমিক প্রাথমিককরণ এবং স্ট্যান্ডার্ড লাইব্রেরি রক্ষণাবেক্ষণে হ্রাস করা হয়)।

Rust 1.78 এর প্রধান নতুন বৈশিষ্ট্য

এই নতুন সংস্করণ দ্বারা উপস্থাপিত মরিচা 1.78 উইন্ডোজ 10 এর জন্য তার ন্যূনতম প্রয়োজনীয়তা বাড়িয়েছে, এর পাশাপাশি LLVM 18 ব্যবহার করার জন্য কম্পাইলার পরিবর্তন করা হয়েছিল. x18-86 এবং x32-86 আর্কিটেকচারের জন্য LLVM 64 ব্যবহার করার সময়, u128 এবং i128 প্রকারের সাথে যুক্ত ABI পরিবর্তন করা হয়েছে।

পরিবর্তনগুলি সম্পর্কে, একটি বৈশিষ্ট্য যা দাঁড়িয়েছে তা হল মরিচা এখন একটি অ্যাট্রিবিউট নেমস্পেস সমর্থন করে  «#[নির্ণয়]", কি উত্পাদিত ত্রুটি বার্তা প্রভাবিত করার একটি উপায় প্রদান করে কম্পাইলার দ্বারা। এগুলিকে ইঙ্গিত হিসাবে বিবেচনা করা হয় যে কম্পাইলার ব্যবহার করার প্রয়োজন নেই, বা এটি একটি ডায়াগনস্টিক প্রদান করার জন্য একটি ত্রুটি যা কম্পাইলার চিনতে পারে না। এই সমস্ত কম্পাইলার দ্বারা সমর্থিত না হলেও সোর্স কোডকে ডায়াগনস্টিক প্রদান করার অনুমতি দেয়, ভিন্ন সংস্করণ বা সম্পূর্ণ ভিন্ন বাস্তবায়ন।

উপরন্তু, কার্গোতে একটি গ্লোবাল ক্যাশে স্থিতিশীল করা হয়েছে যা সাম্প্রতিকতম ডেটা ব্যবহার সম্পর্কে তথ্য সংরক্ষণ করে। এই ক্যাশে অবস্থিত $CARGO_HOME/.global-cache এবং এর বাস্তবায়নের জন্য SQLite ব্যবহার করে। এটি স্বয়ংক্রিয়ভাবে সূচক, ক্রেট ফাইল, কোড ডিরেক্টরি, গিট ক্লোন এবং গিট চেকআউটের সর্বশেষ পরিবর্তনগুলি প্রতিফলিত করার জন্য আপডেট হয়, যা উন্নয়ন প্রকল্পগুলিতে নির্ভরতা পরিচালনার ক্রিয়াকলাপগুলির দক্ষতা এবং গতি উন্নত করে।

মরিচা 1.78 এর আরেকটি নতুন বৈশিষ্ট্য হল যে রাস্ট স্ট্যান্ডার্ড লাইব্রেরি রয়েছে অনিরাপদ ফাংশন পূর্বশর্ত জন্য বিভিন্ন বিবৃতি যা এখন কোড জেনারেশন পর্যন্ত স্থগিত করা যেতে পারে। এটি এই চেকগুলি চালানোর অনুমতি দেয় ঐতিহাসিকভাবে তারা শুধুমাত্র নির্মাণ সক্রিয় করা হয়েছে «#[cfg(debug_asssertions)]» রিলিজ সংস্করণে কর্মক্ষমতা প্রভাবিত এড়াতে। এই পরিবর্তনের সাথে, ব্যবহারকারীরা এখন তাদের কোডে অনির্ধারিত আচরণ সনাক্ত করতে পারে, যদিও কতটা চেক করা হয়েছে তার বিশদ বিবরণ সাধারণত স্থিতিশীল নয়। চেক সক্রিয় করতে, কোডের পরীক্ষা বা ডিবাগ বিল্ডের জন্য ডিবাগ দাবী সক্রিয় করা এখন যথেষ্ট।

তা ছাড়াও এখন স্ট্যান্ডার্ড লাইব্রেরি ফাংশন আচরণ যে পয়েন্টার এবং সেক্টরের প্রান্তিককরণ প্রভাবিত করে এটি এখন রানটাইমে অনুমানযোগ্য এবং ইনপুট ডেটার উপর নির্ভর করে। ফাংশন পয়েন্টার:: align_offset, যা পয়েন্টার সারিবদ্ধ করার জন্য অফসেট গণনা করে এখন ফিরে আসে ব্যবহার করুন::MAX শুধুমাত্র অপারেশন ব্যর্থ হলে। ফাংশন slice::align_to এবং slice::align_to_mut, যা স্লাইসকে একটি সারিবদ্ধ মধ্যম স্লাইস এবং আসল শুরু এবং শেষ স্লাইস সহ একটি উপস্থাপনায় রূপান্তরিত করে, এখন সর্বদা বৃহত্তম মধ্যম অংশটি ফেরত দেয়।

অন্যদিকে উল্লেখ করা হয়েছে যে নিম্নলিখিত APIগুলিকে "স্থির" বিভাগে সরানো হয়েছে৷: impl &Stdin এর জন্য পড়ুন, থেকে impl io::ত্রুটির জন্য এবং বাস্তবায়ন impl যা ব্যবহারের অনুমতি দেয় মাপের.

এর অন্যান্য পরিবর্তন যা স্ট্যান্ড আউট এই নতুন সংস্করণ:

  • Add wasm32-wasip1 টার্গেট প্ল্যাটফর্মের জন্য দ্বিতীয় স্তরের সমর্থন কার্যকর করা হয়েছে। সমর্থন দ্বিতীয় স্তর একটি সমাবেশ গ্যারান্টি জড়িত.
  • wasm32-wasi-preview1-threads প্ল্যাটফর্মের নাম পরিবর্তন করে wasm32-wasip1-থ্রেড করা হয়েছে।
  • কার্গো প্যাকেজ ম্যানেজারে, লক ফাইলের সংস্করণ 4 (লকফাইল v4) স্থিতিশীল করা হয়েছে। কার্গো এখন এই সংস্করণটিকে একটি মান হিসাবে ব্যবহার করে যাতে প্রকল্পগুলি জুড়ে নির্ভরতাগুলির ধারাবাহিকতা এবং দক্ষ পরিচালনা নিশ্চিত করা যায়।

যদি হয় এটি সম্পর্কে আরও জানতে আগ্রহী, আপনি বিশদটি পরীক্ষা করতে পারেন নিম্নলিখিত লিঙ্ক।

অবশেষে যারা আছেন তাদের জন্য জং এর পূর্ববর্তী সংস্করণ থেকে আপগ্রেড করতে আগ্রহী রাস্টআপের মাধ্যমে ইনস্টল করা হয়েছে, আপনি এর সাথে রাস্ট 1.78 এর নতুন সংস্করণ পেতে পারেন:

rustup update stable

আপনি যদি ইতিমধ্যে আপনার সিস্টেমে মরিচা ইনস্টল না করে থাকেন তবে আপনি একটি টার্মিনালে নিম্নলিখিত কমান্ডটি চালিয়ে তা করতে পারেন:

curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh