ప్రచురించబడింది సిస్టమ్ ప్రోగ్రామింగ్ భాష విడుదల రస్ట్ 1.43, మొజిల్లా ప్రాజెక్ట్ ద్వారా స్థాపించబడింది. భాష మెమరీ భద్రతపై దృష్టి పెడుతుంది, ఆటోమేటిక్ మెమరీ నిర్వహణను అందిస్తుంది మరియు చెత్త సేకరించే యంత్రాన్ని ఉపయోగించకుండా అధిక పని సమాంతరతను సాధించడానికి సాధనాలను అందిస్తుంది మరియు రన్టైమ్.
రస్ట్ యొక్క ఆటోమేటిక్ మెమరీ మేనేజ్మెంట్ డెవలపర్ను పాయింటర్ మానిప్యులేషన్ నుండి విముక్తి చేస్తుంది మరియు తక్కువ-స్థాయి మెమరీ మానిప్యులేషన్ నుండి ఉత్పన్నమయ్యే సమస్యల నుండి రక్షిస్తుంది, ఉదాహరణకు ఫ్రీ-ఫ్రీ మెమరీ యాక్సెస్లు, శూన్య పాయింటర్ డెరిఫరెన్స్లు, బఫర్ ఓవర్రన్లు మరియు వంటివి. లైబ్రరీలను పంపిణీ చేయడానికి, అసెంబ్లీని నిర్ధారించడానికి మరియు ప్రాజెక్ట్ ద్వారా డిపెండెన్సీలను నిర్వహించడానికి ప్యాకేజీ మేనేజర్ అభివృద్ధి చేయబడుతోంది. సరుకు, ప్రోగ్రామ్కు అవసరమైన లైబ్రరీలను ఒకే క్లిక్లో పొందడానికి మిమ్మల్ని అనుమతిస్తుంది. లైబ్రరీలను హోస్ట్ చేయడానికి రిపోజిటరీకి మద్దతు ఉంది crates.io.
మాక్రోలు మూలకాల శకలాలను లక్షణాలు (లక్షణం), అమలులు (impl) లేదా బాహ్య బ్లాక్ల కోసం కోడ్గా మార్చడానికి వాటిని ఉపయోగించే సామర్థ్యాన్ని అందిస్తాయి. ఉదాహరణకి:
స్థూల_నియమాలు! mac_trait {
($i:అంశం) => {
లక్షణం T { $i }
}
}
mac_trait! {
fn foo() {}
}
తరానికి దారి తీస్తుంది:
లక్షణం T {
fn foo() {}
}
ఆదిమాంశాలు, సూచనలు మరియు బైనరీ కార్యకలాపాల యొక్క మెరుగైన రకం గుర్తింపు.
ఉదాహరణకు, మునుపు ఎర్రర్కు కారణమైన కింది కోడ్ ఇప్పుడు కంపైల్ చేయగలదు (రస్ట్ ఇప్పుడు 0.0 మరియు &0.0 తప్పనిసరిగా f32 రకంగా ఉండాలని నిర్ధారిస్తుంది):
వీలు n: f32 = 0.0 + &0.0;
కార్గోకు కొత్త ఎన్విరాన్మెంట్ వేరియబుల్ CARGO_BIN_EXE_{name} జోడించబడింది, ఇది ఇంటిగ్రేషన్ పరీక్షలను రూపొందించేటప్పుడు సెట్ చేయబడుతుంది మరియు ప్యాకేజీలోని “[[bin]]” విభాగంలో నిర్వచించబడిన ఎక్జిక్యూటబుల్ ఫైల్కు పూర్తి మార్గాన్ని నిర్ణయించడానికి మిమ్మల్ని అనుమతిస్తుంది.
స్టేట్మెంట్లు "#[cfg()]" వంటి లక్షణాలను ఉపయోగించడానికి అనుమతించబడితే.
లైబ్రరీ మాడ్యూల్ను దిగుమతి చేయకుండా నేరుగా పూర్ణాంకం మరియు భిన్న రకాల కోసం అనుబంధిత స్థిరాంకాలను ఉపయోగించగల సామర్థ్యాన్ని అందిస్తుంది. ఉదాహరణకు, మీరు వెంటనే u32::MAX లేదా f32::NAN అని వ్రాయవచ్చు, ముందుగా "std::u32 ఉపయోగించండి" మరియు "std::f32ని ఉపయోగించండి" అని పేర్కొనకుండా.
కొత్త మాడ్యూల్ జోడించబడింది ఆదిమ, ఇది రస్ట్ ఆదిమ రకాలను తిరిగి ఎగుమతి చేస్తుంది, ఉదాహరణకు మీరు స్థూలాన్ని వ్రాయవలసి వచ్చినప్పుడు మరియు రకాలు దాచబడకుండా చూసుకోవాలి.
APIల యొక్క కొత్త భాగం స్థిరీకరించబడిన వాటితో సహా స్థిరమైన వర్గానికి బదిలీ చేయబడింది
ఒకసారి:: పూర్తయింది,
f32::LOG10_2,
f32::LOG2_10,
f64::LOG10_2,
f64::LOG2_10 మరియు
iter::ఒకసారి_తో.