[{"data":1,"prerenderedAt":2837},["ShallowReactive",2],{"navbar-data":3,"footer-data":11,"post-page-getting-started-rust":13,"notion-page-8987f689-1469-45b9-a156-42bc8115f96c":2835},{"contentPages":4,"social":8},[5],{"title":6,"slug":7},"About","about",{"github":9,"x":10},"https://github.com/hyf0/musubi","https://x.com/_hyf0",{"author":12},"Musubi Team",{"websiteTitle":14,"post":15},"Musubi - A Notion CMS Blog Framework",{"meta":16,"recordMap":24},{"pageId":17,"title":18,"slug":19,"date":20,"description":21,"tags":22},"8987f689-1469-45b9-a156-42bc8115f96c","Getting Started with Rust","getting-started-rust","2024-03-15","",[23],"TEMP",{"block":25,"collection":2677,"collection_view":2791,"notion_user":2832,"collection_query":2833,"signed_urls":2834},{"8987f689-1469-45b9-a156-42bc8115f96c":26,"2d0fe8dd-acd6-81ff-bfc5-f9bbd873cc36":176,"2d0fe8dd-acd6-80a5-b773-c49f06baa29c":215,"2c07ecfd-e28f-4c91-a5b5-8e9c8c352850":217,"46b9510f-d38a-4434-9f9d-2b9b108de604":242,"fb40ee4d-5812-4c26-bc49-218a33cf5cbf":265,"eb5ee51f-8f73-4007-a0be-7280e76bfd17":300,"5178a15b-f09f-455c-84ce-2e3e29e9635e":341,"08972014-f136-4df7-97dd-5239fae0697a":380,"a3de0755-59b5-4f5d-8844-6431449d1347":419,"26d13bee-0858-4356-960d-3fd7866628f8":456,"b3ebf821-737e-466d-9482-ca2365e0c1e3":496,"1b4f9519-43ce-4fe3-bfd8-ef78d9f21ea7":526,"2a9daa20-fb94-4e41-ae7e-5f94bc646688":546,"d70a32d7-70dd-4d6c-9969-b3196eaae388":566,"15de1037-6917-4f56-a564-f4c02bc78a6b":587,"8d4d39d0-ab7b-4ce7-a2d1-a4ea2650405d":607,"c518ac9e-4813-4e84-8dbb-7b7f56194415":627,"656c19b0-99c9-4f1a-920c-cd1814459d54":649,"79323d8b-b677-453b-b794-3d22b3c724e4":672,"95f0fbb5-20c3-4f7a-831d-3118e75d37fa":721,"ab2eb3c1-438d-4031-81b4-8f80cca33bfb":741,"e01c1841-56cf-4a03-a3a6-88ba07e54898":780,"da19fcf8-1e80-4250-97b4-f0670d3e1f0f":817,"5271f444-da54-4add-bd44-b522b010046c":854,"936f2081-b928-49f7-9587-ed88cf1bcce4":875,"f1bac920-7af1-404d-bbf1-79debb597193":898,"bff9931e-e93d-4c25-b4a8-ace57fa20e0a":920,"c1e8e812-82a7-4bf1-9e71-f2141917d391":942,"2efa934c-02e9-44ff-aef7-c4f255f36985":963,"a68115d9-3042-41ce-933f-d1d04d69620b":983,"cfd9204e-d75a-4919-98ab-a6729d685729":1006,"4a521ec4-2173-4f77-af27-ea70c1404c45":1026,"ede07b08-9635-46af-867f-d6bcc190a42d":1073,"26411f4b-2b70-41d1-a181-89fbd30d023a":1126,"8bdaadbb-6875-49be-9dcb-16756bdd9988":1150,"03a03db8-72a6-4499-bd7f-549cfde7cf76":1180,"1d4011e6-b853-4f0a-8702-dd850299cf51":1202,"42a9af9f-66a2-4b12-ab1b-284c2ef12ac3":1223,"6359d2cb-b58e-449d-92ca-eaca16ede0ab":1244,"5a1d0387-98c1-4553-89e4-39ce3985671f":1265,"cac61a7f-0b71-4269-852d-12aefccb5188":1288,"07db4819-a837-45ad-a505-8625b1ee145b":1309,"070ae2c1-d8db-4c7b-87bd-45e9e1ee4e9e":1332,"2744b7b2-ae1d-4a7f-a34e-b7145566e9dc":1353,"8692f0ad-a44a-40db-8b3a-017b286ef346":1376,"a94d0785-f357-4112-a812-f30931dc276b":1397,"27d22f2f-f649-43df-ac88-51315bdc8dc0":1420,"33abc30d-54a4-4577-ac46-28e9a30bb1d4":1441,"33c0ecac-0bb9-4c7e-9ecd-a491235b12f8":1462,"2f671872-690a-477f-aa38-298702fcfd57":1483,"f0104127-d444-49eb-8ed5-2e5e5ed87a42":1505,"ee9f41d9-abcf-4982-aaa9-8c3f16bcf383":1525,"7c9b6c7d-2398-4144-9485-b4bbf096b5c2":1546,"883d5ecb-6522-4f0b-bdf5-b784ef40bf07":1567,"4459f6b9-6240-415b-912e-374c7f9e2d19":1590,"e69a6cee-4486-457f-8a10-1a6558f190e6":1611,"d2d7acbf-7abd-49f2-9312-ef498c3ce038":1634,"8edb7493-ec36-431d-b3d3-9e9435fbc94d":1655,"83e21f27-0408-4a92-a4b6-8bc2f01f21ca":1678,"45c6a864-d59f-48a5-9ebd-df1d0e580120":1715,"3869eca6-ae92-440c-8ee5-57f3282ca6f0":1736,"02af9443-b4ea-4863-900f-a0286ab31187":1757,"10670b9f-8d6a-4643-ab08-850476e01541":1806,"ac6c2d61-4acf-4977-9486-70a43794f60f":1827,"c0e3560a-1b44-4f37-a9ae-cce118e98db4":1850,"23cee292-dd59-40f3-9a22-ce37509ec881":1871,"b8e76d88-62f8-4575-b317-e6ff6f7354e0":1935,"8eedca82-e943-42bd-bd72-974dbc0a13ac":1958,"07c4b9b0-33df-4027-9eb1-8daa8cd1b3ef":1999,"d55a6925-b2c3-4b1d-be05-42792d29ea8a":2022,"8a7a8844-d118-4f28-9e8b-5fa2cbbb55c7":2043,"fb6c4b6f-bc6b-41c8-bfc2-d26445d75d24":2092,"40e28484-3216-4865-9559-3004e57f55d4":2113,"bbaded67-0333-4cd0-9f4c-26a3758cb0d3":2134,"0fe89f00-ec65-4011-933d-95dc0092608d":2157,"0449a666-5fa0-4b20-8803-0f53b3101440":2178,"6e2cfc06-0532-4992-9426-e58d2a13065d":2201,"708c28b3-5b69-4bc1-93f6-5912ba443911":2222,"32fdba7b-8fc5-496c-a5ae-174cc7eec2b1":2245,"0433e685-e850-4e99-b0f3-363b5519c741":2266,"ab8f5a9c-6ba3-41aa-88b4-32a8e5c2227a":2296,"e01dcfab-4a0f-4608-b062-bb9f884d2894":2333,"4c6e883c-1205-4c05-8bf5-99fb1c28f5ed":2365,"2ba3f50e-da66-452a-b3d6-6091ed5c74b2":2402,"6a1667da-5499-4ee1-9968-cf12ece264a3":2432,"a39fff1b-9096-4fa5-a201-5acce5f91098":2452,"87570373-a48f-40fb-9f8d-d531ae43e32c":2472,"f448aa26-43f9-40d0-a570-8de8e2607449":2492,"56c574ce-de04-4fd8-8b94-b7342f0cef66":2512,"1204945a-e621-41c3-beeb-327b75141d36":2532,"a107661b-7290-4aa8-bd82-cc1bd325b7fa":2562,"f2088d97-cfed-418c-928f-2c8d68604e40":2582,"d352efce-170b-47d3-916b-b5c6631daf4f":2602,"065380b9-1c43-49fd-88b7-4eb1c836eb20":2622,"536b7ba1-2af6-4173-a253-fae042444f3c":2642,"4010ae4c-4173-4af6-afca-630ac3f90cc3":2656},{"value":27,"role":175},{"id":17,"version":28,"type":29,"properties":30,"content":54,"created_time":149,"last_edited_time":150,"parent_id":151,"parent_table":152,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":156},28,"page",{"A\u003Cgx":31,"dp_o":33,"title":41,"0d131b96-a11a-4078-85a2-06eef84c7be6":43,"10243cf2-965e-450d-99ee-dc6076017363":45,"c832da20-339d-4a80-9a7b-62f98d5a8996":48,"ece115aa-d10f-4ea0-83b3-ea2a43e6e71e":51},[32],[19],[34],[35,36],"‣",[37],[38,39],"d",{"type":40,"start_date":20},"date",[42],[18],[44],[23],[46],[47],"An introduction to Rust programming language, covering basic concepts and setup.",[49],[50],"Post",[52],[53],"Published",[55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148],"2c07ecfd-e28f-4c91-a5b5-8e9c8c352850","46b9510f-d38a-4434-9f9d-2b9b108de604","fb40ee4d-5812-4c26-bc49-218a33cf5cbf","eb5ee51f-8f73-4007-a0be-7280e76bfd17","5178a15b-f09f-455c-84ce-2e3e29e9635e","08972014-f136-4df7-97dd-5239fae0697a","a3de0755-59b5-4f5d-8844-6431449d1347","26d13bee-0858-4356-960d-3fd7866628f8","b3ebf821-737e-466d-9482-ca2365e0c1e3","1b4f9519-43ce-4fe3-bfd8-ef78d9f21ea7","2a9daa20-fb94-4e41-ae7e-5f94bc646688","d70a32d7-70dd-4d6c-9969-b3196eaae388","15de1037-6917-4f56-a564-f4c02bc78a6b","8d4d39d0-ab7b-4ce7-a2d1-a4ea2650405d","c518ac9e-4813-4e84-8dbb-7b7f56194415","656c19b0-99c9-4f1a-920c-cd1814459d54","79323d8b-b677-453b-b794-3d22b3c724e4","95f0fbb5-20c3-4f7a-831d-3118e75d37fa","ab2eb3c1-438d-4031-81b4-8f80cca33bfb","e01c1841-56cf-4a03-a3a6-88ba07e54898","da19fcf8-1e80-4250-97b4-f0670d3e1f0f","5271f444-da54-4add-bd44-b522b010046c","936f2081-b928-49f7-9587-ed88cf1bcce4","f1bac920-7af1-404d-bbf1-79debb597193","bff9931e-e93d-4c25-b4a8-ace57fa20e0a","c1e8e812-82a7-4bf1-9e71-f2141917d391","2efa934c-02e9-44ff-aef7-c4f255f36985","a68115d9-3042-41ce-933f-d1d04d69620b","cfd9204e-d75a-4919-98ab-a6729d685729","4a521ec4-2173-4f77-af27-ea70c1404c45","ede07b08-9635-46af-867f-d6bcc190a42d","26411f4b-2b70-41d1-a181-89fbd30d023a","8bdaadbb-6875-49be-9dcb-16756bdd9988","03a03db8-72a6-4499-bd7f-549cfde7cf76","1d4011e6-b853-4f0a-8702-dd850299cf51","42a9af9f-66a2-4b12-ab1b-284c2ef12ac3","6359d2cb-b58e-449d-92ca-eaca16ede0ab","5a1d0387-98c1-4553-89e4-39ce3985671f","cac61a7f-0b71-4269-852d-12aefccb5188","07db4819-a837-45ad-a505-8625b1ee145b","070ae2c1-d8db-4c7b-87bd-45e9e1ee4e9e","2744b7b2-ae1d-4a7f-a34e-b7145566e9dc","8692f0ad-a44a-40db-8b3a-017b286ef346","a94d0785-f357-4112-a812-f30931dc276b","27d22f2f-f649-43df-ac88-51315bdc8dc0","33abc30d-54a4-4577-ac46-28e9a30bb1d4","33c0ecac-0bb9-4c7e-9ecd-a491235b12f8","2f671872-690a-477f-aa38-298702fcfd57","f0104127-d444-49eb-8ed5-2e5e5ed87a42","ee9f41d9-abcf-4982-aaa9-8c3f16bcf383","7c9b6c7d-2398-4144-9485-b4bbf096b5c2","883d5ecb-6522-4f0b-bdf5-b784ef40bf07","4459f6b9-6240-415b-912e-374c7f9e2d19","e69a6cee-4486-457f-8a10-1a6558f190e6","d2d7acbf-7abd-49f2-9312-ef498c3ce038","8edb7493-ec36-431d-b3d3-9e9435fbc94d","83e21f27-0408-4a92-a4b6-8bc2f01f21ca","45c6a864-d59f-48a5-9ebd-df1d0e580120","3869eca6-ae92-440c-8ee5-57f3282ca6f0","02af9443-b4ea-4863-900f-a0286ab31187","10670b9f-8d6a-4643-ab08-850476e01541","ac6c2d61-4acf-4977-9486-70a43794f60f","c0e3560a-1b44-4f37-a9ae-cce118e98db4","23cee292-dd59-40f3-9a22-ce37509ec881","b8e76d88-62f8-4575-b317-e6ff6f7354e0","8eedca82-e943-42bd-bd72-974dbc0a13ac","07c4b9b0-33df-4027-9eb1-8daa8cd1b3ef","d55a6925-b2c3-4b1d-be05-42792d29ea8a","8a7a8844-d118-4f28-9e8b-5fa2cbbb55c7","fb6c4b6f-bc6b-41c8-bfc2-d26445d75d24","40e28484-3216-4865-9559-3004e57f55d4","bbaded67-0333-4cd0-9f4c-26a3758cb0d3","0fe89f00-ec65-4011-933d-95dc0092608d","0449a666-5fa0-4b20-8803-0f53b3101440","6e2cfc06-0532-4992-9426-e58d2a13065d","708c28b3-5b69-4bc1-93f6-5912ba443911","32fdba7b-8fc5-496c-a5ae-174cc7eec2b1","0433e685-e850-4e99-b0f3-363b5519c741","ab8f5a9c-6ba3-41aa-88b4-32a8e5c2227a","e01dcfab-4a0f-4608-b062-bb9f884d2894","4c6e883c-1205-4c05-8bf5-99fb1c28f5ed","2ba3f50e-da66-452a-b3d6-6091ed5c74b2","6a1667da-5499-4ee1-9968-cf12ece264a3","a39fff1b-9096-4fa5-a201-5acce5f91098","87570373-a48f-40fb-9f8d-d531ae43e32c","f448aa26-43f9-40d0-a570-8de8e2607449","56c574ce-de04-4fd8-8b94-b7342f0cef66","1204945a-e621-41c3-beeb-327b75141d36","a107661b-7290-4aa8-bd82-cc1bd325b7fa","f2088d97-cfed-418c-928f-2c8d68604e40","d352efce-170b-47d3-916b-b5c6631daf4f","065380b9-1c43-49fd-88b7-4eb1c836eb20","536b7ba1-2af6-4173-a253-fae042444f3c","4010ae4c-4173-4af6-afca-630ac3f90cc3",1766329830450,1768238749057,"2d0fe8dd-acd6-81fb-8702-000b039af795","collection",true,"06bac834-b24d-4b4f-af9c-4d73cb389dd0",1,{"title":157},{"r":158,"n":159},"bud2auW_QC6cpVvQLrEsYA,\"start\",\"end\"",{"bud2auW_QC6cpVvQLrEsYA,\"start\",\"end\"":160},{"s":161,"c":174},{"x":162,"i":163,"l":21},"bud2auW_QC6cpVvQLrEsYA",[164,166,172],{"t":165},"s",{"t":167,"i":168,"o":170,"l":171,"c":18},"t",[169,155],"b8ZD8Ojmg_4o","start",25,{"t":173},"e",[],"reader",{"value":177,"role":175},{"id":178,"version":179,"type":180,"view_ids":181,"collection_id":151,"format":183,"permissions":192,"created_time":197,"last_edited_time":198,"parent_id":199,"parent_table":190,"alive":153,"copied_from":189,"file_ids":200,"space_id":154,"crdt_format_version":155,"crdt_data":204},"2d0fe8dd-acd6-81ff-bfc5-f9bbd873cc36",68,"collection_view",[182],"2d0fe8dd-acd6-81fb-891c-000c60c5b153",{"site_id":184,"collection_pointer":185,"collection_pointers":186,"copied_from_pointer":188,"social_media_image_preview_url":191},"2d0fe8dd-acd6-809e-a1e4-007926ec3d98",{"id":151,"table":152,"spaceId":154},[187],{"id":151,"table":152,"spaceId":154},{"id":189,"table":190,"spaceId":154},"292fe8dd-acd6-80ac-b0c5-d1872b1260e9","block","attachment:ae8d6f37-b809-4ce2-a89c-36a4b693a60d:SocialMediaPreviewImage.png",[193],{"role":175,"type":194,"is_site":153,"added_timestamp":195,"allow_duplicate":196},"public_permission",1766329928526,false,1766327873676,1768240166165,"2d0fe8dd-acd6-80a5-b773-c49f06baa29c",[201,202,203],"68b3ef2c-c20f-4105-9881-cf0a5c512267","8f837990-35ce-47be-a870-fa1104f06eac","ae8d6f37-b809-4ce2-a89c-36a4b693a60d",{"title":205},{"r":206,"n":207},"sS4tAf89MD13_NKXo1NMNg,\"start\",\"end\"",{"sS4tAf89MD13_NKXo1NMNg,\"start\",\"end\"":208},{"s":209,"c":214},{"x":210,"i":211,"l":21},"sS4tAf89MD13_NKXo1NMNg",[212,213],{"t":165},{"t":173},[],{"role":216},"none",{"value":218,"role":175},{"id":55,"version":219,"type":220,"properties":221,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":227},5,"text",{"title":222},[223],[224],"Rust is a systems programming language that combines low-level control with high-level ergonomics. It guarantees memory safety without a garbage collector, making it ideal for performance-critical applications.",1766331619715,1766331665446,{"title":228},{"r":229,"n":230},"6SmATNhHPDBSpiW4PnsYuQ,\"start\",\"end\"",{"6SmATNhHPDBSpiW4PnsYuQ,\"start\",\"end\"":231},{"s":232,"c":241},{"x":233,"i":234,"l":21},"6SmATNhHPDBSpiW4PnsYuQ",[235,236,240],{"t":165},{"t":167,"i":237,"o":170,"l":239,"c":224},[238,155],"Fm-uDMwul8Nn",210,{"t":173},[],{"value":243,"role":175},{"id":56,"version":219,"type":244,"properties":245,"format":249,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":250},"sub_header",{"title":246},[247],[248],"Why Rust?",{"toggleable":196},{"title":251},{"r":252,"n":253},"RqjJwXTj09lXfT1IvmbpYA,\"start\",\"end\"",{"RqjJwXTj09lXfT1IvmbpYA,\"start\",\"end\"":254},{"s":255,"c":264},{"x":256,"i":257,"l":21},"RqjJwXTj09lXfT1IvmbpYA",[258,259,263],{"t":165},{"t":167,"i":260,"o":170,"l":262,"c":248},[261,155],"w3rppivkQBAJ",9,{"t":173},[],{"value":266,"role":175},{"id":57,"version":219,"type":220,"properties":267,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":274},{"title":268},[269],[270,271],"Key advantages:",[272],[273],"b",{"title":275},{"r":276,"n":277},"CRKvsKAy5FWK35n3AFmarA,\"start\",\"end\"",{"CRKvsKAy5FWK35n3AFmarA,\"start\",\"end\"":278},{"s":279,"c":299},{"x":280,"i":281,"l":21},"CRKvsKAy5FWK35n3AFmarA",[282,283,297],{"t":165},{"t":167,"i":284,"o":170,"l":286,"c":270,"b":287},[285,155],"jS1KtUw0xzC5",15,[288],{"t":289,"x":280,"l":21,"i":290,"s":292,"e":294,"a":296},"a",[285,291],16,{"i":293,"a":273},[285,155],{"i":295,"a":273},"end",[273],{"t":173,"b":298},[],[],{"value":301,"role":175},{"id":58,"version":219,"type":302,"properties":303,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":311},"bulleted_list",{"title":304},[305,309],[306,307],"Memory safety",[308],[273],[310]," without garbage collection",{"title":312},{"r":313,"n":314},"1W7OVon9Hp_BmagrcH1_Gw,\"start\",\"end\"",{"1W7OVon9Hp_BmagrcH1_Gw,\"start\",\"end\"":315},{"s":316,"c":340},{"x":317,"i":318,"l":21},"1W7OVon9Hp_BmagrcH1_Gw",[319,320,334,339],{"t":165},{"t":167,"i":321,"o":170,"l":323,"c":306,"b":324},[322,155],"GbNyw4F8drNf",13,[325],{"t":289,"x":317,"l":21,"i":326,"s":328,"e":330,"a":333},[322,327],41,{"i":329,"a":273},[322,155],{"i":331,"a":273},[322,332],14,[273],{"t":167,"i":335,"o":336,"l":337,"c":310,"b":338},[322,332],[322,323],27,[],{"t":173},[],{"value":342,"role":175},{"id":59,"version":219,"type":302,"properties":343,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":351},{"title":344},[345,349],[346,347],"Zero-cost abstractions",[348],[273],[350]," for performance",{"title":352},{"r":353,"n":354},"75bTfnFIaT2saNFlnB3dVQ,\"start\",\"end\"",{"75bTfnFIaT2saNFlnB3dVQ,\"start\",\"end\"":355},{"s":356,"c":379},{"x":357,"i":358,"l":21},"75bTfnFIaT2saNFlnB3dVQ",[359,360,374,378],{"t":165},{"t":167,"i":361,"o":170,"l":363,"c":346,"b":364},[362,155],"TskJQvBxi-Xp",22,[365],{"t":289,"x":357,"l":21,"i":366,"s":368,"e":370,"a":373},[362,367],39,{"i":369,"a":273},[362,155],{"i":371,"a":273},[362,372],23,[273],{"t":167,"i":375,"o":376,"l":291,"c":350,"b":377},[362,372],[362,363],[],{"t":173},[],{"value":381,"role":175},{"id":60,"version":219,"type":302,"properties":382,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":390},{"title":383},[384,388],[385,386],"Fearless concurrency",[387],[273],[389]," with compile-time checks",{"title":391},{"r":392,"n":393},"0aJ9OAkIh93GKGroVRcA0g,\"start\",\"end\"",{"0aJ9OAkIh93GKGroVRcA0g,\"start\",\"end\"":394},{"s":395,"c":418},{"x":396,"i":397,"l":21},"0aJ9OAkIh93GKGroVRcA0g",[398,399,413,417],{"t":165},{"t":167,"i":400,"o":170,"l":402,"c":385,"b":403},[401,155],"HqqLw-Mn56Wt",20,[404],{"t":289,"x":396,"l":21,"i":405,"s":407,"e":409,"a":412},[401,406],46,{"i":408,"a":273},[401,155],{"i":410,"a":273},[401,411],21,[273],{"t":167,"i":414,"o":415,"l":171,"c":389,"b":416},[401,411],[401,402],[],{"t":173},[],{"value":420,"role":175},{"id":61,"version":219,"type":302,"properties":421,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":429},{"title":422},[423,427],[424,425],"Great tooling",[426],[273],[428]," with Cargo and rustfmt",{"title":430},{"r":431,"n":432},"reBxaLuVBjwu-TRuwBfU6g,\"start\",\"end\"",{"reBxaLuVBjwu-TRuwBfU6g,\"start\",\"end\"":433},{"s":434,"c":455},{"x":435,"i":436,"l":21},"reBxaLuVBjwu-TRuwBfU6g",[437,438,450,454],{"t":165},{"t":167,"i":439,"o":170,"l":323,"c":424,"b":441},[440,155],"E4t9LQXPSVf3",[442],{"t":289,"x":435,"l":21,"i":443,"s":445,"e":447,"a":449},[440,444],37,{"i":446,"a":273},[440,155],{"i":448,"a":273},[440,332],[273],{"t":167,"i":451,"o":452,"l":372,"c":428,"b":453},[440,332],[440,323],[],{"t":173},[],{"value":457,"role":175},{"id":62,"version":219,"type":302,"properties":458,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":466},{"title":459},[460,464],[461,462],"Growing ecosystem",[463],[273],[465]," for web, embedded, and systems work",{"title":467},{"r":468,"n":469},"eEVizZNCZNituiXjGJHoSg,\"start\",\"end\"",{"eEVizZNCZNituiXjGJHoSg,\"start\",\"end\"":470},{"s":471,"c":495},{"x":472,"i":473,"l":21},"eEVizZNCZNituiXjGJHoSg",[474,475,489,494],{"t":165},{"t":167,"i":476,"o":170,"l":478,"c":461,"b":479},[477,155],"WYogKbO9S4PI",17,[480],{"t":289,"x":472,"l":21,"i":481,"s":483,"e":485,"a":488},[477,482],54,{"i":484,"a":273},[477,155],{"i":486,"a":273},[477,487],18,[273],{"t":167,"i":490,"o":491,"l":492,"c":465,"b":493},[477,487],[477,478],36,[],{"t":173},[],{"value":497,"role":175},{"id":63,"version":219,"type":220,"properties":498,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":504},{"title":499},[500],[501,502],"Common use cases:",[503],[273],{"title":505},{"r":506,"n":507},"r7L7iKgrpbbvKS6nL490IQ,\"start\",\"end\"",{"r7L7iKgrpbbvKS6nL490IQ,\"start\",\"end\"":508},{"s":509,"c":525},{"x":510,"i":511,"l":21},"r7L7iKgrpbbvKS6nL490IQ",[512,513,523],{"t":165},{"t":167,"i":514,"o":170,"l":478,"c":501,"b":516},[515,155],"3yLPdIi8Lnkz",[517],{"t":289,"x":510,"l":21,"i":518,"s":519,"e":521,"a":522},[515,487],{"i":520,"a":273},[515,155],{"i":295,"a":273},[273],{"t":173,"b":524},[],[],{"value":527,"role":175},{"id":64,"version":219,"type":302,"properties":528,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":532},{"title":529},[530],[531],"Web tooling and build systems (like Rolldown!)",{"title":533},{"r":534,"n":535},"CUDnLkpTf6UQCWFP1OjhVw,\"start\",\"end\"",{"CUDnLkpTf6UQCWFP1OjhVw,\"start\",\"end\"":536},{"s":537,"c":545},{"x":538,"i":539,"l":21},"CUDnLkpTf6UQCWFP1OjhVw",[540,541,544],{"t":165},{"t":167,"i":542,"o":170,"l":406,"c":531},[543,155],"ySf9ZAppPwPX",{"t":173},[],{"value":547,"role":175},{"id":65,"version":219,"type":302,"properties":548,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":552},{"title":549},[550],[551],"Command-line tools",{"title":553},{"r":554,"n":555},"K9ahtzc8I_J-9AO8Rzu1Xw,\"start\",\"end\"",{"K9ahtzc8I_J-9AO8Rzu1Xw,\"start\",\"end\"":556},{"s":557,"c":565},{"x":558,"i":559,"l":21},"K9ahtzc8I_J-9AO8Rzu1Xw",[560,561,564],{"t":165},{"t":167,"i":562,"o":170,"l":487,"c":551},[563,155],"Jkfs2mECiqjf",{"t":173},[],{"value":567,"role":175},{"id":66,"version":219,"type":302,"properties":568,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":572},{"title":569},[570],[571],"WebAssembly modules",{"title":573},{"r":574,"n":575},"pJch0Xwnu5PXDJfBSlptqA,\"start\",\"end\"",{"pJch0Xwnu5PXDJfBSlptqA,\"start\",\"end\"":576},{"s":577,"c":586},{"x":578,"i":579,"l":21},"pJch0Xwnu5PXDJfBSlptqA",[580,581,585],{"t":165},{"t":167,"i":582,"o":170,"l":584,"c":571},[583,155],"cvqoKG4DI3Bp",19,{"t":173},[],{"value":588,"role":175},{"id":67,"version":219,"type":302,"properties":589,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":593},{"title":590},[591],[592],"Embedded systems",{"title":594},{"r":595,"n":596},"mARMBS1xwSzxuXLZ_C-fQA,\"start\",\"end\"",{"mARMBS1xwSzxuXLZ_C-fQA,\"start\",\"end\"":597},{"s":598,"c":606},{"x":599,"i":600,"l":21},"mARMBS1xwSzxuXLZ_C-fQA",[601,602,605],{"t":165},{"t":167,"i":603,"o":170,"l":291,"c":592},[604,155],"k9oAq2tU8F-8",{"t":173},[],{"value":608,"role":175},{"id":68,"version":219,"type":302,"properties":609,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":613},{"title":610},[611],[612],"Network services",{"title":614},{"r":615,"n":616},"di8SuZq2rfZMTFxkBIGgFg,\"start\",\"end\"",{"di8SuZq2rfZMTFxkBIGgFg,\"start\",\"end\"":617},{"s":618,"c":626},{"x":619,"i":620,"l":21},"di8SuZq2rfZMTFxkBIGgFg",[621,622,625],{"t":165},{"t":167,"i":623,"o":170,"l":291,"c":612},[624,155],"8X_NN7gJB8Tm",{"t":173},[],{"value":628,"role":175},{"id":69,"version":219,"type":244,"properties":629,"format":633,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":634},{"title":630},[631],[632],"Installation",{"toggleable":196},{"title":635},{"r":636,"n":637},"3XwXyXNenwvPwfslX_jRJA,\"start\",\"end\"",{"3XwXyXNenwvPwfslX_jRJA,\"start\",\"end\"":638},{"s":639,"c":648},{"x":640,"i":641,"l":21},"3XwXyXNenwvPwfslX_jRJA",[642,643,647],{"t":165},{"t":167,"i":644,"o":170,"l":646,"c":632},[645,155],"GFTKDejNfgIW",12,{"t":173},[],{"value":650,"role":175},{"id":70,"version":219,"type":651,"properties":652,"format":656,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":657},"sub_sub_header",{"title":653},[654],[655],"Install Rust with rustup",{"toggleable":196},{"title":658},{"r":659,"n":660},"1Kd21JWv4NMd_-pugzI8BQ,\"start\",\"end\"",{"1Kd21JWv4NMd_-pugzI8BQ,\"start\",\"end\"":661},{"s":662,"c":671},{"x":663,"i":664,"l":21},"1Kd21JWv4NMd_-pugzI8BQ",[665,666,670],{"t":165},{"t":167,"i":667,"o":170,"l":669,"c":655},[668,155],"rxXa9gjiMXUg",24,{"t":173},[],{"value":673,"role":175},{"id":71,"version":219,"type":674,"properties":675,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":688},"code",{"title":676,"language":685},[677,679,683],[678],"curl --proto '=https' --tlsv1.2 -sSf ",[680,681],"https://sh.rustup.rs",[682],[289,680],[684]," | sh",[686],[687],"Bash",{"title":689},{"r":690,"n":691},"1Sfk6sSy4Trlcts2-YKfaQ,\"start\",\"end\"",{"1Sfk6sSy4Trlcts2-YKfaQ,\"start\",\"end\"":692},{"s":693,"c":720},{"x":694,"i":695,"l":21},"1Sfk6sSy4Trlcts2-YKfaQ",[696,697,700,715,719],{"t":165},{"t":167,"i":698,"o":170,"l":444,"c":678},[699,155],"Gkulw0IXRCwM",{"t":167,"i":701,"o":703,"l":402,"c":680,"b":704,"a":714},[699,702],38,[699,444],[705],{"t":289,"x":694,"l":21,"i":706,"s":708,"e":710,"a":713},[699,707],63,{"i":709,"a":273},[699,702],{"i":711,"a":289},[699,712],57,[289,680],[],{"t":167,"i":716,"o":718,"l":219,"c":684},[699,717],58,[699,712],{"t":173},[],{"value":722,"role":175},{"id":72,"version":219,"type":220,"properties":723,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":727},{"title":724},[725],[726],"This installs:",{"title":728},{"r":729,"n":730},"sKlYj6WDWfOWocmQA4pCxQ,\"start\",\"end\"",{"sKlYj6WDWfOWocmQA4pCxQ,\"start\",\"end\"":731},{"s":732,"c":740},{"x":733,"i":734,"l":21},"sKlYj6WDWfOWocmQA4pCxQ",[735,736,739],{"t":165},{"t":167,"i":737,"o":170,"l":332,"c":726},[738,155],"DbXW24gthDXr",{"t":173},[],{"value":742,"role":175},{"id":73,"version":219,"type":302,"properties":743,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":752},{"title":744},[745,750],[746,747],"rustc",[748],[749],"c",[751]," (the Rust compiler)",{"title":753},{"r":754,"n":755},"fgC6FRqNM5FEDgLhUi1MbA,\"start\",\"end\"",{"fgC6FRqNM5FEDgLhUi1MbA,\"start\",\"end\"":756},{"s":757,"c":779},{"x":758,"i":759,"l":21},"fgC6FRqNM5FEDgLhUi1MbA",[760,761,774,778],{"t":165},{"t":167,"i":762,"o":170,"l":219,"c":746,"b":764,"a":773},[763,155],"J5E8a0atxhkI",[765],{"t":289,"x":758,"l":21,"i":766,"s":768,"e":770,"a":772},[763,767],26,{"i":769,"a":273},[763,155],{"i":771,"a":289},[763,219],[749],[],{"t":167,"i":775,"o":777,"l":402,"c":751},[763,776],6,[763,219],{"t":173},[],{"value":781,"role":175},{"id":74,"version":219,"type":302,"properties":782,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":790},{"title":783},[784,788],[785,786],"cargo",[787],[749],[789]," (package manager and build tool)",{"title":791},{"r":792,"n":793},"tkgztZ-Gkj4QAiewE7joog,\"start\",\"end\"",{"tkgztZ-Gkj4QAiewE7joog,\"start\",\"end\"":794},{"s":795,"c":816},{"x":796,"i":797,"l":21},"tkgztZ-Gkj4QAiewE7joog",[798,799,811,815],{"t":165},{"t":167,"i":800,"o":170,"l":219,"c":785,"b":802,"a":810},[801,155],"hILM5AM8sQCO",[803],{"t":289,"x":796,"l":21,"i":804,"s":805,"e":807,"a":809},[801,367],{"i":806,"a":273},[801,155],{"i":808,"a":289},[801,219],[749],[],{"t":167,"i":812,"o":813,"l":814,"c":789},[801,776],[801,219],33,{"t":173},[],{"value":818,"role":175},{"id":75,"version":219,"type":302,"properties":819,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":827},{"title":820},[821,825],[822,823],"rustup",[824],[749],[826]," (toolchain manager)",{"title":828},{"r":829,"n":830},"dMIrlTRU4z8NPcM4M-NOtw,\"start\",\"end\"",{"dMIrlTRU4z8NPcM4M-NOtw,\"start\",\"end\"":831},{"s":832,"c":853},{"x":833,"i":834,"l":21},"dMIrlTRU4z8NPcM4M-NOtw",[835,836,848,852],{"t":165},{"t":167,"i":837,"o":170,"l":776,"c":822,"b":839,"a":847},[838,155],"_xRzPxc4fqkW",[840],{"t":289,"x":833,"l":21,"i":841,"s":842,"e":844,"a":846},[838,337],{"i":843,"a":273},[838,155],{"i":845,"a":289},[838,776],[749],[],{"t":167,"i":849,"o":851,"l":402,"c":826},[838,850],7,[838,776],{"t":173},[],{"value":855,"role":175},{"id":76,"version":219,"type":651,"properties":856,"format":860,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":861},{"title":857},[858],[859],"Verify installation",{"toggleable":196},{"title":862},{"r":863,"n":864},"H18uh52iAQ5KP-nlCnqUxg,\"start\",\"end\"",{"H18uh52iAQ5KP-nlCnqUxg,\"start\",\"end\"":865},{"s":866,"c":874},{"x":867,"i":868,"l":21},"H18uh52iAQ5KP-nlCnqUxg",[869,870,873],{"t":165},{"t":167,"i":871,"o":170,"l":584,"c":859},[872,155],"8nps5GKLpH42",{"t":173},[],{"value":876,"role":175},{"id":77,"version":219,"type":674,"properties":877,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":883},{"title":878,"language":881},[879],[880],"rustc --version\ncargo --version",[882],[687],{"title":884},{"r":885,"n":886},"Jtht6W3k6Ojw-Sw2NLaEFA,\"start\",\"end\"",{"Jtht6W3k6Ojw-Sw2NLaEFA,\"start\",\"end\"":887},{"s":888,"c":897},{"x":889,"i":890,"l":21},"Jtht6W3k6Ojw-Sw2NLaEFA",[891,892,896],{"t":165},{"t":167,"i":893,"o":170,"l":895,"c":880},[894,155],"pzBCAZTCVWB5",31,{"t":173},[],{"value":899,"role":175},{"id":78,"version":219,"type":651,"properties":900,"format":904,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":905},{"title":901},[902],[903],"Update Rust",{"toggleable":196},{"title":906},{"r":907,"n":908},"e-ECsQqLUAcw6yXlSCwiFA,\"start\",\"end\"",{"e-ECsQqLUAcw6yXlSCwiFA,\"start\",\"end\"":909},{"s":910,"c":919},{"x":911,"i":912,"l":21},"e-ECsQqLUAcw6yXlSCwiFA",[913,914,918],{"t":165},{"t":167,"i":915,"o":170,"l":917,"c":903},[916,155],"h82PqL_V5MNf",11,{"t":173},[],{"value":921,"role":175},{"id":79,"version":219,"type":674,"properties":922,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":928},{"title":923,"language":926},[924],[925],"rustup update",[927],[687],{"title":929},{"r":930,"n":931},"QFAZYnyltl3Xwj1jUPgJ3Q,\"start\",\"end\"",{"QFAZYnyltl3Xwj1jUPgJ3Q,\"start\",\"end\"":932},{"s":933,"c":941},{"x":934,"i":935,"l":21},"QFAZYnyltl3Xwj1jUPgJ3Q",[936,937,940],{"t":165},{"t":167,"i":938,"o":170,"l":323,"c":925},[939,155],"dFvWpelN6Zo6",{"t":173},[],{"value":943,"role":175},{"id":80,"version":219,"type":244,"properties":944,"format":948,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":949},{"title":945},[946],[947],"Your First Rust Program",{"toggleable":196},{"title":950},{"r":951,"n":952},"NrOXE3IaIXwXeVXpzScxtw,\"start\",\"end\"",{"NrOXE3IaIXwXeVXpzScxtw,\"start\",\"end\"":953},{"s":954,"c":962},{"x":955,"i":956,"l":21},"NrOXE3IaIXwXeVXpzScxtw",[957,958,961],{"t":165},{"t":167,"i":959,"o":170,"l":372,"c":947},[960,155],"PhcCmXxnq4Qr",{"t":173},[],{"value":964,"role":175},{"id":81,"version":219,"type":220,"properties":965,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":969},{"title":966},[967],[968],"Create a new project:",{"title":970},{"r":971,"n":972},"lqgk5yWS-XCmLGRIZ5kN9g,\"start\",\"end\"",{"lqgk5yWS-XCmLGRIZ5kN9g,\"start\",\"end\"":973},{"s":974,"c":982},{"x":975,"i":976,"l":21},"lqgk5yWS-XCmLGRIZ5kN9g",[977,978,981],{"t":165},{"t":167,"i":979,"o":170,"l":411,"c":968},[980,155],"UnLO0kIatZ_r",{"t":173},[],{"value":984,"role":175},{"id":82,"version":219,"type":674,"properties":985,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":991},{"title":986,"language":989},[987],[988],"cargo new hello_rust\ncd hello_rust",[990],[687],{"title":992},{"r":993,"n":994},"NrPpKxkUbtSYw8GRGoJ_CQ,\"start\",\"end\"",{"NrPpKxkUbtSYw8GRGoJ_CQ,\"start\",\"end\"":995},{"s":996,"c":1005},{"x":997,"i":998,"l":21},"NrPpKxkUbtSYw8GRGoJ_CQ",[999,1000,1004],{"t":165},{"t":167,"i":1001,"o":170,"l":1003,"c":988},[1002,155],"MqD6H8o2Zkc-",34,{"t":173},[],{"value":1007,"role":175},{"id":83,"version":219,"type":220,"properties":1008,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1012},{"title":1009},[1010],[1011],"This creates:",{"title":1013},{"r":1014,"n":1015},"Go2lfdQ0pAz9QGJVk-Z08g,\"start\",\"end\"",{"Go2lfdQ0pAz9QGJVk-Z08g,\"start\",\"end\"":1016},{"s":1017,"c":1025},{"x":1018,"i":1019,"l":21},"Go2lfdQ0pAz9QGJVk-Z08g",[1020,1021,1024],{"t":165},{"t":167,"i":1022,"o":170,"l":323,"c":1011},[1023,155],"DRnxxq0F7I9Y",{"t":173},[],{"value":1027,"role":175},{"id":84,"version":219,"type":674,"properties":1028,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1039},{"title":1029},[1030,1032,1037],[1031],"hello_rust/\n├── Cargo.toml    # Project metadata and dependencies\n└── src/\n    └── ",[1033,1034],"main.rs",[1035],[289,1036],"http://main.rs",[1038],"   # Your code",{"title":1040},{"r":1041,"n":1042},"ryA9kKW6SBVW7sW1aHuczg,\"start\",\"end\"",{"ryA9kKW6SBVW7sW1aHuczg,\"start\",\"end\"":1043},{"s":1044,"c":1072},{"x":1045,"i":1046,"l":21},"ryA9kKW6SBVW7sW1aHuczg",[1047,1048,1052,1067,1071],{"t":165},{"t":167,"i":1049,"o":170,"l":1051,"c":1031},[1050,155],"5Nb3Vgh9owRE",83,{"t":167,"i":1053,"o":1055,"l":850,"c":1033,"b":1056,"a":1066},[1050,1054],84,[1050,1051],[1057],{"t":289,"x":1045,"l":21,"i":1058,"s":1060,"e":1062,"a":1065},[1050,1059],105,{"i":1061,"a":273},[1050,1054],{"i":1063,"a":289},[1050,1064],90,[289,1036],[],{"t":167,"i":1068,"o":1070,"l":332,"c":1038},[1050,1069],91,[1050,1064],{"t":173},[],{"value":1074,"role":175},{"id":85,"version":219,"type":220,"properties":1075,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1085},{"title":1076},[1077,1081],[1033,1078],[1079,1080],[289,1036],[273],[1082,1083],":",[1084],[273],{"title":1086},{"r":1087,"n":1088},"c0zhPSNUsYewFmeEI5x8cg,\"start\",\"end\"",{"c0zhPSNUsYewFmeEI5x8cg,\"start\",\"end\"":1089},{"s":1090,"c":1125},{"x":1091,"i":1092,"l":21},"c0zhPSNUsYewFmeEI5x8cg",[1093,1094,1119,1123],{"t":165},{"t":167,"i":1095,"o":170,"l":850,"c":1033,"b":1097,"a":1112},[1096,155],"ANw2pXdz0SXW",[1098,1105],{"t":289,"x":1091,"l":21,"i":1099,"s":1100,"e":1102,"a":1104},[1096,262],{"i":1101,"a":273},[1096,155],{"i":1103,"a":289},[1096,850],[289,1036],{"t":289,"x":1091,"l":21,"i":1106,"s":1108,"e":1110,"a":1111},[1096,1107],10,{"i":1109,"a":273},[1096,155],{"i":295,"a":273},[273],[1113],{"t":289,"x":1091,"l":21,"i":1114,"s":1115,"e":1117,"a":1118},[1096,1107],{"i":1116,"a":273},[1096,155],{"i":295,"a":273},[273],{"t":167,"i":1120,"o":1122,"l":155,"c":1082},[1096,1121],8,[1096,850],{"t":173,"b":1124},[],[],{"value":1127,"role":175},{"id":86,"version":219,"type":674,"properties":1128,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1135},{"title":1129,"language":1132},[1130],[1131],"fn main() {\n    println!(\"Hello, world!\");\n}",[1133],[1134],"Rust",{"title":1136},{"r":1137,"n":1138},"chxj5N4VcysUVYs3HfcJ_Q,\"start\",\"end\"",{"chxj5N4VcysUVYs3HfcJ_Q,\"start\",\"end\"":1139},{"s":1140,"c":1149},{"x":1141,"i":1142,"l":21},"chxj5N4VcysUVYs3HfcJ_Q",[1143,1144,1148],{"t":165},{"t":167,"i":1145,"o":170,"l":1147,"c":1131},[1146,155],"gGnP9bUD5q8D",44,{"t":173},[],{"value":1151,"role":175},{"id":87,"version":219,"type":220,"properties":1152,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1158},{"title":1153},[1154],[1155,1156],"Run it:",[1157],[273],{"title":1159},{"r":1160,"n":1161},"6LBsM7HlQQoMMkb4ZaOw6Q,\"start\",\"end\"",{"6LBsM7HlQQoMMkb4ZaOw6Q,\"start\",\"end\"":1162},{"s":1163,"c":1179},{"x":1164,"i":1165,"l":21},"6LBsM7HlQQoMMkb4ZaOw6Q",[1166,1167,1177],{"t":165},{"t":167,"i":1168,"o":170,"l":850,"c":1155,"b":1170},[1169,155],"phubEbvYFox5",[1171],{"t":289,"x":1164,"l":21,"i":1172,"s":1173,"e":1175,"a":1176},[1169,1121],{"i":1174,"a":273},[1169,155],{"i":295,"a":273},[273],{"t":173,"b":1178},[],[],{"value":1181,"role":175},{"id":88,"version":219,"type":674,"properties":1182,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1188},{"title":1183,"language":1186},[1184],[1185],"cargo run",[1187],[687],{"title":1189},{"r":1190,"n":1191},"5Zvcb9PREJY0k7OtXeVarg,\"start\",\"end\"",{"5Zvcb9PREJY0k7OtXeVarg,\"start\",\"end\"":1192},{"s":1193,"c":1201},{"x":1194,"i":1195,"l":21},"5Zvcb9PREJY0k7OtXeVarg",[1196,1197,1200],{"t":165},{"t":167,"i":1198,"o":170,"l":262,"c":1185},[1199,155],"PykYRtEDXark",{"t":173},[],{"value":1203,"role":175},{"id":89,"version":219,"type":244,"properties":1204,"format":1208,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1209},{"title":1205},[1206],[1207],"Rust Fundamentals",{"toggleable":196},{"title":1210},{"r":1211,"n":1212},"rMc0kJINum9UY9TJOYGXsA,\"start\",\"end\"",{"rMc0kJINum9UY9TJOYGXsA,\"start\",\"end\"":1213},{"s":1214,"c":1222},{"x":1215,"i":1216,"l":21},"rMc0kJINum9UY9TJOYGXsA",[1217,1218,1221],{"t":165},{"t":167,"i":1219,"o":170,"l":478,"c":1207},[1220,155],"1_F7xeOQywd7",{"t":173},[],{"value":1224,"role":175},{"id":90,"version":219,"type":651,"properties":1225,"format":1229,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1230},{"title":1226},[1227],[1228],"Variables and Mutability",{"toggleable":196},{"title":1231},{"r":1232,"n":1233},"Ed4_-j7QzCVtV-IB4y0Rag,\"start\",\"end\"",{"Ed4_-j7QzCVtV-IB4y0Rag,\"start\",\"end\"":1234},{"s":1235,"c":1243},{"x":1236,"i":1237,"l":21},"Ed4_-j7QzCVtV-IB4y0Rag",[1238,1239,1242],{"t":165},{"t":167,"i":1240,"o":170,"l":669,"c":1228},[1241,155],"WP0xUbwE9-Nb",{"t":173},[],{"value":1245,"role":175},{"id":91,"version":219,"type":220,"properties":1246,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1250},{"title":1247},[1248],[1249],"Variables are immutable by default:",{"title":1251},{"r":1252,"n":1253},"ygpXmaU3dpS56AFWtE4Tag,\"start\",\"end\"",{"ygpXmaU3dpS56AFWtE4Tag,\"start\",\"end\"":1254},{"s":1255,"c":1264},{"x":1256,"i":1257,"l":21},"ygpXmaU3dpS56AFWtE4Tag",[1258,1259,1263],{"t":165},{"t":167,"i":1260,"o":170,"l":1262,"c":1249},[1261,155],"1_ncP-tEwED1",35,{"t":173},[],{"value":1266,"role":175},{"id":92,"version":219,"type":674,"properties":1267,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1273},{"title":1268,"language":1271},[1269],[1270],"let x = 5;\n// x = 6;  // Error: cannot assign twice to immutable variable\n\nlet mut y = 5;\ny = 6;  // OK: y is mutable",[1272],[1134],{"title":1274},{"r":1275,"n":1276},"0f7HleO-TLHEYJ0Qp4C5Fw,\"start\",\"end\"",{"0f7HleO-TLHEYJ0Qp4C5Fw,\"start\",\"end\"":1277},{"s":1278,"c":1287},{"x":1279,"i":1280,"l":21},"0f7HleO-TLHEYJ0Qp4C5Fw",[1281,1282,1286],{"t":165},{"t":167,"i":1283,"o":170,"l":1285,"c":1270},[1284,155],"VPqD4aKh66G2",117,{"t":173},[],{"value":1289,"role":175},{"id":93,"version":219,"type":651,"properties":1290,"format":1294,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1295},{"title":1291},[1292],[1293],"Data Types",{"toggleable":196},{"title":1296},{"r":1297,"n":1298},"v3RpWHPvdvQCcuxA0FmMJQ,\"start\",\"end\"",{"v3RpWHPvdvQCcuxA0FmMJQ,\"start\",\"end\"":1299},{"s":1300,"c":1308},{"x":1301,"i":1302,"l":21},"v3RpWHPvdvQCcuxA0FmMJQ",[1303,1304,1307],{"t":165},{"t":167,"i":1305,"o":170,"l":1107,"c":1293},[1306,155],"pdfgje6VQBMZ",{"t":173},[],{"value":1310,"role":175},{"id":94,"version":219,"type":674,"properties":1311,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1317},{"title":1312,"language":1315},[1313],[1314],"// Integers\nlet a: i32 = 42;        // 32-bit signed\nlet b: u64 = 100;       // 64-bit unsigned\n\n// Floats\nlet c: f64 = 3.14;\n\n// Boolean\nlet d: bool = true;\n\n// Characters\nlet e: char = '🦀';\n\n// Tuples\nlet tuple: (i32, f64, char) = (500, 6.4, 'x');\n\n// Arrays\nlet array: [i32; 3] = [1, 2, 3];",[1316],[1134],{"title":1318},{"r":1319,"n":1320},"PLZu3gH9-3PSGFSbsu5R8w,\"start\",\"end\"",{"PLZu3gH9-3PSGFSbsu5R8w,\"start\",\"end\"":1321},{"s":1322,"c":1331},{"x":1323,"i":1324,"l":21},"PLZu3gH9-3PSGFSbsu5R8w",[1325,1326,1330],{"t":165},{"t":167,"i":1327,"o":170,"l":1329,"c":1314},[1328,155],"8iKjOG6pegeS",294,{"t":173},[],{"value":1333,"role":175},{"id":95,"version":219,"type":651,"properties":1334,"format":1338,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1339},{"title":1335},[1336],[1337],"Functions",{"toggleable":196},{"title":1340},{"r":1341,"n":1342},"f-dcCUPaNurHRmAdV7sL4g,\"start\",\"end\"",{"f-dcCUPaNurHRmAdV7sL4g,\"start\",\"end\"":1343},{"s":1344,"c":1352},{"x":1345,"i":1346,"l":21},"f-dcCUPaNurHRmAdV7sL4g",[1347,1348,1351],{"t":165},{"t":167,"i":1349,"o":170,"l":262,"c":1337},[1350,155],"GsPk1VTU2UB4",{"t":173},[],{"value":1354,"role":175},{"id":96,"version":219,"type":674,"properties":1355,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1361},{"title":1356,"language":1359},[1357],[1358],"fn add(x: i32, y: i32) -> i32 {\n    x + y  // No semicolon = return value\n}\n\nfn main() {\n    let result = add(5, 3);\n    println!(\"Result: {}\", result);\n}",[1360],[1134],{"title":1362},{"r":1363,"n":1364},"Z60GsvHLXDt410oMe5UtNg,\"start\",\"end\"",{"Z60GsvHLXDt410oMe5UtNg,\"start\",\"end\"":1365},{"s":1366,"c":1375},{"x":1367,"i":1368,"l":21},"Z60GsvHLXDt410oMe5UtNg",[1369,1370,1374],{"t":165},{"t":167,"i":1371,"o":170,"l":1373,"c":1358},[1372,155],"lbPEjXZ82ePF",154,{"t":173},[],{"value":1377,"role":175},{"id":97,"version":219,"type":651,"properties":1378,"format":1382,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1383},{"title":1379},[1380],[1381],"Control Flow",{"toggleable":196},{"title":1384},{"r":1385,"n":1386},"87OrVLetOP6YJU9ryVyWog,\"start\",\"end\"",{"87OrVLetOP6YJU9ryVyWog,\"start\",\"end\"":1387},{"s":1388,"c":1396},{"x":1389,"i":1390,"l":21},"87OrVLetOP6YJU9ryVyWog",[1391,1392,1395],{"t":165},{"t":167,"i":1393,"o":170,"l":646,"c":1381},[1394,155],"yaCSi15Bq-P1",{"t":173},[],{"value":1398,"role":175},{"id":98,"version":219,"type":674,"properties":1399,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1405},{"title":1400,"language":1403},[1401],[1402],"// if expressions\nlet number = 6;\nif number % 2 == 0 {\n    println!(\"Even\");\n} else {\n    println!(\"Odd\");\n}\n\n// loop\nloop {\n    println!(\"Forever!\");\n    break;  // until we break\n}\n\n// while\nlet mut n = 0;\nwhile n \u003C 5 {\n    n += 1;\n}\n\n// for\nfor i in 0..5 {\n    println!(\"{}\", i);\n}",[1404],[1134],{"title":1406},{"r":1407,"n":1408},"--w7v6-UJIYAkhQuDG_YtA,\"start\",\"end\"",{"--w7v6-UJIYAkhQuDG_YtA,\"start\",\"end\"":1409},{"s":1410,"c":1419},{"x":1411,"i":1412,"l":21},"--w7v6-UJIYAkhQuDG_YtA",[1413,1414,1418],{"t":165},{"t":167,"i":1415,"o":170,"l":1417,"c":1402},[1416,155],"00LQXNKlcQ59",284,{"t":173},[],{"value":1421,"role":175},{"id":99,"version":219,"type":244,"properties":1422,"format":1426,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1427},{"title":1423},[1424],[1425],"Ownership: Rust's Superpower",{"toggleable":196},{"title":1428},{"r":1429,"n":1430},"UtAzPaew7LqdIyJ9nJe5MA,\"start\",\"end\"",{"UtAzPaew7LqdIyJ9nJe5MA,\"start\",\"end\"":1431},{"s":1432,"c":1440},{"x":1433,"i":1434,"l":21},"UtAzPaew7LqdIyJ9nJe5MA",[1435,1436,1439],{"t":165},{"t":167,"i":1437,"o":170,"l":28,"c":1425},[1438,155],"uU9PPD1lHam5",{"t":173},[],{"value":1442,"role":175},{"id":100,"version":219,"type":220,"properties":1443,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1447},{"title":1444},[1445],[1446],"Ownership is Rust's most distinctive feature—it ensures memory safety without a garbage collector.",{"title":1448},{"r":1449,"n":1450},"EQ_gM34GQZbDvYAN1EQzFQ,\"start\",\"end\"",{"EQ_gM34GQZbDvYAN1EQzFQ,\"start\",\"end\"":1451},{"s":1452,"c":1461},{"x":1453,"i":1454,"l":21},"EQ_gM34GQZbDvYAN1EQzFQ",[1455,1456,1460],{"t":165},{"t":167,"i":1457,"o":170,"l":1459,"c":1446},[1458,155],"vkaVvFq9QcDD",98,{"t":173},[],{"value":1463,"role":175},{"id":101,"version":219,"type":651,"properties":1464,"format":1468,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1469},{"title":1465},[1466],[1467],"The Rules",{"toggleable":196},{"title":1470},{"r":1471,"n":1472},"3s7iJJZocrV3D96W6bhGzw,\"start\",\"end\"",{"3s7iJJZocrV3D96W6bhGzw,\"start\",\"end\"":1473},{"s":1474,"c":1482},{"x":1475,"i":1476,"l":21},"3s7iJJZocrV3D96W6bhGzw",[1477,1478,1481],{"t":165},{"t":167,"i":1479,"o":170,"l":262,"c":1467},[1480,155],"bQvkp0K58SYg",{"t":173},[],{"value":1484,"role":175},{"id":102,"version":219,"type":1485,"properties":1486,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1490},"numbered_list",{"title":1487},[1488],[1489],"Each value has a single owner",{"title":1491},{"r":1492,"n":1493},"gtWbB-I_Gzh56RtU66D50Q,\"start\",\"end\"",{"gtWbB-I_Gzh56RtU66D50Q,\"start\",\"end\"":1494},{"s":1495,"c":1504},{"x":1496,"i":1497,"l":21},"gtWbB-I_Gzh56RtU66D50Q",[1498,1499,1503],{"t":165},{"t":167,"i":1500,"o":170,"l":1502,"c":1489},[1501,155],"Z97jY50UgMLg",29,{"t":173},[],{"value":1506,"role":175},{"id":103,"version":219,"type":1485,"properties":1507,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1511},{"title":1508},[1509],[1510],"When the owner goes out of scope, the value is dropped",{"title":1512},{"r":1513,"n":1514},"77BLFB77pu2kuN_Z3hasaQ,\"start\",\"end\"",{"77BLFB77pu2kuN_Z3hasaQ,\"start\",\"end\"":1515},{"s":1516,"c":1524},{"x":1517,"i":1518,"l":21},"77BLFB77pu2kuN_Z3hasaQ",[1519,1520,1523],{"t":165},{"t":167,"i":1521,"o":170,"l":482,"c":1510},[1522,155],"AQzfSvwe6gaW",{"t":173},[],{"value":1526,"role":175},{"id":104,"version":219,"type":1485,"properties":1527,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1531},{"title":1528},[1529],[1530],"Values can be moved or borrowed, but not both",{"title":1532},{"r":1533,"n":1534},"xPFtW57gk4Qdem_A0KAMBQ,\"start\",\"end\"",{"xPFtW57gk4Qdem_A0KAMBQ,\"start\",\"end\"":1535},{"s":1536,"c":1545},{"x":1537,"i":1538,"l":21},"xPFtW57gk4Qdem_A0KAMBQ",[1539,1540,1544],{"t":165},{"t":167,"i":1541,"o":170,"l":1543,"c":1530},[1542,155],"WztVGmaHYbH5",45,{"t":173},[],{"value":1547,"role":175},{"id":105,"version":219,"type":651,"properties":1548,"format":1552,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1553},{"title":1549},[1550],[1551],"Moving Values",{"toggleable":196},{"title":1554},{"r":1555,"n":1556},"CsvZ4co0b0zDcEGe7n3Tbw,\"start\",\"end\"",{"CsvZ4co0b0zDcEGe7n3Tbw,\"start\",\"end\"":1557},{"s":1558,"c":1566},{"x":1559,"i":1560,"l":21},"CsvZ4co0b0zDcEGe7n3Tbw",[1561,1562,1565],{"t":165},{"t":167,"i":1563,"o":170,"l":323,"c":1551},[1564,155],"pG1GvMOgS0Uh",{"t":173},[],{"value":1568,"role":175},{"id":106,"version":219,"type":674,"properties":1569,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1575},{"title":1570,"language":1573},[1571],[1572],"let s1 = String::from(\"hello\");\nlet s2 = s1;  // s1 is moved to s2\n\n// println!(\"{}\", s1);  // Error: s1 is no longer valid\nprintln!(\"{}\", s2);     // OK",[1574],[1134],{"title":1576},{"r":1577,"n":1578},"aFKkr8-kKaqmnrbL7vanxg,\"start\",\"end\"",{"aFKkr8-kKaqmnrbL7vanxg,\"start\",\"end\"":1579},{"s":1580,"c":1589},{"x":1581,"i":1582,"l":21},"aFKkr8-kKaqmnrbL7vanxg",[1583,1584,1588],{"t":165},{"t":167,"i":1585,"o":170,"l":1587,"c":1572},[1586,155],"OamughC1PBI_",153,{"t":173},[],{"value":1591,"role":175},{"id":107,"version":219,"type":651,"properties":1592,"format":1596,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1597},{"title":1593},[1594],[1595],"Borrowing",{"toggleable":196},{"title":1598},{"r":1599,"n":1600},"VSawj5yloQdyPlmD1FC45w,\"start\",\"end\"",{"VSawj5yloQdyPlmD1FC45w,\"start\",\"end\"":1601},{"s":1602,"c":1610},{"x":1603,"i":1604,"l":21},"VSawj5yloQdyPlmD1FC45w",[1605,1606,1609],{"t":165},{"t":167,"i":1607,"o":170,"l":262,"c":1595},[1608,155],"fWY7w7UNTkut",{"t":173},[],{"value":1612,"role":175},{"id":108,"version":219,"type":674,"properties":1613,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1619},{"title":1614,"language":1617},[1615],[1616],"fn calculate_length(s: &String) -> usize {\n    s.len()  // s is borrowed, not owned\n}\n\nfn main() {\n    let s1 = String::from(\"hello\");\n    let len = calculate_length(&s1);  // Borrow s1\n    println!(\"'{}' has length {}\", s1, len);  // s1 still valid\n}",[1618],[1134],{"title":1620},{"r":1621,"n":1622},"RDPD63wG4WlH-gkt2uf7fg,\"start\",\"end\"",{"RDPD63wG4WlH-gkt2uf7fg,\"start\",\"end\"":1623},{"s":1624,"c":1633},{"x":1625,"i":1626,"l":21},"RDPD63wG4WlH-gkt2uf7fg",[1627,1628,1632],{"t":165},{"t":167,"i":1629,"o":170,"l":1631,"c":1616},[1630,155],"X3SvOZe2CQmu",251,{"t":173},[],{"value":1635,"role":175},{"id":109,"version":219,"type":651,"properties":1636,"format":1640,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1641},{"title":1637},[1638],[1639],"Mutable Borrowing",{"toggleable":196},{"title":1642},{"r":1643,"n":1644},"okqY_DU-e-KLFNVSvzq6SQ,\"start\",\"end\"",{"okqY_DU-e-KLFNVSvzq6SQ,\"start\",\"end\"":1645},{"s":1646,"c":1654},{"x":1647,"i":1648,"l":21},"okqY_DU-e-KLFNVSvzq6SQ",[1649,1650,1653],{"t":165},{"t":167,"i":1651,"o":170,"l":478,"c":1639},[1652,155],"V1jJe25YpB1y",{"t":173},[],{"value":1656,"role":175},{"id":110,"version":219,"type":674,"properties":1657,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1663},{"title":1658,"language":1661},[1659],[1660],"fn append_world(s: &mut String) {\n    s.push_str(\", world!\");\n}\n\nfn main() {\n    let mut s = String::from(\"hello\");\n    append_world(&mut s);\n    println!(\"{}\", s);  // \"hello, world!\"\n}",[1662],[1134],{"title":1664},{"r":1665,"n":1666},"ZHNUCyCJbIbAb4-qosa14g,\"start\",\"end\"",{"ZHNUCyCJbIbAb4-qosa14g,\"start\",\"end\"":1667},{"s":1668,"c":1677},{"x":1669,"i":1670,"l":21},"ZHNUCyCJbIbAb4-qosa14g",[1671,1672,1676],{"t":165},{"t":167,"i":1673,"o":170,"l":1675,"c":1660},[1674,155],"FWk6nr_j-YLs",186,{"t":173},[],{"value":1679,"role":175},{"id":111,"version":219,"type":220,"properties":1680,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1688},{"title":1681},[1682,1686],[1683,1684],"Key rule:",[1685],[273],[1687]," You can have either one mutable reference OR multiple immutable references, but not both.",{"title":1689},{"r":1690,"n":1691},"G2cyBm6LWtHIw7U9Qf-w4w,\"start\",\"end\"",{"G2cyBm6LWtHIw7U9Qf-w4w,\"start\",\"end\"":1692},{"s":1693,"c":1714},{"x":1694,"i":1695,"l":21},"G2cyBm6LWtHIw7U9Qf-w4w",[1696,1697,1709,1713],{"t":165},{"t":167,"i":1698,"o":170,"l":262,"c":1683,"b":1700},[1699,155],"VvP1Vy4j4MA8",[1701],{"t":289,"x":1694,"l":21,"i":1702,"s":1704,"e":1706,"a":1708},[1699,1703],100,{"i":1705,"a":273},[1699,155],{"i":1707,"a":273},[1699,1107],[273],{"t":167,"i":1710,"o":1711,"l":1064,"c":1687,"b":1712},[1699,1107],[1699,262],[],{"t":173},[],{"value":1716,"role":175},{"id":112,"version":219,"type":244,"properties":1717,"format":1721,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1722},{"title":1718},[1719],[1720],"Structs and Enums",{"toggleable":196},{"title":1723},{"r":1724,"n":1725},"ppbHReuK6RT8doIwmIzehw,\"start\",\"end\"",{"ppbHReuK6RT8doIwmIzehw,\"start\",\"end\"":1726},{"s":1727,"c":1735},{"x":1728,"i":1729,"l":21},"ppbHReuK6RT8doIwmIzehw",[1730,1731,1734],{"t":165},{"t":167,"i":1732,"o":170,"l":478,"c":1720},[1733,155],"b439l3dL7s2_",{"t":173},[],{"value":1737,"role":175},{"id":113,"version":219,"type":651,"properties":1738,"format":1742,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1743},{"title":1739},[1740],[1741],"Structs",{"toggleable":196},{"title":1744},{"r":1745,"n":1746},"DjH2nYjw_TfnlceWG9Q8pA,\"start\",\"end\"",{"DjH2nYjw_TfnlceWG9Q8pA,\"start\",\"end\"":1747},{"s":1748,"c":1756},{"x":1749,"i":1750,"l":21},"DjH2nYjw_TfnlceWG9Q8pA",[1751,1752,1755],{"t":165},{"t":167,"i":1753,"o":170,"l":850,"c":1741},[1754,155],"GjOgaAwVdhdx",{"t":173},[],{"value":1758,"role":175},{"id":114,"version":219,"type":674,"properties":1759,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1772},{"title":1760,"language":1770},[1761,1763,1768],[1762],"struct User {\n    username: String,\n    email: String,\n    active: bool,\n}\n\nimpl User {\n    fn new(username: String, email: String) -> User {\n        User {\n            username,\n            email,\n            active: true,\n        }\n    }\n    \n    fn deactivate(&mut self) {\n        self.active = false;\n    }\n}\n\nfn main() {\n    let mut user = User::new(\n        String::from(\"alice\"),\n        String::from(\"",[1764,1765],"alice@example.com",[1766],[289,1767],"mailto:alice@example.com",[1769],"\")\n    );\n    \n    user.deactivate();\n}",[1771],[1134],{"title":1773},{"r":1774,"n":1775},"krx3ypd84Dfhrm2bVJ5xlA,\"start\",\"end\"",{"krx3ypd84Dfhrm2bVJ5xlA,\"start\",\"end\"":1776},{"s":1777,"c":1805},{"x":1778,"i":1779,"l":21},"krx3ypd84Dfhrm2bVJ5xlA",[1780,1781,1785,1800,1804],{"t":165},{"t":167,"i":1782,"o":170,"l":1784,"c":1762},[1783,155],"MKTeBW-aSS-f",409,{"t":167,"i":1786,"o":1788,"l":478,"c":1764,"b":1789,"a":1799},[1783,1787],410,[1783,1784],[1790],{"t":289,"x":1778,"l":21,"i":1791,"s":1793,"e":1795,"a":1798},[1783,1792],466,{"i":1794,"a":273},[1783,1787],{"i":1796,"a":289},[1783,1797],426,[289,1767],[],{"t":167,"i":1801,"o":1803,"l":367,"c":1769},[1783,1802],427,[1783,1797],{"t":173},[],{"value":1807,"role":175},{"id":115,"version":219,"type":651,"properties":1808,"format":1812,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1813},{"title":1809},[1810],[1811],"Enums and Pattern Matching",{"toggleable":196},{"title":1814},{"r":1815,"n":1816},"oruRn20wb1lupE24UcJjuw,\"start\",\"end\"",{"oruRn20wb1lupE24UcJjuw,\"start\",\"end\"":1817},{"s":1818,"c":1826},{"x":1819,"i":1820,"l":21},"oruRn20wb1lupE24UcJjuw",[1821,1822,1825],{"t":165},{"t":167,"i":1823,"o":170,"l":767,"c":1811},[1824,155],"dvmfzLAllFlI",{"t":173},[],{"value":1828,"role":175},{"id":116,"version":219,"type":674,"properties":1829,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1835},{"title":1830,"language":1833},[1831],[1832],"enum Message {\n    Quit,\n    Move { x: i32, y: i32 },\n    Write(String),\n}\n\nfn process_message(msg: Message) {\n    match msg {\n        Message::Quit => println!(\"Quit\"),\n        Message::Move { x, y } => println!(\"Move to ({}, {})\", x, y),\n        Message::Write(text) => println!(\"Write: {}\", text),\n    }\n}",[1834],[1134],{"title":1836},{"r":1837,"n":1838},"DBl7bEtJOjc2ejJm1CfQcw,\"start\",\"end\"",{"DBl7bEtJOjc2ejJm1CfQcw,\"start\",\"end\"":1839},{"s":1840,"c":1849},{"x":1841,"i":1842,"l":21},"DBl7bEtJOjc2ejJm1CfQcw",[1843,1844,1848],{"t":165},{"t":167,"i":1845,"o":170,"l":1847,"c":1832},[1846,155],"QIfK7jPpUfO7",308,{"t":173},[],{"value":1851,"role":175},{"id":117,"version":219,"type":651,"properties":1852,"format":1856,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1857},{"title":1853},[1854],[1855],"Option and Result",{"toggleable":196},{"title":1858},{"r":1859,"n":1860},"kdQ4QAv_-iG2i04rdQE7Yg,\"start\",\"end\"",{"kdQ4QAv_-iG2i04rdQE7Yg,\"start\",\"end\"":1861},{"s":1862,"c":1870},{"x":1863,"i":1864,"l":21},"kdQ4QAv_-iG2i04rdQE7Yg",[1865,1866,1869],{"t":165},{"t":167,"i":1867,"o":170,"l":478,"c":1855},[1868,155],"MdPRC_1y6NcZ",{"t":173},[],{"value":1872,"role":175},{"id":118,"version":219,"type":220,"properties":1873,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1888},{"title":1874},[1875,1877,1881,1883,1887],[1876],"Rust has no ",[1878,1879],"null",[1880],[749],[1882],". Instead, use ",[1884,1885],"Option",[1886],[749],[1082],{"title":1889},{"r":1890,"n":1891},"cTvumsZcy9iRYoxNjKewZw,\"start\",\"end\"",{"cTvumsZcy9iRYoxNjKewZw,\"start\",\"end\"":1892},{"s":1893,"c":1934},{"x":1894,"i":1895,"l":21},"cTvumsZcy9iRYoxNjKewZw",[1896,1897,1900,1913,1916,1930,1933],{"t":165},{"t":167,"i":1898,"o":170,"l":646,"c":1876},[1899,155],"0FZFlWPMPSC-",{"t":167,"i":1901,"o":1902,"l":1903,"c":1878,"b":1904,"a":1912},[1899,323],[1899,646],4,[1905],{"t":289,"x":1894,"l":21,"i":1906,"s":1907,"e":1909,"a":1911},[1899,367],{"i":1908,"a":273},[1899,323],{"i":1910,"a":289},[1899,291],[749],[],{"t":167,"i":1914,"o":1915,"l":286,"c":1882},[1899,478],[1899,291],{"t":167,"i":1917,"o":1919,"l":776,"c":1884,"b":1920,"a":1929},[1899,1918],32,[1899,895],[1921],{"t":289,"x":1894,"l":21,"i":1922,"s":1924,"e":1926,"a":1928},[1899,1923],40,{"i":1925,"a":273},[1899,1918],{"i":1927,"a":289},[1899,444],[749],[],{"t":167,"i":1931,"o":1932,"l":155,"c":1082},[1899,702],[1899,444],{"t":173},[],{"value":1936,"role":175},{"id":119,"version":219,"type":674,"properties":1937,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1943},{"title":1938,"language":1941},[1939],[1940],"fn divide(a: i32, b: i32) -> Option\u003Ci32> {\n    if b == 0 {\n        None\n    } else {\n        Some(a / b)\n    }\n}\n\nmatch divide(10, 2) {\n    Some(result) => println!(\"Result: {}\", result),\n    None => println!(\"Cannot divide by zero\"),\n}",[1942],[1134],{"title":1944},{"r":1945,"n":1946},"5XWudYleEeCmqdt2KLTUqg,\"start\",\"end\"",{"5XWudYleEeCmqdt2KLTUqg,\"start\",\"end\"":1947},{"s":1948,"c":1957},{"x":1949,"i":1950,"l":21},"5XWudYleEeCmqdt2KLTUqg",[1951,1952,1956],{"t":165},{"t":167,"i":1953,"o":170,"l":1955,"c":1940},[1954,155],"EPDf2aDVg9Zk",236,{"t":173},[],{"value":1959,"role":175},{"id":120,"version":219,"type":220,"properties":1960,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1969},{"title":1961},[1962,1964,1968],[1963],"For error handling, use ",[1965,1966],"Result",[1967],[749],[1082],{"title":1970},{"r":1971,"n":1972},"o0i6AE1g7qprbxq-hTng4A,\"start\",\"end\"",{"o0i6AE1g7qprbxq-hTng4A,\"start\",\"end\"":1973},{"s":1974,"c":1998},{"x":1975,"i":1976,"l":21},"o0i6AE1g7qprbxq-hTng4A",[1977,1978,1981,1994,1997],{"t":165},{"t":167,"i":1979,"o":170,"l":669,"c":1963},[1980,155],"Ll-Hk-HYv4gI",{"t":167,"i":1982,"o":1983,"l":776,"c":1965,"b":1984,"a":1993},[1980,171],[1980,669],[1985],{"t":289,"x":1975,"l":21,"i":1986,"s":1987,"e":1989,"a":1992},[1980,1918],{"i":1988,"a":273},[1980,171],{"i":1990,"a":289},[1980,1991],30,[749],[],{"t":167,"i":1995,"o":1996,"l":155,"c":1082},[1980,895],[1980,1991],{"t":173},[],{"value":2000,"role":175},{"id":121,"version":219,"type":674,"properties":2001,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2007},{"title":2002,"language":2005},[2003],[2004],"use std::fs::File;\nuse std::io::ErrorKind;\n\nfn open_file() -> Result\u003CFile, std::io::Error> {\n    File::open(\"file.txt\")\n}\n\nmatch open_file() {\n    Ok(file) => println!(\"Opened file\"),\n    Err(error) => match error.kind() {\n        ErrorKind::NotFound => println!(\"File not found\"),\n        other => println!(\"Error: {:?}\", other),\n    },\n}",[2006],[1134],{"title":2008},{"r":2009,"n":2010},"M9_Rd52z9N3JptLWd0b3ng,\"start\",\"end\"",{"M9_Rd52z9N3JptLWd0b3ng,\"start\",\"end\"":2011},{"s":2012,"c":2021},{"x":2013,"i":2014,"l":21},"M9_Rd52z9N3JptLWd0b3ng",[2015,2016,2020],{"t":165},{"t":167,"i":2017,"o":170,"l":2019,"c":2004},[2018,155],"GkyuX3sM0-7D",339,{"t":173},[],{"value":2023,"role":175},{"id":122,"version":219,"type":244,"properties":2024,"format":2028,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2029},{"title":2025},[2026],[2027],"Error Handling Shortcuts",{"toggleable":196},{"title":2030},{"r":2031,"n":2032},"QYItiafqp1L3mMC2a85hQg,\"start\",\"end\"",{"QYItiafqp1L3mMC2a85hQg,\"start\",\"end\"":2033},{"s":2034,"c":2042},{"x":2035,"i":2036,"l":21},"QYItiafqp1L3mMC2a85hQg",[2037,2038,2041],{"t":165},{"t":167,"i":2039,"o":170,"l":669,"c":2027},[2040,155],"XI53Ev0DKXxg",{"t":173},[],{"value":2044,"role":175},{"id":123,"version":219,"type":674,"properties":2045,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2058},{"title":2046,"language":2056},[2047,2049,2054],[2048],"use std::fs::File;\n\n// ? operator propagates errors\nfn read_file() -> Result\u003CString, std::io::Error> {\n    let mut file = File::open(\"file.txt\")?;\n    let mut contents = String::new();\n    ",[2050,2051],"file.read",[2052],[289,2053],"http://file.read",[2055],"_to_string(&mut contents)?;\n    Ok(contents)\n}",[2057],[1134],{"title":2059},{"r":2060,"n":2061},"3o1ZL_i2D-N_-im2119cpA,\"start\",\"end\"",{"3o1ZL_i2D-N_-im2119cpA,\"start\",\"end\"":2062},{"s":2063,"c":2091},{"x":2064,"i":2065,"l":21},"3o1ZL_i2D-N_-im2119cpA",[2066,2067,2071,2086,2090],{"t":165},{"t":167,"i":2068,"o":170,"l":2070,"c":2048},[2069,155],"5s54bWMAuIAN",189,{"t":167,"i":2072,"o":2074,"l":262,"c":2050,"b":2075,"a":2085},[2069,2073],190,[2069,2070],[2076],{"t":289,"x":2064,"l":21,"i":2077,"s":2079,"e":2081,"a":2084},[2069,2078],245,{"i":2080,"a":273},[2069,2073],{"i":2082,"a":289},[2069,2083],198,[289,2053],[],{"t":167,"i":2087,"o":2089,"l":406,"c":2055},[2069,2088],199,[2069,2083],{"t":173},[],{"value":2093,"role":175},{"id":124,"version":219,"type":244,"properties":2094,"format":2098,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2099},{"title":2095},[2096],[2097],"Collections",{"toggleable":196},{"title":2100},{"r":2101,"n":2102},"wq4mxuVM9Mbd0eM-IYVV8g,\"start\",\"end\"",{"wq4mxuVM9Mbd0eM-IYVV8g,\"start\",\"end\"":2103},{"s":2104,"c":2112},{"x":2105,"i":2106,"l":21},"wq4mxuVM9Mbd0eM-IYVV8g",[2107,2108,2111],{"t":165},{"t":167,"i":2109,"o":170,"l":917,"c":2097},[2110,155],"wUQDLLdDKBnN",{"t":173},[],{"value":2114,"role":175},{"id":125,"version":219,"type":651,"properties":2115,"format":2119,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2120},{"title":2116},[2117],[2118],"Vector",{"toggleable":196},{"title":2121},{"r":2122,"n":2123},"TN-luQ1_Y7PISz9kyTbHCQ,\"start\",\"end\"",{"TN-luQ1_Y7PISz9kyTbHCQ,\"start\",\"end\"":2124},{"s":2125,"c":2133},{"x":2126,"i":2127,"l":21},"TN-luQ1_Y7PISz9kyTbHCQ",[2128,2129,2132],{"t":165},{"t":167,"i":2130,"o":170,"l":776,"c":2118},[2131,155],"pvCIDUTpmfPE",{"t":173},[],{"value":2135,"role":175},{"id":126,"version":219,"type":674,"properties":2136,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2142},{"title":2137,"language":2140},[2138],[2139],"let mut v: Vec\u003Ci32> = Vec::new();\nv.push(1);\nv.push(2);\nv.push(3);\n\n// or\nlet v = vec![1, 2, 3];\n\nfor i in &v {\n    println!(\"{}\", i);\n}",[2141],[1134],{"title":2143},{"r":2144,"n":2145},"olgCwuaSpLx3d1uqGzVvLA,\"start\",\"end\"",{"olgCwuaSpLx3d1uqGzVvLA,\"start\",\"end\"":2146},{"s":2147,"c":2156},{"x":2148,"i":2149,"l":21},"olgCwuaSpLx3d1uqGzVvLA",[2150,2151,2155],{"t":165},{"t":167,"i":2152,"o":170,"l":2154,"c":2139},[2153,155],"QVJqj6VCyqKv",136,{"t":173},[],{"value":2158,"role":175},{"id":127,"version":219,"type":651,"properties":2159,"format":2163,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2164},{"title":2160},[2161],[2162],"HashMap",{"toggleable":196},{"title":2165},{"r":2166,"n":2167},"y5y8dXdl7uyoUum2OJvRBA,\"start\",\"end\"",{"y5y8dXdl7uyoUum2OJvRBA,\"start\",\"end\"":2168},{"s":2169,"c":2177},{"x":2170,"i":2171,"l":21},"y5y8dXdl7uyoUum2OJvRBA",[2172,2173,2176],{"t":165},{"t":167,"i":2174,"o":170,"l":850,"c":2162},[2175,155],"FqcEoRMKirY3",{"t":173},[],{"value":2179,"role":175},{"id":128,"version":219,"type":674,"properties":2180,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2186},{"title":2181,"language":2184},[2182],[2183],"use std::collections::HashMap;\n\nlet mut scores = HashMap::new();\nscores.insert(String::from(\"Blue\"), 10);\nscores.insert(String::from(\"Red\"), 50);\n\nmatch scores.get(\"Blue\") {\n    Some(score) => println!(\"Score: {}\", score),\n    None => println!(\"No score\"),\n}",[2185],[1134],{"title":2187},{"r":2188,"n":2189},"XagiILItDduAgtRqekevzA,\"start\",\"end\"",{"XagiILItDduAgtRqekevzA,\"start\",\"end\"":2190},{"s":2191,"c":2200},{"x":2192,"i":2193,"l":21},"XagiILItDduAgtRqekevzA",[2194,2195,2199],{"t":165},{"t":167,"i":2196,"o":170,"l":2198,"c":2183},[2197,155],"1xLpGB63d2ze",258,{"t":173},[],{"value":2202,"role":175},{"id":129,"version":219,"type":244,"properties":2203,"format":2207,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2208},{"title":2204},[2205],[2206],"Common Cargo Commands",{"toggleable":196},{"title":2209},{"r":2210,"n":2211},"tONI4RdAh5F-po44t0T-3A,\"start\",\"end\"",{"tONI4RdAh5F-po44t0T-3A,\"start\",\"end\"":2212},{"s":2213,"c":2221},{"x":2214,"i":2215,"l":21},"tONI4RdAh5F-po44t0T-3A",[2216,2217,2220],{"t":165},{"t":167,"i":2218,"o":170,"l":411,"c":2206},[2219,155],"fq60BRLjy5Ek",{"t":173},[],{"value":2223,"role":175},{"id":130,"version":219,"type":674,"properties":2224,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2230},{"title":2225,"language":2228},[2226],[2227],"cargo new my-project      # Create new project\ncargo build               # Build in debug mode\ncargo build --release     # Build optimized\ncargo run                 # Build and run\ncargo test                # Run tests\ncargo check               # Check without building\ncargo clippy              # Run linter\ncargo fmt                 # Format code",[2229],[687],{"title":2231},{"r":2232,"n":2233},"MrQN4DLmNvwqf8_ecV8tQw,\"start\",\"end\"",{"MrQN4DLmNvwqf8_ecV8tQw,\"start\",\"end\"":2234},{"s":2235,"c":2244},{"x":2236,"i":2237,"l":21},"MrQN4DLmNvwqf8_ecV8tQw",[2238,2239,2243],{"t":165},{"t":167,"i":2240,"o":170,"l":2242,"c":2227},[2241,155],"ot7b9cEsO4iX",348,{"t":173},[],{"value":2246,"role":175},{"id":131,"version":219,"type":244,"properties":2247,"format":2251,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2252},{"title":2248},[2249],[2250],"Next Steps",{"toggleable":196},{"title":2253},{"r":2254,"n":2255},"yPEi0s_wuKhz8VLAACZbUw,\"start\",\"end\"",{"yPEi0s_wuKhz8VLAACZbUw,\"start\",\"end\"":2256},{"s":2257,"c":2265},{"x":2258,"i":2259,"l":21},"yPEi0s_wuKhz8VLAACZbUw",[2260,2261,2264],{"t":165},{"t":167,"i":2262,"o":170,"l":1107,"c":2250},[2263,155],"5LoQ7iFwbxEB",{"t":173},[],{"value":2267,"role":175},{"id":132,"version":219,"type":220,"properties":2268,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2274},{"title":2269},[2270],[2271,2272],"Essential reading:",[2273],[273],{"title":2275},{"r":2276,"n":2277},"6kHSB9-AGy710-CmI1HLPA,\"start\",\"end\"",{"6kHSB9-AGy710-CmI1HLPA,\"start\",\"end\"":2278},{"s":2279,"c":2295},{"x":2280,"i":2281,"l":21},"6kHSB9-AGy710-CmI1HLPA",[2282,2283,2293],{"t":165},{"t":167,"i":2284,"o":170,"l":487,"c":2271,"b":2286},[2285,155],"ku9wMTD-Uurv",[2287],{"t":289,"x":2280,"l":21,"i":2288,"s":2289,"e":2291,"a":2292},[2285,584],{"i":2290,"a":273},[2285,155],{"i":295,"a":273},[273],{"t":173,"b":2294},[],[],{"value":2297,"role":175},{"id":133,"version":219,"type":302,"properties":2298,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2307},{"title":2299},[2300,2305],[2301,2302],"The Rust Book",[2303],[289,2304],"https://doc.rust-lang.org/book/",[2306]," (start here!)",{"title":2308},{"r":2309,"n":2310},"Qy5tR8vn1esgoy2brPP-4g,\"start\",\"end\"",{"Qy5tR8vn1esgoy2brPP-4g,\"start\",\"end\"":2311},{"s":2312,"c":2332},{"x":2313,"i":2314,"l":21},"Qy5tR8vn1esgoy2brPP-4g",[2315,2316,2328,2331],{"t":165},{"t":167,"i":2317,"o":170,"l":323,"c":2301,"b":2319,"a":2327},[2318,155],"VfD3O6rSgJ3X",[2320],{"t":289,"x":2313,"l":21,"i":2321,"s":2322,"e":2324,"a":2326},[2318,28],{"i":2323,"a":273},[2318,155],{"i":2325,"a":289},[2318,323],[289,2304],[],{"t":167,"i":2329,"o":2330,"l":332,"c":2306},[2318,332],[2318,323],{"t":173},[],{"value":2334,"role":175},{"id":134,"version":219,"type":302,"properties":2335,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2342},{"title":2336},[2337],[2338,2339],"Rust by Example",[2340],[289,2341],"https://doc.rust-lang.org/rust-by-example/",{"title":2343},{"r":2344,"n":2345},"jIyNmS4XYrq1ZiQ-MCq57A,\"start\",\"end\"",{"jIyNmS4XYrq1ZiQ-MCq57A,\"start\",\"end\"":2346},{"s":2347,"c":2364},{"x":2348,"i":2349,"l":21},"jIyNmS4XYrq1ZiQ-MCq57A",[2350,2351,2363],{"t":165},{"t":167,"i":2352,"o":170,"l":286,"c":2338,"b":2354,"a":2362},[2353,155],"3ABoTP9Em2X5",[2355],{"t":289,"x":2348,"l":21,"i":2356,"s":2357,"e":2359,"a":2361},[2353,291],{"i":2358,"a":273},[2353,155],{"i":2360,"a":289},[2353,286],[289,2341],[],{"t":173},[],{"value":2366,"role":175},{"id":135,"version":219,"type":302,"properties":2367,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2376},{"title":2368},[2369,2374],[2370,2371],"Rustlings",[2372],[289,2373],"https://github.com/rust-lang/rustlings",[2375]," (interactive exercises)",{"title":2377},{"r":2378,"n":2379},"P3gXlEBZNQETl-0cgYSPdg,\"start\",\"end\"",{"P3gXlEBZNQETl-0cgYSPdg,\"start\",\"end\"":2380},{"s":2381,"c":2401},{"x":2382,"i":2383,"l":21},"P3gXlEBZNQETl-0cgYSPdg",[2384,2385,2397,2400],{"t":165},{"t":167,"i":2386,"o":170,"l":262,"c":2370,"b":2388,"a":2396},[2387,155],"PU3GrsNnfseF",[2389],{"t":289,"x":2382,"l":21,"i":2390,"s":2391,"e":2393,"a":2395},[2387,1003],{"i":2392,"a":273},[2387,155],{"i":2394,"a":289},[2387,262],[289,2373],[],{"t":167,"i":2398,"o":2399,"l":669,"c":2375},[2387,1107],[2387,262],{"t":173},[],{"value":2403,"role":175},{"id":136,"version":219,"type":220,"properties":2404,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2410},{"title":2405},[2406],[2407,2408],"Intermediate topics:",[2409],[273],{"title":2411},{"r":2412,"n":2413},"WB66CCJv6HLZNm7c8JqvIw,\"start\",\"end\"",{"WB66CCJv6HLZNm7c8JqvIw,\"start\",\"end\"":2414},{"s":2415,"c":2431},{"x":2416,"i":2417,"l":21},"WB66CCJv6HLZNm7c8JqvIw",[2418,2419,2429],{"t":165},{"t":167,"i":2420,"o":170,"l":402,"c":2407,"b":2422},[2421,155],"fj7APtaDSFpW",[2423],{"t":289,"x":2416,"l":21,"i":2424,"s":2425,"e":2427,"a":2428},[2421,411],{"i":2426,"a":273},[2421,155],{"i":295,"a":273},[273],{"t":173,"b":2430},[],[],{"value":2433,"role":175},{"id":137,"version":219,"type":302,"properties":2434,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2438},{"title":2435},[2436],[2437],"Lifetimes and advanced borrowing",{"title":2439},{"r":2440,"n":2441},"zEMEPDyIYr58YShaO0fDHw,\"start\",\"end\"",{"zEMEPDyIYr58YShaO0fDHw,\"start\",\"end\"":2442},{"s":2443,"c":2451},{"x":2444,"i":2445,"l":21},"zEMEPDyIYr58YShaO0fDHw",[2446,2447,2450],{"t":165},{"t":167,"i":2448,"o":170,"l":1918,"c":2437},[2449,155],"KeLsTR6BP3NR",{"t":173},[],{"value":2453,"role":175},{"id":138,"version":219,"type":302,"properties":2454,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2458},{"title":2455},[2456],[2457],"Traits and generics",{"title":2459},{"r":2460,"n":2461},"8KdxuzxjReswBNx0VyHI7A,\"start\",\"end\"",{"8KdxuzxjReswBNx0VyHI7A,\"start\",\"end\"":2462},{"s":2463,"c":2471},{"x":2464,"i":2465,"l":21},"8KdxuzxjReswBNx0VyHI7A",[2466,2467,2470],{"t":165},{"t":167,"i":2468,"o":170,"l":584,"c":2457},[2469,155],"kpl9YU1Z6fGl",{"t":173},[],{"value":2473,"role":175},{"id":139,"version":219,"type":302,"properties":2474,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2478},{"title":2475},[2476],[2477],"Concurrency with threads and async/await",{"title":2479},{"r":2480,"n":2481},"QcVRAch_rHiX_hnfBiBz6Q,\"start\",\"end\"",{"QcVRAch_rHiX_hnfBiBz6Q,\"start\",\"end\"":2482},{"s":2483,"c":2491},{"x":2484,"i":2485,"l":21},"QcVRAch_rHiX_hnfBiBz6Q",[2486,2487,2490],{"t":165},{"t":167,"i":2488,"o":170,"l":1923,"c":2477},[2489,155],"G5A5G54d2w1y",{"t":173},[],{"value":2493,"role":175},{"id":140,"version":219,"type":302,"properties":2494,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2498},{"title":2495},[2496],[2497],"Macros",{"title":2499},{"r":2500,"n":2501},"BM5X2EDW6ljOlYn_7xE6dw,\"start\",\"end\"",{"BM5X2EDW6ljOlYn_7xE6dw,\"start\",\"end\"":2502},{"s":2503,"c":2511},{"x":2504,"i":2505,"l":21},"BM5X2EDW6ljOlYn_7xE6dw",[2506,2507,2510],{"t":165},{"t":167,"i":2508,"o":170,"l":776,"c":2497},[2509,155],"YtAdfH3RHcDs",{"t":173},[],{"value":2513,"role":175},{"id":141,"version":219,"type":302,"properties":2514,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2518},{"title":2515},[2516],[2517],"Unsafe Rust",{"title":2519},{"r":2520,"n":2521},"pm33PiuHbH3QGAD9JrazIA,\"start\",\"end\"",{"pm33PiuHbH3QGAD9JrazIA,\"start\",\"end\"":2522},{"s":2523,"c":2531},{"x":2524,"i":2525,"l":21},"pm33PiuHbH3QGAD9JrazIA",[2526,2527,2530],{"t":165},{"t":167,"i":2528,"o":170,"l":917,"c":2517},[2529,155],"e1l5rBbfjv9F",{"t":173},[],{"value":2533,"role":175},{"id":142,"version":219,"type":220,"properties":2534,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2540},{"title":2535},[2536],[2537,2538],"Practice projects:",[2539],[273],{"title":2541},{"r":2542,"n":2543},"Ohw6mT7an0B5YJvbP4yCrQ,\"start\",\"end\"",{"Ohw6mT7an0B5YJvbP4yCrQ,\"start\",\"end\"":2544},{"s":2545,"c":2561},{"x":2546,"i":2547,"l":21},"Ohw6mT7an0B5YJvbP4yCrQ",[2548,2549,2559],{"t":165},{"t":167,"i":2550,"o":170,"l":487,"c":2537,"b":2552},[2551,155],"MWCE9iV1i6cB",[2553],{"t":289,"x":2546,"l":21,"i":2554,"s":2555,"e":2557,"a":2558},[2551,584],{"i":2556,"a":273},[2551,155],{"i":295,"a":273},[273],{"t":173,"b":2560},[],[],{"value":2563,"role":175},{"id":143,"version":219,"type":302,"properties":2564,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2568},{"title":2565},[2566],[2567],"Build a CLI tool",{"title":2569},{"r":2570,"n":2571},"EBYvHTdsJV-Pbibpyw664A,\"start\",\"end\"",{"EBYvHTdsJV-Pbibpyw664A,\"start\",\"end\"":2572},{"s":2573,"c":2581},{"x":2574,"i":2575,"l":21},"EBYvHTdsJV-Pbibpyw664A",[2576,2577,2580],{"t":165},{"t":167,"i":2578,"o":170,"l":291,"c":2567},[2579,155],"l73hVtPvbjFx",{"t":173},[],{"value":2583,"role":175},{"id":144,"version":219,"type":302,"properties":2584,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2588},{"title":2585},[2586],[2587],"Implement common data structures",{"title":2589},{"r":2590,"n":2591},"mfmiTW7X9zlkgURlOor6CQ,\"start\",\"end\"",{"mfmiTW7X9zlkgURlOor6CQ,\"start\",\"end\"":2592},{"s":2593,"c":2601},{"x":2594,"i":2595,"l":21},"mfmiTW7X9zlkgURlOor6CQ",[2596,2597,2600],{"t":165},{"t":167,"i":2598,"o":170,"l":1918,"c":2587},[2599,155],"poL5MZTYjtnP",{"t":173},[],{"value":2603,"role":175},{"id":145,"version":219,"type":302,"properties":2604,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2608},{"title":2605},[2606],[2607],"Create a simple web server",{"title":2609},{"r":2610,"n":2611},"UeMM7klZdYXssNQAAnFT1A,\"start\",\"end\"",{"UeMM7klZdYXssNQAAnFT1A,\"start\",\"end\"":2612},{"s":2613,"c":2621},{"x":2614,"i":2615,"l":21},"UeMM7klZdYXssNQAAnFT1A",[2616,2617,2620],{"t":165},{"t":167,"i":2618,"o":170,"l":767,"c":2607},[2619,155],"evOAZitm7_T0",{"t":173},[],{"value":2623,"role":175},{"id":146,"version":219,"type":302,"properties":2624,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2628},{"title":2625},[2626],[2627],"Contribute to open source Rust projects",{"title":2629},{"r":2630,"n":2631},"mYLXCY5NkUteOPVNyoJvRQ,\"start\",\"end\"",{"mYLXCY5NkUteOPVNyoJvRQ,\"start\",\"end\"":2632},{"s":2633,"c":2641},{"x":2634,"i":2635,"l":21},"mYLXCY5NkUteOPVNyoJvRQ",[2636,2637,2640],{"t":165},{"t":167,"i":2638,"o":170,"l":367,"c":2627},[2639,155],"A2oSgkGZx2Bq",{"t":173},[],{"value":2643,"role":175},{"id":147,"version":1903,"type":2644,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2645},"divider",{"title":2646},{"r":2647,"n":2648},"H8InwQK43vVJv9dOwjIuqA,\"start\",\"end\"",{"H8InwQK43vVJv9dOwjIuqA,\"start\",\"end\"":2649},{"s":2650,"c":2655},{"x":2651,"i":2652,"l":21},"H8InwQK43vVJv9dOwjIuqA",[2653,2654],{"t":165},{"t":173},[],{"value":2657,"role":175},{"id":148,"version":219,"type":220,"properties":2658,"created_time":225,"last_edited_time":226,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2662},{"title":2659},[2660],[2661],"Rust has a steep learning curve, but the compiler is your teacher. Read error messages carefully—they're remarkably helpful. Welcome to the Rust community! 🦀",{"title":2663},{"r":2664,"n":2665},"BGzq5FiDMtkigvMH0EYrjg,\"start\",\"end\"",{"BGzq5FiDMtkigvMH0EYrjg,\"start\",\"end\"":2666},{"s":2667,"c":2676},{"x":2668,"i":2669,"l":21},"BGzq5FiDMtkigvMH0EYrjg",[2670,2671,2675],{"t":165},{"t":167,"i":2672,"o":170,"l":2674,"c":2661},[2673,155],"5UEglXWyZPQp",158,{"t":173},[],{"2d0fe8dd-acd6-81fb-8702-000b039af795":2678},{"value":2679,"role":175},{"id":151,"version":2680,"name":2681,"schema":2684,"icon":2748,"format":2749,"parent_id":178,"parent_table":190,"alive":153,"copied_from":2751,"migrated":153,"space_id":154,"created_time":2787,"last_edited_time":2788,"created_by_table":2789,"created_by_id":2790,"last_edited_by_table":2789,"last_edited_by_id":2790},103,[2682],[2683],"Database",{"A\u003Cgx":2685,"dp_o":2687,"title":2689,"0d131b96-a11a-4078-85a2-06eef84c7be6":2692,"10243cf2-965e-450d-99ee-dc6076017363":2727,"c832da20-339d-4a80-9a7b-62f98d5a8996":2729,"ece115aa-d10f-4ea0-83b3-ea2a43e6e71e":2738},{"name":2686,"type":220},"Slug",{"name":2688,"type":40},"Date",{"name":2690,"type":2691},"Title","title",{"name":2693,"type":2694,"options":2695},"Tags","multi_select",[2696,2700,2704,2708,2712,2715,2719,2723],{"id":2697,"color":2698,"value":2699},"b67fb051-ddd9-43b5-9fdf-7b7f97a2e056","yellow","Jekyll",{"id":2701,"color":2702,"value":2703},"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","pink","Website",{"id":2705,"color":2706,"value":2707},"674b2636-c585-4057-8a6d-0d6ab9718f90","blue","Cooking",{"id":2709,"color":2710,"value":2711},"499d31ac-26f2-4fed-9ec4-17afe3c6d90d","red","Sociology",{"id":2713,"color":2714,"value":23},"38611f8e-ab81-4a71-8d40-7bad1370b26a","orange",{"id":2716,"color":2717,"value":2718},"1ad9233c-079a-44c7-98c3-24ed2faf1879","purple","Book",{"id":2720,"color":2721,"value":2722},"a3d8eb51-77ce-4e83-a9ae-68da9cee63fa","default","Design",{"id":2724,"color":2725,"value":2726},"faa335e8-ade9-4a5c-a37f-7ef02b33312d","brown","读书笔记",{"name":2728,"type":220},"Summary",{"name":2730,"type":2731,"options":2732},"Type","select",[2733,2735],{"id":2734,"color":2706,"value":50},"5aff2f95-fd1e-489b-8840-bf10bc9519cb",{"id":2736,"color":2698,"value":2737},"374d2bc6-a144-4832-8ca4-474aaae0ea1f","Content",{"name":2739,"type":2731,"options":2740},"Status",[2741,2745],{"id":2742,"color":2743,"value":2744},"41d5f5c6-b53c-42bc-8e0f-fc9402048480","gray","Draft",{"id":2746,"color":2747,"value":53},"7abc61d4-b405-480d-b699-12588755fa65","green","💾",{"copied_from_pointer":2750,"ai_suggested_properties":2752},{"id":2751,"table":152,"spaceId":154},"292fe8dd-acd6-80a3-b834-000b391f69e4",[2753,2756,2758,2773],{"name":2754,"type":2755},"Author","person",{"name":2757,"type":40},"Published Date",{"name":2759,"type":2731,"options":2760},"Category",[2761,2764,2767,2770],{"id":2762,"color":2747,"value":2763},"Q=ZZ","Technology",{"id":2765,"color":2714,"value":2766},"TVDp","Health",{"id":2768,"color":2725,"value":2769},"|HnH","Education",{"id":2771,"color":2706,"value":2772},"^sc=","Entertainment",{"name":2693,"type":2694,"options":2774},[2775,2778,2781,2784],{"id":2776,"color":2714,"value":2777},"PK>W","Featured",{"id":2779,"color":2725,"value":2780},"VOSJ","Trending",{"id":2782,"color":2698,"value":2783},"=FCE","New",{"id":2785,"color":2721,"value":2786},"JXXc","Popular",1766327873677,1768238784268,"notion_user","ff55607a-3044-4bbb-9667-bc8493a06e9b",{"2d0fe8dd-acd6-81fb-891c-000c60c5b153":2792},{"value":2793,"role":175},{"id":182,"version":917,"type":2794,"format":2795,"parent_id":178,"parent_table":190,"alive":153,"page_sort":2805,"query2":2828,"space_id":154,"created_time":198,"last_edited_time":198,"created_by_table":2789,"created_by_id":2790},"table",{"table_wrap":153,"table_properties":2796,"collection_pointer":2804},[2797,2799,2802],{"width":2798,"visible":153,"property":2691},280,{"width":2800,"visible":153,"property":2801},200,"A\u003Cgx",{"visible":153,"property":2803},"dp_o",{"id":151,"table":152,"spaceId":154},[2806,2807,2808,2809,2810,2811,2812,2813,2814,2815,2816,2817,2818,2819,2820,2821,2822,2823,2824,2825,2826,2827,17],"2d0fe8dd-acd6-81ef-9d9a-cb5f24b61dcd","2d0fe8dd-acd6-81d9-95e8-dc0d0bc57c9b","2d0fe8dd-acd6-81d1-bbce-ece78a7d4a26","2d0fe8dd-acd6-818f-a219-d7add42581a3","2d0fe8dd-acd6-816a-9b05-fc10b8c697fe","2d0fe8dd-acd6-81db-b717-c61d186563e5","2d0fe8dd-acd6-8162-b244-ebe831629887","2d0fe8dd-acd6-81a8-9f87-cd028aca1311","2d0fe8dd-acd6-812f-8ae4-f466c29f20d8","2d0fe8dd-acd6-8105-8d72-e9ca3a88c4a5","2d0fe8dd-acd6-8114-8e52-c9f0c5aea474","2d0fe8dd-acd6-81f8-ba1e-c83f43c4a982","2d0fe8dd-acd6-8110-9a3f-eeb74b94a604","298fe8dd-acd6-807a-b93b-d824a9f4540a","2e6fe8dd-acd6-8055-8f9d-d774dc4de1c5","73ea001b-a92c-4601-8b20-9739d4e3d186","7277b5d5-bcbc-4024-9496-cff7b4b64322","ae014b62-511d-4205-8b6b-ea675775a6b0","67663562-ea81-43fa-82db-39e20cafa296","7c2b1da3-8bd8-46f0-9913-9d5bb2b38d5c","1aeda2e4-2281-489a-a453-8c5a47f5a8de","288a147c-8d54-4c92-b52d-ab0e97da88b5",{"sort":2829},[2830],{"property":2803,"direction":2831},"descending",{},{},{},{"html":2836,"darkMode":196},"\u003Cmain class=\"notion light-mode notion-page notion-block-8987f689146945b9a15642bc8115f96c\">\u003Cdiv class=\"notion-viewport\">\u003C/div>\u003Cdiv class=\"notion-text notion-block-2c07ecfde28f4c91a5b58e9c8c352850\">Rust is a systems programming language that combines low-level control with high-level ergonomics. It guarantees memory safety without a garbage collector, making it ideal for performance-critical applications.\u003C/div>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-46b9510fd38a44349f9d2b9b108de604\" data-id=\"46b9510fd38a44349f9d2b9b108de604\">\u003Cspan>\u003Cdiv id=\"46b9510fd38a44349f9d2b9b108de604\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#46b9510fd38a44349f9d2b9b108de604\" title=\"Why Rust?\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Why Rust?\u003C/span>\u003C/span>\u003C/h3>\u003Cdiv class=\"notion-text notion-block-fb40ee4d58124c26bc49218a33cf5cbf\">\u003Cb>Key advantages:\u003C/b>\u003C/div>\u003Cul class=\"notion-list notion-list-disc notion-block-eb5ee51f8f734007a0be7280e76bfd17\">\u003Cli>\u003Cb>Memory safety\u003C/b> without garbage collection\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-5178a15bf09f455c84ce2e3e29e9635e\">\u003Cli>\u003Cb>Zero-cost abstractions\u003C/b> for performance\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-08972014f1364df797dd5239fae0697a\">\u003Cli>\u003Cb>Fearless concurrency\u003C/b> with compile-time checks\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-a3de075559b54f5d88446431449d1347\">\u003Cli>\u003Cb>Great tooling\u003C/b> with Cargo and rustfmt\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-26d13bee08584356960d3fd7866628f8\">\u003Cli>\u003Cb>Growing ecosystem\u003C/b> for web, embedded, and systems work\u003C/li>\u003C/ul>\u003Cdiv class=\"notion-text notion-block-b3ebf821737e466d9482ca2365e0c1e3\">\u003Cb>Common use cases:\u003C/b>\u003C/div>\u003Cul class=\"notion-list notion-list-disc notion-block-1b4f951943ce4fe3bfd8ef78d9f21ea7\">\u003Cli>Web tooling and build systems (like Rolldown!)\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-2a9daa20fb944e41ae7e5f94bc646688\">\u003Cli>Command-line tools\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-d70a32d770dd4d6c9969b3196eaae388\">\u003Cli>WebAssembly modules\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-15de103769174f56a564f4c02bc78a6b\">\u003Cli>Embedded systems\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-8d4d39d0ab7b4ce7a2d1a4ea2650405d\">\u003Cli>Network services\u003C/li>\u003C/ul>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-c518ac9e48134e848dbb7b7f56194415\" data-id=\"c518ac9e48134e848dbb7b7f56194415\">\u003Cspan>\u003Cdiv id=\"c518ac9e48134e848dbb7b7f56194415\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#c518ac9e48134e848dbb7b7f56194415\" title=\"Installation\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Installation\u003C/span>\u003C/span>\u003C/h3>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-656c19b099c94f1a920ccd1814459d54\" data-id=\"656c19b099c94f1a920ccd1814459d54\">\u003Cspan>\u003Cdiv id=\"656c19b099c94f1a920ccd1814459d54\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#656c19b099c94f1a920ccd1814459d54\" title=\"Install Rust with rustup\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Install Rust with rustup\u003C/span>\u003C/span>\u003C/h4>\u003Cpre class=\"notion-code language-bash\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-bash\">curl --proto &#x27;=https&#x27; --tlsv1.2 -sSf https://sh.rustup.rs | sh\u003C/code>\u003C/pre>\u003Cdiv class=\"notion-text notion-block-95f0fbb520c34f7a831d3118e75d37fa\">This installs:\u003C/div>\u003Cul class=\"notion-list notion-list-disc notion-block-ab2eb3c1438d403181b48f80cca33bfb\">\u003Cli>\u003Ccode class=\"notion-inline-code\">rustc\u003C/code> (the Rust compiler)\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-e01c184156cf4a03a3a688ba07e54898\">\u003Cli>\u003Ccode class=\"notion-inline-code\">cargo\u003C/code> (package manager and build tool)\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-da19fcf81e80425097b4f0670d3e1f0f\">\u003Cli>\u003Ccode class=\"notion-inline-code\">rustup\u003C/code> (toolchain manager)\u003C/li>\u003C/ul>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-5271f444da544addbd44b522b010046c\" data-id=\"5271f444da544addbd44b522b010046c\">\u003Cspan>\u003Cdiv id=\"5271f444da544addbd44b522b010046c\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#5271f444da544addbd44b522b010046c\" title=\"Verify installation\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Verify installation\u003C/span>\u003C/span>\u003C/h4>\u003Cpre class=\"notion-code language-bash\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-bash\">rustc --version\ncargo --version\u003C/code>\u003C/pre>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-f1bac9207af1404dbbf179debb597193\" data-id=\"f1bac9207af1404dbbf179debb597193\">\u003Cspan>\u003Cdiv id=\"f1bac9207af1404dbbf179debb597193\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#f1bac9207af1404dbbf179debb597193\" title=\"Update Rust\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Update Rust\u003C/span>\u003C/span>\u003C/h4>\u003Cpre class=\"notion-code language-bash\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-bash\">rustup update\u003C/code>\u003C/pre>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-c1e8e81282a74bf19e71f2141917d391\" data-id=\"c1e8e81282a74bf19e71f2141917d391\">\u003Cspan>\u003Cdiv id=\"c1e8e81282a74bf19e71f2141917d391\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#c1e8e81282a74bf19e71f2141917d391\" title=\"Your First Rust Program\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Your First Rust Program\u003C/span>\u003C/span>\u003C/h3>\u003Cdiv class=\"notion-text notion-block-2efa934c02e944ffaef7c4f255f36985\">Create a new project:\u003C/div>\u003Cpre class=\"notion-code language-bash\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-bash\">cargo new hello_rust\ncd hello_rust\u003C/code>\u003C/pre>\u003Cdiv class=\"notion-text notion-block-cfd9204ed75a491998aba6729d685729\">This creates:\u003C/div>\u003Cpre class=\"notion-code language-typescript\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-typescript\">hello_rust/\n├── Cargo.toml    # Project metadata and dependencies\n└── src/\n    └── main.rs   # Your code\u003C/code>\u003C/pre>\u003Cdiv class=\"notion-text notion-block-ede07b08963546af867fd6bcc190a42d\">\u003Cb>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" class=\"notion-link\" href=\"http://main.rs\">main.rs\u003C/a>\u003C/b>\u003Cb>:\u003C/b>\u003C/div>\u003Cpre class=\"notion-code language-rust\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-rust\">fn main() {\n    println!(&quot;Hello, world!&quot;);\n}\u003C/code>\u003C/pre>\u003Cdiv class=\"notion-text notion-block-8bdaadbb687549be9dcb16756bdd9988\">\u003Cb>Run it:\u003C/b>\u003C/div>\u003Cpre class=\"notion-code language-bash\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-bash\">cargo run\u003C/code>\u003C/pre>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-1d4011e6b8534f0a8702dd850299cf51\" data-id=\"1d4011e6b8534f0a8702dd850299cf51\">\u003Cspan>\u003Cdiv id=\"1d4011e6b8534f0a8702dd850299cf51\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#1d4011e6b8534f0a8702dd850299cf51\" title=\"Rust Fundamentals\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Rust Fundamentals\u003C/span>\u003C/span>\u003C/h3>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-42a9af9f66a24b12ab1b284c2ef12ac3\" data-id=\"42a9af9f66a24b12ab1b284c2ef12ac3\">\u003Cspan>\u003Cdiv id=\"42a9af9f66a24b12ab1b284c2ef12ac3\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#42a9af9f66a24b12ab1b284c2ef12ac3\" title=\"Variables and Mutability\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Variables and Mutability\u003C/span>\u003C/span>\u003C/h4>\u003Cdiv class=\"notion-text notion-block-6359d2cbb58e449d92caeaca16ede0ab\">Variables are immutable by default:\u003C/div>\u003Cpre class=\"notion-code language-rust\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-rust\">let x = 5;\n// x = 6;  // Error: cannot assign twice to immutable variable\n\nlet mut y = 5;\ny = 6;  // OK: y is mutable\u003C/code>\u003C/pre>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-cac61a7f0b714269852d12aefccb5188\" data-id=\"cac61a7f0b714269852d12aefccb5188\">\u003Cspan>\u003Cdiv id=\"cac61a7f0b714269852d12aefccb5188\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#cac61a7f0b714269852d12aefccb5188\" title=\"Data Types\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Data Types\u003C/span>\u003C/span>\u003C/h4>\u003Cpre class=\"notion-code language-rust\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-rust\">// Integers\nlet a: i32 = 42;        // 32-bit signed\nlet b: u64 = 100;       // 64-bit unsigned\n\n// Floats\nlet c: f64 = 3.14;\n\n// Boolean\nlet d: bool = true;\n\n// Characters\nlet e: char = &#x27;🦀&#x27;;\n\n// Tuples\nlet tuple: (i32, f64, char) = (500, 6.4, &#x27;x&#x27;);\n\n// Arrays\nlet array: [i32; 3] = [1, 2, 3];\u003C/code>\u003C/pre>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-070ae2c1d8db4c7b87bd45e9e1ee4e9e\" data-id=\"070ae2c1d8db4c7b87bd45e9e1ee4e9e\">\u003Cspan>\u003Cdiv id=\"070ae2c1d8db4c7b87bd45e9e1ee4e9e\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#070ae2c1d8db4c7b87bd45e9e1ee4e9e\" title=\"Functions\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Functions\u003C/span>\u003C/span>\u003C/h4>\u003Cpre class=\"notion-code language-rust\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-rust\">fn add(x: i32, y: i32) -&gt; i32 {\n    x + y  // No semicolon = return value\n}\n\nfn main() {\n    let result = add(5, 3);\n    println!(&quot;Result: {}&quot;, result);\n}\u003C/code>\u003C/pre>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-8692f0ada44a40db8b3a017b286ef346\" data-id=\"8692f0ada44a40db8b3a017b286ef346\">\u003Cspan>\u003Cdiv id=\"8692f0ada44a40db8b3a017b286ef346\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#8692f0ada44a40db8b3a017b286ef346\" title=\"Control Flow\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Control Flow\u003C/span>\u003C/span>\u003C/h4>\u003Cpre class=\"notion-code language-rust\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-rust\">// if expressions\nlet number = 6;\nif number % 2 == 0 {\n    println!(&quot;Even&quot;);\n} else {\n    println!(&quot;Odd&quot;);\n}\n\n// loop\nloop {\n    println!(&quot;Forever!&quot;);\n    break;  // until we break\n}\n\n// while\nlet mut n = 0;\nwhile n &lt; 5 {\n    n += 1;\n}\n\n// for\nfor i in 0..5 {\n    println!(&quot;{}&quot;, i);\n}\u003C/code>\u003C/pre>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-27d22f2ff64943dfac8851315bdc8dc0\" data-id=\"27d22f2ff64943dfac8851315bdc8dc0\">\u003Cspan>\u003Cdiv id=\"27d22f2ff64943dfac8851315bdc8dc0\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#27d22f2ff64943dfac8851315bdc8dc0\" title=\"Ownership: Rust&#x27;s Superpower\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Ownership: Rust&#x27;s Superpower\u003C/span>\u003C/span>\u003C/h3>\u003Cdiv class=\"notion-text notion-block-33abc30d54a44577ac4628e9a30bb1d4\">Ownership is Rust&#x27;s most distinctive feature—it ensures memory safety without a garbage collector.\u003C/div>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-33c0ecac0bb94c7e9ecda491235b12f8\" data-id=\"33c0ecac0bb94c7e9ecda491235b12f8\">\u003Cspan>\u003Cdiv id=\"33c0ecac0bb94c7e9ecda491235b12f8\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#33c0ecac0bb94c7e9ecda491235b12f8\" title=\"The Rules\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">The Rules\u003C/span>\u003C/span>\u003C/h4>\u003Col start=\"1\" class=\"notion-list notion-list-numbered notion-block-2f671872690a477faa38298702fcfd57\" style=\"list-style-type:decimal\">\u003Cli>Each value has a single owner\u003C/li>\u003C/ol>\u003Col start=\"2\" class=\"notion-list notion-list-numbered notion-block-f0104127d44449eb8ed52e5e5ed87a42\" style=\"list-style-type:decimal\">\u003Cli>When the owner goes out of scope, the value is dropped\u003C/li>\u003C/ol>\u003Col start=\"3\" class=\"notion-list notion-list-numbered notion-block-ee9f41d9abcf4982aaa98c3f16bcf383\" style=\"list-style-type:decimal\">\u003Cli>Values can be moved or borrowed, but not both\u003C/li>\u003C/ol>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-7c9b6c7d239841449485b4bbf096b5c2\" data-id=\"7c9b6c7d239841449485b4bbf096b5c2\">\u003Cspan>\u003Cdiv id=\"7c9b6c7d239841449485b4bbf096b5c2\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#7c9b6c7d239841449485b4bbf096b5c2\" title=\"Moving Values\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Moving Values\u003C/span>\u003C/span>\u003C/h4>\u003Cpre class=\"notion-code language-rust\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-rust\">let s1 = String::from(&quot;hello&quot;);\nlet s2 = s1;  // s1 is moved to s2\n\n// println!(&quot;{}&quot;, s1);  // Error: s1 is no longer valid\nprintln!(&quot;{}&quot;, s2);     // OK\u003C/code>\u003C/pre>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-4459f6b96240415b912e374c7f9e2d19\" data-id=\"4459f6b96240415b912e374c7f9e2d19\">\u003Cspan>\u003Cdiv id=\"4459f6b96240415b912e374c7f9e2d19\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#4459f6b96240415b912e374c7f9e2d19\" title=\"Borrowing\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Borrowing\u003C/span>\u003C/span>\u003C/h4>\u003Cpre class=\"notion-code language-rust\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-rust\">fn calculate_length(s: &amp;String) -&gt; usize {\n    s.len()  // s is borrowed, not owned\n}\n\nfn main() {\n    let s1 = String::from(&quot;hello&quot;);\n    let len = calculate_length(&amp;s1);  // Borrow s1\n    println!(&quot;&#x27;{}&#x27; has length {}&quot;, s1, len);  // s1 still valid\n}\u003C/code>\u003C/pre>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-d2d7acbf7abd49f29312ef498c3ce038\" data-id=\"d2d7acbf7abd49f29312ef498c3ce038\">\u003Cspan>\u003Cdiv id=\"d2d7acbf7abd49f29312ef498c3ce038\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#d2d7acbf7abd49f29312ef498c3ce038\" title=\"Mutable Borrowing\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Mutable Borrowing\u003C/span>\u003C/span>\u003C/h4>\u003Cpre class=\"notion-code language-rust\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-rust\">fn append_world(s: &amp;mut String) {\n    s.push_str(&quot;, world!&quot;);\n}\n\nfn main() {\n    let mut s = String::from(&quot;hello&quot;);\n    append_world(&amp;mut s);\n    println!(&quot;{}&quot;, s);  // &quot;hello, world!&quot;\n}\u003C/code>\u003C/pre>\u003Cdiv class=\"notion-text notion-block-83e21f2704084a92a4b68bc2f01f21ca\">\u003Cb>Key rule:\u003C/b> You can have either one mutable reference OR multiple immutable references, but not both.\u003C/div>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-45c6a864d59f48a59ebddf1d0e580120\" data-id=\"45c6a864d59f48a59ebddf1d0e580120\">\u003Cspan>\u003Cdiv id=\"45c6a864d59f48a59ebddf1d0e580120\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#45c6a864d59f48a59ebddf1d0e580120\" title=\"Structs and Enums\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Structs and Enums\u003C/span>\u003C/span>\u003C/h3>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-3869eca6ae92440c8ee557f3282ca6f0\" data-id=\"3869eca6ae92440c8ee557f3282ca6f0\">\u003Cspan>\u003Cdiv id=\"3869eca6ae92440c8ee557f3282ca6f0\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#3869eca6ae92440c8ee557f3282ca6f0\" title=\"Structs\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Structs\u003C/span>\u003C/span>\u003C/h4>\u003Cpre class=\"notion-code language-rust\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-rust\">struct User {\n    username: String,\n    email: String,\n    active: bool,\n}\n\nimpl User {\n    fn new(username: String, email: String) -&gt; User {\n        User {\n            username,\n            email,\n            active: true,\n        }\n    }\n    \n    fn deactivate(&amp;mut self) {\n        self.active = false;\n    }\n}\n\nfn main() {\n    let mut user = User::new(\n        String::from(&quot;alice&quot;),\n        String::from(&quot;alice@example.com&quot;)\n    );\n    \n    user.deactivate();\n}\u003C/code>\u003C/pre>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-10670b9f8d6a4643ab08850476e01541\" data-id=\"10670b9f8d6a4643ab08850476e01541\">\u003Cspan>\u003Cdiv id=\"10670b9f8d6a4643ab08850476e01541\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#10670b9f8d6a4643ab08850476e01541\" title=\"Enums and Pattern Matching\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Enums and Pattern Matching\u003C/span>\u003C/span>\u003C/h4>\u003Cpre class=\"notion-code language-rust\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-rust\">enum Message {\n    Quit,\n    Move { x: i32, y: i32 },\n    Write(String),\n}\n\nfn process_message(msg: Message) {\n    match msg {\n        Message::Quit =&gt; println!(&quot;Quit&quot;),\n        Message::Move { x, y } =&gt; println!(&quot;Move to ({}, {})&quot;, x, y),\n        Message::Write(text) =&gt; println!(&quot;Write: {}&quot;, text),\n    }\n}\u003C/code>\u003C/pre>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-c0e3560a1b444f37a9aecce118e98db4\" data-id=\"c0e3560a1b444f37a9aecce118e98db4\">\u003Cspan>\u003Cdiv id=\"c0e3560a1b444f37a9aecce118e98db4\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#c0e3560a1b444f37a9aecce118e98db4\" title=\"Option and Result\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Option and Result\u003C/span>\u003C/span>\u003C/h4>\u003Cdiv class=\"notion-text notion-block-23cee292dd5940f39a22ce37509ec881\">Rust has no \u003Ccode class=\"notion-inline-code\">null\u003C/code>. Instead, use \u003Ccode class=\"notion-inline-code\">Option\u003C/code>:\u003C/div>\u003Cpre class=\"notion-code language-rust\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-rust\">fn divide(a: i32, b: i32) -&gt; Option&lt;i32&gt; {\n    if b == 0 {\n        None\n    } else {\n        Some(a / b)\n    }\n}\n\nmatch divide(10, 2) {\n    Some(result) =&gt; println!(&quot;Result: {}&quot;, result),\n    None =&gt; println!(&quot;Cannot divide by zero&quot;),\n}\u003C/code>\u003C/pre>\u003Cdiv class=\"notion-text notion-block-8eedca82e94342bdbd72974dbc0a13ac\">For error handling, use \u003Ccode class=\"notion-inline-code\">Result\u003C/code>:\u003C/div>\u003Cpre class=\"notion-code language-rust\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-rust\">use std::fs::File;\nuse std::io::ErrorKind;\n\nfn open_file() -&gt; Result&lt;File, std::io::Error&gt; {\n    File::open(&quot;file.txt&quot;)\n}\n\nmatch open_file() {\n    Ok(file) =&gt; println!(&quot;Opened file&quot;),\n    Err(error) =&gt; match error.kind() {\n        ErrorKind::NotFound =&gt; println!(&quot;File not found&quot;),\n        other =&gt; println!(&quot;Error: {:?}&quot;, other),\n    },\n}\u003C/code>\u003C/pre>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-d55a6925b2c34b1dbe0542792d29ea8a\" data-id=\"d55a6925b2c34b1dbe0542792d29ea8a\">\u003Cspan>\u003Cdiv id=\"d55a6925b2c34b1dbe0542792d29ea8a\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#d55a6925b2c34b1dbe0542792d29ea8a\" title=\"Error Handling Shortcuts\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Error Handling Shortcuts\u003C/span>\u003C/span>\u003C/h3>\u003Cpre class=\"notion-code language-rust\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-rust\">use std::fs::File;\n\n// ? operator propagates errors\nfn read_file() -&gt; Result&lt;String, std::io::Error&gt; {\n    let mut file = File::open(&quot;file.txt&quot;)?;\n    let mut contents = String::new();\n    file.read_to_string(&amp;mut contents)?;\n    Ok(contents)\n}\u003C/code>\u003C/pre>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-fb6c4b6fbc6b41c8bfc2d26445d75d24\" data-id=\"fb6c4b6fbc6b41c8bfc2d26445d75d24\">\u003Cspan>\u003Cdiv id=\"fb6c4b6fbc6b41c8bfc2d26445d75d24\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#fb6c4b6fbc6b41c8bfc2d26445d75d24\" title=\"Collections\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Collections\u003C/span>\u003C/span>\u003C/h3>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-40e284843216486595593004e57f55d4\" data-id=\"40e284843216486595593004e57f55d4\">\u003Cspan>\u003Cdiv id=\"40e284843216486595593004e57f55d4\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#40e284843216486595593004e57f55d4\" title=\"Vector\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Vector\u003C/span>\u003C/span>\u003C/h4>\u003Cpre class=\"notion-code language-rust\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-rust\">let mut v: Vec&lt;i32&gt; = Vec::new();\nv.push(1);\nv.push(2);\nv.push(3);\n\n// or\nlet v = vec![1, 2, 3];\n\nfor i in &amp;v {\n    println!(&quot;{}&quot;, i);\n}\u003C/code>\u003C/pre>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-0fe89f00ec654011933d95dc0092608d\" data-id=\"0fe89f00ec654011933d95dc0092608d\">\u003Cspan>\u003Cdiv id=\"0fe89f00ec654011933d95dc0092608d\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#0fe89f00ec654011933d95dc0092608d\" title=\"HashMap\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">HashMap\u003C/span>\u003C/span>\u003C/h4>\u003Cpre class=\"notion-code language-rust\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-rust\">use std::collections::HashMap;\n\nlet mut scores = HashMap::new();\nscores.insert(String::from(&quot;Blue&quot;), 10);\nscores.insert(String::from(&quot;Red&quot;), 50);\n\nmatch scores.get(&quot;Blue&quot;) {\n    Some(score) =&gt; println!(&quot;Score: {}&quot;, score),\n    None =&gt; println!(&quot;No score&quot;),\n}\u003C/code>\u003C/pre>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-6e2cfc06053249929426e58d2a13065d\" data-id=\"6e2cfc06053249929426e58d2a13065d\">\u003Cspan>\u003Cdiv id=\"6e2cfc06053249929426e58d2a13065d\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#6e2cfc06053249929426e58d2a13065d\" title=\"Common Cargo Commands\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Common Cargo Commands\u003C/span>\u003C/span>\u003C/h3>\u003Cpre class=\"notion-code language-bash\" tabindex=\"0\">\u003Cdiv class=\"notion-code-copy\">\u003Cdiv class=\"notion-code-copy-button\">\u003Csvg fill=\"currentColor\" viewBox=\"0 0 16 16\" width=\"1em\" version=\"1.1\">\u003Cpath fill-rule=\"evenodd\" d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\">\u003C/path>\u003Cpath fill-rule=\"evenodd\" d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\">\u003C/path>\u003C/svg>\u003C/div>\u003C/div>\u003Ccode class=\"language-bash\">cargo new my-project      # Create new project\ncargo build               # Build in debug mode\ncargo build --release     # Build optimized\ncargo run                 # Build and run\ncargo test                # Run tests\ncargo check               # Check without building\ncargo clippy              # Run linter\ncargo fmt                 # Format code\u003C/code>\u003C/pre>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-32fdba7b8fc5496ca5ae174cc7eec2b1\" data-id=\"32fdba7b8fc5496ca5ae174cc7eec2b1\">\u003Cspan>\u003Cdiv id=\"32fdba7b8fc5496ca5ae174cc7eec2b1\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#32fdba7b8fc5496ca5ae174cc7eec2b1\" title=\"Next Steps\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Next Steps\u003C/span>\u003C/span>\u003C/h3>\u003Cdiv class=\"notion-text notion-block-0433e685e8504e99b0f3363b5519c741\">\u003Cb>Essential reading:\u003C/b>\u003C/div>\u003Cul class=\"notion-list notion-list-disc notion-block-ab8f5a9c6ba341aa88b432a8e5c2227a\">\u003Cli>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" class=\"notion-link\" href=\"https://doc.rust-lang.org/book/\">The Rust Book\u003C/a> (start here!)\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-e01dcfab4a0f4608b062bb9f884d2894\">\u003Cli>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" class=\"notion-link\" href=\"https://doc.rust-lang.org/rust-by-example/\">Rust by Example\u003C/a>\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-4c6e883c12054c058bf599fb1c28f5ed\">\u003Cli>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" class=\"notion-link\" href=\"https://github.com/rust-lang/rustlings\">Rustlings\u003C/a> (interactive exercises)\u003C/li>\u003C/ul>\u003Cdiv class=\"notion-text notion-block-2ba3f50eda66452ab3d66091ed5c74b2\">\u003Cb>Intermediate topics:\u003C/b>\u003C/div>\u003Cul class=\"notion-list notion-list-disc notion-block-6a1667da54994ee19968cf12ece264a3\">\u003Cli>Lifetimes and advanced borrowing\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-a39fff1b90964fa5a2015acce5f91098\">\u003Cli>Traits and generics\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-87570373a48f40fb9f8dd531ae43e32c\">\u003Cli>Concurrency with threads and async/await\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-f448aa2643f940d0a5708de8e2607449\">\u003Cli>Macros\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-56c574cede044fd88b94b7342f0cef66\">\u003Cli>Unsafe Rust\u003C/li>\u003C/ul>\u003Cdiv class=\"notion-text notion-block-1204945ae62141c3beeb327b75141d36\">\u003Cb>Practice projects:\u003C/b>\u003C/div>\u003Cul class=\"notion-list notion-list-disc notion-block-a107661b72904aa8bd82cc1bd325b7fa\">\u003Cli>Build a CLI tool\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-f2088d97cfed418c928f2c8d68604e40\">\u003Cli>Implement common data structures\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-d352efce170b47d3916bb5c6631daf4f\">\u003Cli>Create a simple web server\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-065380b91c4349fd88b74eb1c836eb20\">\u003Cli>Contribute to open source Rust projects\u003C/li>\u003C/ul>\u003Chr class=\"notion-hr notion-block-536b7ba12af64173a253fae042444f3c\"/>\u003Cdiv class=\"notion-text notion-block-4010ae4c41734af6afca630ac3f90cc3\">Rust has a steep learning curve, but the compiler is your teacher. Read error messages carefully—they&#x27;re remarkably helpful. Welcome to the Rust community! 🦀\u003C/div>\u003C/main>",1771336987011]