{"id":4876,"date":"2026-11-04T07:30:00","date_gmt":"2026-11-03T22:30:00","guid":{"rendered":"https:\/\/litcoder.com\/?p=4876"},"modified":"2026-11-04T09:18:56","modified_gmt":"2026-11-04T00:18:56","slug":"rust-sized%ec%99%80-sized-marker-trait","status":"publish","type":"post","link":"https:\/\/litcoder.com\/?p=4876","title":{"rendered":"Rust\uc758 Sized \/ ?Sized (Marker Trait)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\uac04\ub2e8\ud55c Rust Template \ud568\uc218\ud558\ub098\ub97c \uc0dd\uac01\ud574 \ubcf4\uc790. Argument &#8216;T&#8217;\ub97c \ubc1b\uc544\uc11c \ud654\uba74\uc5d0 \ucd9c\ub825\ud558\ub294 \ucf54\ub4dc\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"rust\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">fn print_item&lt;T: Debug>(item: &amp;T) {\n    println!(\"{:?}\", item);\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Template\uc758 \ucde8\uc9c0\uc5d0 \ub9de\uac8c \ub118\uaca8\uc9c0\ub294 argument\uc758 type\uc744 \ub2ec\ub9ac\ud558\uba74 \uadf8\uc5d0 \ud574\ub2f9\ud558\ub294 \ud568\uc218\ub4e4\uc774 \uc790\ub3d9\uc73c\ub85c \ub9cc\ub4e4\uc5b4\uc9c0\uace0 \ud574\ub2f9 \ucf54\ub4dc\uac00 \ud638\ucd9c\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"rust\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">fn main() {\n    let t1: i32 = 42;\n    let t2: i64 = 42;\n    let t3: f32 = 42.;\n    let t4: f64 = 42.;\n    let t5: String = \"hello\".to_string();\n    print_item(&amp;t1);\n    print_item(&amp;t2);\n    print_item(&amp;t3);\n    print_item(&amp;t4);\n    print_item(&amp;t5);\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">objdump\ub97c \uc774\uc6a9\ud574\uc11c \uc774 template\uc5d0 \uc758\ud574 \uc2e4\uc81c\ub85c \uc0dd\uc131\ub41c \ud568\uc218\ub4e4\uc744 \uc0b4\ud3b4\ubcf4\uba74 \ub2e4\uc74c\uacfc \uac19\uc774 \uac01 \ub370\uc774\ud130 \ud0c0\uc785\uc5d0 \ub300\ud574 \uc0dd\uc131\ub41c \uac83\ub4e4\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"false\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$> objdump -d -C .\/print_item|grep print_item\n.\/print_item:\tfile format mach-o arm64\n00000001000008c0 &lt;print_item::print_item::&lt;alloc::string::String>>:\n0000000100000908 &lt;print_item::print_item::&lt;f64>>:\n0000000100000950 &lt;print_item::print_item::&lt;f32>>:\n0000000100000998 &lt;print_item::print_item::&lt;i32>>:\n00000001000009e0 &lt;print_item::print_item::&lt;i64>>:\n0000000100000ce8 &lt;print_item::main>:\n...<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\ubb38\uc790\uc5f4 \uc2ac\ub77c\uc774\uc2a4 template<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ubc88\uc5d0\ub294<code> print_item() <\/code>\ud568\uc218\uc5d0 <code>&amp;str<\/code> type\uc744 \ud55c\ubc88 \ub118\uaca8 \ubcf4\uc790<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"rust\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"false\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">let t6: &amp;str = \"hello\";\nprint_Item(t6);<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"763\" height=\"349\" src=\"https:\/\/litcoder.com\/wp-content\/uploads\/2026\/10\/rust_template_sized_error.png\" alt=\"\" class=\"wp-image-4878\" style=\"object-fit:cover\" srcset=\"https:\/\/litcoder.com\/wp-content\/uploads\/2026\/10\/rust_template_sized_error.png 763w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/10\/rust_template_sized_error-300x137.png 300w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/10\/rust_template_sized_error-624x285.png 624w\" sizes=\"auto, (max-width: 763px) 100vw, 763px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Rust \ucef4\ud30c\uc77c\ub7ec \ud2b9\uc720\uc758 \uae38\uace0 \uc790\uc138\ud55c \uc624\ub958 \ubcf4\uace0\uc778\ub370 \uc694\uc57d\ud558\uc790\uba74:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><code>`t6`<\/code>\uc758 \ud06c\uae30\ub97c \ucef4\ud30c\uc77c \ud0c0\uc784\uc5d0 \uc54c \uc218 \uc5c6\uc5b4\uc11c \ucef4\ud30c\uc77c\uc5d0 \uc2e4\ud328 \ud588\uc2b5\ub2c8\ub2e4. \uc65c\ub0d0\ud558\uba74 str \ud0c0\uc785\uc5d0 \ub300\ud574\uc11c Sized trait \uc774 \uad6c\ud604\ub418\uc5b4 \uc788\uc9c0 \uc54a\uac70\ub4e0\uc694. \ud568\uc218 \uc815\uc758 \ucabd\uc5d0 <code>?Sized<\/code>\ub97c \ucd94\uac00\ud574 \ubcf4\uc138\uc694.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Rust\ub294 &#8220;<a href=\"https:\/\/doc.rust-lang.org\/beta\/embedded-book\/static-guarantees\/zero-cost-abstractions.html\" data-type=\"link\" data-id=\"https:\/\/doc.rust-lang.org\/beta\/embedded-book\/static-guarantees\/zero-cost-abstractions.html\">Zero \ube44\uc6a9 \ucd94\uc0c1\ud654<\/a>&#8220;\ub97c \uc9c0\ud5a5\ud558\uae30 \ub54c\ubb38\uc5d0 \uc774\ub97c \uc9c0\uc6d0\ud558\uae30 \uc704\ud55c \uc218\ub2e8\uc73c\ub85c \ucef4\ud30c\uc77c \uc2dc\uac04\uc5d0 \ubaa8\ub4e0 \ub370\uc774\ud130\uc758 \ud06c\uae30\ub97c &#8220;\uc54c\uace0&#8221; \uc788\ub294 \uac83\uc744 \uc804\uc81c\ub85c \ud55c\ub2e4. \uadf8\ub7f0\ub370 <code>&amp;str<\/code> \uac19\uc740 \uc2ac\ub77c\uc774\uc2a4\ub97c <code>print_item(&amp;T)<\/code> \ud568\uc218\uc5d0 \ub118\uae30\uba74 <code>T<\/code>\uac00 <code>str<\/code>\uc774 \ub418\ubbc0\ub85c \uc6d0\ub798 \ud560\ub2f9\ub41c \uacf5\uac04\uc758 <code>\"hello\"<\/code>\ub97c \uac00\ub9ac\ud0a4\uac8c \ub41c\ub2e4. \ud604\uc7ac\ub294 \uadf8 \ud06c\uae30\uac00 \ub2e4\uc12f \uae00\uc790\uc9dc\ub9ac \ubb38\uc790\uc5f4\uc774\uc9c0\ub9cc, \ucd94\ud6c4\uc5d0 \ubc1b\uc544\ub4e4\uc774\ub294 \ubb38\uc790\uc5f4\uc758 \uc2e4\uc81c \uae38\uc774\uc5d0 \ub530\ub77c \ub370\uc774\ud130\uc758 \ud06c\uae30\uac00 \ubcc0\ud560 \uc218 \uc788\ub294 \uc0c1\ud669\uc774 \ub418\ub294 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uacbd\uc6b0\uc5d0\ub294 \ucef4\ud30c\uc77c \uc624\ub958\uc5d0\uc11c \uc548\ub0b4\ub41c \uac83 \ucc98\ub7fc <code>?Sized<\/code>\ub97c template\uc758 type\uc5d0 \ucd94\uac00\ud574\uc11c type \ud655\uc778\uc5d0 \ub300\ud55c \uc81c\ud55c\uc744 \uc644\ud654\ud574 \uc8fc\uba74 \ud574\ub2f9 \uc624\ub958\uac00 \ud574\uacb0\ub418\uba74\uc11c <code>str<\/code> type\uc758 \ud568\uc218 template\ub3c4 \uc798 \ub3d9\uc791\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"false\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$> objdump -d -C .\/print_item|grep print_item\n.\/print_item:\tfile format mach-o arm64\n00000001000008c0 &lt;print_item::print_item::&lt;alloc::string::String>>:\n0000000100000908 &lt;print_item::print_item::&lt;f64>>:\n0000000100000950 &lt;print_item::print_item::&lt;str>>:\n000000010000099c &lt;print_item::print_item::&lt;f32>>:\n00000001000009e4 &lt;print_item::print_item::&lt;i32>>:\n0000000100000a2c &lt;print_item::print_item::&lt;i64>>:\n0000000100000d58 &lt;print_item::main>:\n...\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\ud06c\uae30\ub97c \uc54c\uc544\uc57c \ub41c\ub2e4\ub9e4?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ubd80\ubd84\uc758 \uacbd\uc6b0\uc5d0\ub294 Rust compiler\uac00 \uc554\ubb35\uc801\uc73c\ub85c <code>Sized<\/code> Marker Trait\uc744 \uc790\ub3d9\uc73c\ub85c \ubd99\uc5ec\uc8fc\uc5b4\uc11c \uadf8 \ud06c\uae30\ub97c \uc54c\uace0 \uc788\ub2e4\uace0 \uc54c\ub9b0\ub2e4. \ud558\uc9c0\ub9cc \uc0ac\uc6a9\uc790\uac00 <code>?Sized<\/code>\ub97c \ubd99\uc774\ub294 \uacbd\uc6b0\uc5d0\ub294 \ud06c\uae30 \ud655\uc778\uc5d0 \ub300\ud55c \uc81c\uc57d\uc744 \uc644\ud654\ud574 \uc8fc\uc5b4\uc11c \ucef4\ud30c\uc77c\uc744 \uac00\ub2a5\ud558\uac8c \ud574\uc900\ub2e4. \uc704 \uc608\uc81c\uc758 \uacbd\uc6b0 <code>&amp;str<\/code> fat pointer\ub97c \ub118\uae30\uac8c \ub418\ubbc0\ub85c \uc2e4\uc81c \ub370\uc774\ud130 &#8220;hello&#8221;\uc758 \ud06c\uae30\ub294 \ub298\uac70\ub098 \uc904\uc5b4\ub4e4 \uc218 \uc788\uc5b4\ub3c4 \uc774\uac83\uc744 \uac00\ub9ac\ud0a4\uace0 \uc788\ub294 fat pointer\uc758 \ud06c\uae30 \uc790\uccb4\ub294 \ubcc0\ud558\uc9c0 \uc54a\uc73c\ubbc0\ub85c <code>?Sized<\/code> \ub85c \uc870\uac74\uc744 \uc644\ud654\ud574\ub3c4 \ubb38\uc81c\uac00 \uc5c6\ub294 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\uc2dc \ub9d0\ud574\uc11c, \ucef4\ud30c\uc77c \ud0c0\uc784\uc5d0 &#8220;\ubaa8\ub4e0&#8221; \ub370\uc774\ud130 \ud0c0\uc785\uc758 \ud06c\uae30\ub97c \uc54c\uace0 \uc788\uc5b4\uc57c \ud55c\ub2e4\ub294 \uac83\uc740 Rust\uc5d0\uc11c \uc5c4\ubc00\ud558\uac8c \ub9d0\ud574 \uc815\ud655\ud558\uc9c0 \uc54a\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc880 \ub354 \uc815\ud655\ud558\uac8c \ub9d0\ud558\uc790\uba74: <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>&#8220;\uc2a4\ud0dd\uc5d0 \uc9c1\uc811 \uc62c\ub77c\uac00\ub294 \uac12\uc774\ub098 \ubcc0\uc218\uc758 \ud06c\uae30\ub294 \ucef4\ud30c\uc77c \ud0c0\uc784\uc5d0 \ubc18\ub4dc\uc2dc \uc54c\uc544\uc57c \ud558\uc9c0\ub9cc, \ud3ec\uc778\ud130\ub098 \ucc38\uc870\uc790\ub85c \uac04\uc811 \ucc38\uc870\ud558\ub294 \ub370\uc774\ud130\ub294 \uadf8\ub807\uc9c0 \uc54a\uc544\ub3c4 \ub41c\ub2e4.&#8221;<\/em><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc5d0\uc11c &#8220;\uadf8\ub807\uc9c0 \uc54a\uc544\ub3c4 \ub418\ub294&#8221; \uc870\uac74\uc5d0<code> &amp;str<\/code> template\uc5d0 \ud574\ub2f9\ud558\ub294 \uac83\uc774\uc5b4\uc11c <code>?Sized<\/code>\ub85c \uc774\uac83\uc744 \ud480\uc5b4 \uc904 \uc218 \uc788\uc5c8\ub358 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sized \/ ?Sized Marker Trait<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Sized<\/code>\ub294 Rust \ud45c\uc900 \ub77c\uc774\ube0c\ub7ec\ub9ac(<code>std::marker::Sized<\/code>)\uc5d0 \uc815\uc758\ub41c \ub9c8\ucee4 \ud2b8\ub808\uc774\ud2b8(marker trait)\uc774\ub2e4. <code>Sized<\/code> marker trait\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \ud2b9\uc9d5\uc744 \uac00\uc9c4\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uba54\uc18c\ub4dc\uac00 \uc5c6\uc74c:<\/strong> \uc2e4\ud589\ud574\uc57c \ud560 \ud568\uc218\uac00 \uc5c6\uace0, \ucef4\ud30c\uc77c\ub7ec\uc5d0\uac8c &#8220;\uc774 \ud0c0\uc785\uc740 \ud06c\uae30\ub97c \ucef4\ud30c\uc77c \ud0c0\uc784\uc5d0 \uc54c \uc218 \uc788\ub2e4&#8221;\uace0 \uc54c\ub824\uc8fc\ub294 \ud45c\uc2dd \uc5ed\ud560\ub9cc \uc218\ud589.<\/li>\n\n\n\n<li><strong>\uae30\ubcf8\uac12(Default):<\/strong> Rust\uc5d0\uc11c \uc81c\ub124\ub9ad \ud0c0\uc785 \ud30c\ub77c\ubbf8\ud130\ub97c \ub9cc\ub4e4 \ub54c, \uc6b0\ub9ac\uac00 \ub530\ub85c \uc801\uc9c0 \uc54a\uc544\ub3c4 \ucef4\ud30c\uc77c\ub7ec\ub294 \uae30\ubcf8\uc801\uc73c\ub85c <code>T: Sized<\/code>\uac00 \ubd99\uc5b4 \uc788\ub294 \uac83\uc73c\ub85c \uac04\uc8fc.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub7f0\uac8c \uc65c \ud544\uc694\ud560\uae4c?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub9cc\uc57d, Rust\uac00 <code>Sized \/ ?Sized<\/code> \uac19\uc740  \ubc88\uc811\ud55c marker trait\uc744 \ube7c\uace0 &#8220;\ubaa8\ub4e0 \ud0c0\uc785\uc758 \ud06c\uae30\ub97c \ubab0\ub77c\ub3c4 \ub41c\ub2e4&#8221;\ub77c\uace0 \uae30\ubcf8 \uc124\uc815\uc744 \ud588\ub2e4\uba74 \ucef4\ud30c\uc77c \ud0c0\uc784\uc5d0 &#8216;\ubaa8\ub4e0&#8217; \ub370\uc774\ud130 \ud06c\uae30\ub97c \uc54c\uace0 Zero cost abstraction \uc815\ucc45\uc73c\ub85c stack\uc744 \uc911\uc2ec\uc73c\ub85c \ud558\ub294 \ud6a8\uc728\uc801 \ub370\uc774\ud130 \ud560\ub2f9\uc744 \ud1b5\ud55c \uc131\ub2a5 \ucd5c\uc801\ud654 \ucd94\uad6c\ub97c \uc704\ud55c \uc124\uacc4 \ucca0\ud559 \uc790\uccb4\uac00 \uc774\ub904\uc9c8 \uc218 \uc5c6\uc5c8\uc744 \uac83\uc774\ub2e4. \ubaa8\ub4e0 \ub370\uc774\ud130\uac00 \ub3d9\uc801\uc73c\ub85c \ud560\ub2f9\ub418\ub294 heap\uc5d0 \uc788\uc5c8\uc5b4\uc57c \ud588\uc744 \ud14c\ub2c8 \ub9d0\uc774\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uc2a4\ud0dd(Stack):<\/strong> CPU\uc758 \uc2a4\ud0dd \ud3ec\uc778\ud130 \ub808\uc2a4\ud2b8\ud130\uc640 \ubcc0\uacbd\ud558\uba74 \ub418\ub294 \ub9e4\uc6b0 \ube60\ub978 \uba54\ubaa8\ub9ac \ud560\ub2f9, \ub370\uc774\ud130\uc758 \ud06c\uae30\ub97c \ubbf8\ub9ac \uc54c\uace0 \uc788\ub294 \uacbd\uc6b0(Sized\uac00 \uc120\uc5b8\ub41c \uacbd\uc6b0) \uc774 \uc601\uc5ed\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc74c.<\/li>\n\n\n\n<li><strong>\ud799(Heap):<\/strong> \ube48 \uacf5\uac04\uc744 \uac80\uc0c9\ud558\uace0, \ub2e8\ud3b8\ud654\ub97c \uad00\ub9ac\ud558\uba70 \uc6b4\uc601\uccb4\uc81c \uc2dc\uc2a4\ud15c \ucf5c\uc744 \ubd80\ub97c \uc218\ub3c4 \uc788\ub294 \uc0c1\ub300\uc801\uc73c\ub85c \ub290\ub9b0 \ub3d9\uc801 \ud560\ub2f9.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Rust\uc758 \ubaa8\ub4e0 generic\uc774 \uae30\ubcf8\uc801\uc73c\ub85c <code>Sized<\/code>\ub97c \ubcf4\uc7a5 \ud568\uc73c\ub85c\uc368, \ub370\uc774\ud130\ub97c \uc2a4\ud0dd\uc5d0 \uc62c\ub824 \ub458 \uc218 \uc788\uc5c8\ub358 \uac83\uc774\uace0 \uc774\uac83\uc774 Rust\uc758 \ube60\ub978 \uc131\ub2a5\uc758 \ubc14\ud0d5\uc774 \ub41c\ub2e4. \uacb0\ub860\uc801\uc73c\ub85c <code>?Sized<\/code>\ub294 \uc774 \ucca0\ud559\uc744 \uae68\ub294 \uac83\uc740 \uc544\ub2c8\uace0 fat pointer\uc758 \uace0\uc815\ub41c \ud06c\uae30\ub294 \uc54c\uace0 \uc788\uc73c\ub2c8 \uadf8\uac83\uc774 \uac00\ub9ac\ud0a4\uace0 \uc788\ub294 \uc601\uc5ed\uc5d0 \ub300\ud55c \uac80\uc0ac \uc870\uac74\uc744 \uc644\ud654 \ud574\ub3c4 \ubb38\uc81c\uac00 \uc5c6\ub2e4\ub294 \ud45c\uc2dc\uc778 \uac83\uc774\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uac04\ub2e8\ud55c Rust Template \ud568\uc218\ud558\ub098\ub97c \uc0dd\uac01\ud574 \ubcf4\uc790. Argument &#8216;T&#8217;\ub97c \ubc1b\uc544\uc11c \ud654\uba74\uc5d0 \ucd9c\ub825\ud558\ub294 \ucf54\ub4dc\uc774\ub2e4. Template\uc758 \ucde8\uc9c0\uc5d0 \ub9de\uac8c \ub118\uaca8\uc9c0\ub294 argument\uc758 type\uc744 \ub2ec\ub9ac\ud558\uba74 \uadf8\uc5d0 \ud574\ub2f9\ud558\ub294 \ud568\uc218\ub4e4\uc774 \uc790\ub3d9\uc73c\ub85c \ub9cc\ub4e4\uc5b4\uc9c0\uace0 \ud574\ub2f9 \ucf54\ub4dc\uac00 \ud638\ucd9c\ub41c\ub2e4. objdump\ub97c \uc774\uc6a9\ud574\uc11c \uc774 template\uc5d0 \uc758\ud574 \uc2e4\uc81c\ub85c \uc0dd\uc131\ub41c \ud568\uc218\ub4e4\uc744 \uc0b4\ud3b4\ubcf4\uba74 \ub2e4\uc74c\uacfc \uac19\uc774 \uac01 \ub370\uc774\ud130 \ud0c0\uc785\uc5d0 \ub300\ud574 \uc0dd\uc131\ub41c \uac83\ub4e4\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4. \ubb38\uc790\uc5f4 \uc2ac\ub77c\uc774\uc2a4 template \uc774\ubc88\uc5d0\ub294 print_item() \ud568\uc218\uc5d0 &amp;str type\uc744 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[5],"tags":[266,423,491,490],"class_list":["post-4876","post","type-post","status-publish","format-standard","hentry","category-programming","tag-memory","tag-rust","tag-sized","tag-trait"],"jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":4528,"url":"https:\/\/litcoder.com\/?p=4528","url_meta":{"origin":4876,"position":0},"title":"Rust unittest\ub97c \uc704\ud55c \uc758\uc874\uc131 \uaca9\ub9ac","author":"litcoder","date":"2026\ub144 9\uc6d4 2\uc77c","format":false,"excerpt":"\ub2e4\ud589\ud788\ub3c4 \uc6b0\ub9ac\ub294 unittest\uc758 \uc720\uc6a9\ud568 \uc798 \uc54c\ub824\uc9c4 \uc2dc\ub300\uc5d0 \uc0b4\uace0 \uc788\uae30\uc5d0 \ub354 \uc774\uc0c1 unittest\ub97c \uc9c0\uc6d0\ud558\ub294 \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4\ub97c \ud2b9\ubcc4\ud558\uac8c \ubc1b\uc544\ub4e4\uc774\uc9c0 \uc54a\ub294\ub2e4. Rust\ub294 \ube44\uad50\uc801 \ucd5c\uc2e0 \uc5b8\uc5b4\uc778 \ub9cc\ud07c \uc774\ub7ec\ud55c \uc694\uad6c\uc0ac\ud56d\ub4e4\uc744 \uc801\uadf9\uc801\uc73c\ub85c \ubc1b\uc544\ub4e4\uc5ec \ubd80\uac00\uc801\uc778 \ud504\ub808\uc784\uc6cc\ud06c\uc758 \ub3c4\uc6c0 \uc5c6\uc774\ub3c4 \uc5b8\uc5b4 \uc790\uccb4\uc5d0\uc11c \uae30\ubcf8\uc801\uc778 unittest\uac00 \uc798 \uc9c0\uc6d0\ub41c\ub2e4. \ub2e4\ub9cc, Rust\ub294 \uc0c1\uc18d\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0 Python, Java, C++ \uac19\uc740 \uac1d\uccb4\uc9c0\ud5a5 \uc5b8\uc5b4\uc5d0\uc11c \uc758\uc874\uc131\uc744\u2026","rel":"","context":"&quot;Programming&quot;\uc5d0\uc11c","block_context":{"text":"Programming","link":"https:\/\/litcoder.com\/?cat=5"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4520,"url":"https:\/\/litcoder.com\/?p=4520","url_meta":{"origin":4876,"position":1},"title":"Rust \ud504\ub85c\uadf8\ub798\ubc0d, \ucf54\ub4dc \uac00\ub3c5\uc131\uc744 \ub192\uc774\uae30 \uc704\ud55c and_then() \ud65c\uc6a9","author":"litcoder","date":"2026\ub144 6\uc6d4 24\uc77c","format":false,"excerpt":"Rust\ub294 \uc120\uc5b8\uc801 \ud504\ub85c\uadf8\ub798\ubc0d\uc744 \uc801\uadf9\uc801\uc73c\ub85c \uc0ac\uc6a9\ud558\uae30\uc5d0 method chaining\uc744 \ub9ce\uc774 \uc0ac\uc6a9\ud558\ub294\ub370 \uc774\ub294 \uac00\ub3c5\uc131\uc744 \ub192\uc774\uace0 \ucef4\ud30c\uc77c\ub7ec\uac00 \ucd5c\uc801\ud654\ub97c \uc218\ud589\ud558\ub294\ub370 \uc801\ud569\ud55c \ud615\ud0dc\uc774\uae30 \ub54c\ubb38\uc774\ub2e4. \uc774 \ud3ec\uc2a4\ud305\uc5d0\uc11c\ub294 method chaining\uc744 \uc720\uc9c0\ud558\uba74\uc11c\ub3c4 \uc911\ucca9\ub41c Result \ud639\uc740 Option \ud615\uc2dd\uc744 \ud53c\ud560 \uc218 \uc788\ub294 and_then()\uc5d0 \ub300\ud574 \uc54c\uc544\ubcf8\ub2e4. match \ubb38\uc744 \uc774\uc6a9\ud55c \ucc98\ub9ac \uc138\uac1c\uc758 \ud568\uc218 \uac01\uac01\uc774 \ub2e4\uc74c\uacfc \uac19\uc774 Result\ub97c \ubc18\ud658\ud55c\ub2e4\uace0 \ud574\ubcf4\uc790. use std::io::{Error, ErrorKind}; \/\/\/\u2026","rel":"","context":"&quot;Programming&quot;\uc5d0\uc11c","block_context":{"text":"Programming","link":"https:\/\/litcoder.com\/?cat=5"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3939,"url":"https:\/\/litcoder.com\/?p=3939","url_meta":{"origin":4876,"position":2},"title":"gRPC Streaming\uc73c\ub85c \uc0c1\ud0dc \uc804\uc1a1 \ubc1b\uae30 \uc608\uc81c","author":"litcoder","date":"2026\ub144 7\uc6d4 29\uc77c","format":false,"excerpt":"gRPC\uc5d0\uc11c Observer pattern\uc744 \uad6c\ud604\ud558\ub294 \uc608\uc81c\ub97c \uace0\ubbfc\ud588\ub358 \uc801\uc774 \uc788\uc5c8\ub294\ub370(gRPC\ub97c \uc774\uc6a9\ud55c Observer Pattern) \uc54c\uace0\ubcf4\ub2c8 gRPC\uc5d0\uc11c\ub294 ReadReactor \/ WriteReactor \ubcf4\ub2e4 \uac04\ub2e8\ud558\uac8c object\uc758 \uc0c1\ud0dc \ubcc0\uacbd\uc744 \uac10\uc9c0\ud560 \uc218 \uc788\ub294 \uba54\ucee4\ub2c8\uc998\uc744 \uc81c\uacf5\ud558\uace0 \uc788\uc5c8\ub2e4. gRPC\ub97c \uc774\uc6a9\ud55c Observer pattern \uad6c\ud604 \uc608\uc81c\ub97c \ucc3e\uae30 \uc5b4\ub824\uc6e0\ub358 \uc774\uc720\uac00 \uc5b4\uca4c\uba74 \uadf8\ub7f0 \ubcf5\uc7a1\ud55c \ud328\ud134 \uc5c6\uc774\ub3c4 \uad6c\ud604\uc774 \uac00\ub2a5\ud558\uae30 \ub54c\ubb38\uc774\uc5c8\ub294\uc9c0\ub3c4 \ubaa8\ub974\uaca0\ub2e4. \uc774 \ud3ec\uc2a4\ud305\uc5d0\uc11c\ub294 Stream\uc744 \ud1b5\ud574 \ubcc0\uacbd\ub418\ub294\u2026","rel":"","context":"&quot;Programming&quot;\uc5d0\uc11c","block_context":{"text":"Programming","link":"https:\/\/litcoder.com\/?cat=5"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2026\/07\/Screenshot-2026-07-10-at-6.34.33-PM.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2026\/07\/Screenshot-2026-07-10-at-6.34.33-PM.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2026\/07\/Screenshot-2026-07-10-at-6.34.33-PM.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2026\/07\/Screenshot-2026-07-10-at-6.34.33-PM.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":4281,"url":"https:\/\/litcoder.com\/?p=4281","url_meta":{"origin":4876,"position":3},"title":"Rust: comparison is useless due to type limits","author":"litcoder","date":"2026\ub144 6\uc6d4 17\uc77c","format":false,"excerpt":"\"\ud0c0\uc785 \uc81c\ud55c \ub54c\ubb38\uc5d0 \uc774 \ube44\uad50\uc5f0\uc0b0\uc740 \uc4f8.\ubaa8.\uc5c6.\ub2e4.\" IndexSet\uc774 \ud558\ub098 \uc788\ub2e4\uace0 \ud560 \ub54c, \uadf8 \uc548\uc5d0 \ud558\ub098\ub77c\ub3c4 \uc544\uc774\ud15c\uc774 \uc788\uc73c\uba74 true\ub97c \ubc18\ud658\ud558\uace0 \uc544\ub2c8\uba74 false\ub97c \ubc18\ud658\ud558\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 Rust code\ub97c \uc0dd\uac01\ud574 \ubcf4\uc790. use indexmap::IndexSet; fn has_item(item_set: &IndexSet<String>) -> bool { item_set.iter().count() >= 0 } \uac04\ub2e8\ud558\uac8c unittest\uc5d0 \ub123\uc5b4\uc11c \uc0c8\ub85c \uc0dd\uc131\ud574\uc11c \uc544\ubb34 \uc6d0\uc18c\ub3c4 \uc5c6\ub294 IndexSet\uc744 \ud558\ub098 \ub9cc\ub4e4\uc5b4\uc11c\u2026","rel":"","context":"&quot;Programming&quot;\uc5d0\uc11c","block_context":{"text":"Programming","link":"https:\/\/litcoder.com\/?cat=5"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2026\/05\/rust_unused_comparisons.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":4374,"url":"https:\/\/litcoder.com\/?p=4374","url_meta":{"origin":4876,"position":4},"title":"Rust \ud504\ub85c\uadf8\ub798\ubc0d\uc5d0\uc11c map() \ud65c\uc6a9","author":"litcoder","date":"2026\ub144 5\uc6d4 13\uc77c","format":false,"excerpt":"Python\uc774 \uadf8\ub7ec\ud558\ub4ef Rust\ub3c4 declarative programming(\uc120\uc5b8\ud615 \ud504\ub85c\uadf8\ub798\ubc0d)\uc744 \uc9c0\uc6d0\ud55c\ub2e4. \uadf8 \uc911 map()\uc740 \uc774\ub7ec\ud55c \ucf54\ub529\uc2a4\ud0c0\uc77c\uc758 \ub300\ud45c\ucc98\ub7fc \uc0ac\uc6a9\ub418\uace0\ub294 \ud558\ub294\ub370, \uc774\uac83\uc744 \uc774\uc6a9\ud558\uba74 \uae38\uace0 \uc7a5\ud669\ud55c \ucf54\ub4dc\ub97c \uac04\uacb0\ud558\uac8c \ub098\ud0c0\ub0bc \uc218 \uc788\ub2e4. \uae30\ubcf8\uc801 \uc0ac\uc6a9\ubc95 1 \ubd80\ud130 10\uae4c\uc9c0 1\uc529 \uc99d\uac00\ud558\ub294 \uac12\uc744 \uac00\uc9c4 i32 \ud615\uc758 10\uce78\uc9dc\ub9ac \ubc30\uc5f4 arr\uc774 \uc788\ub2e4\uace0 \ud560 \ub54c, \uadf8 \uc548\uc5d0 \uc788\ub294 \uac01 \uc6d0\uc18c\ub4e4\uc5d0 2\ub97c \uacf1\ud558\ub294 \ucf54\ub4dc\uc774\ub2e4. \/\/\u2026","rel":"","context":"&quot;Programming&quot;\uc5d0\uc11c","block_context":{"text":"Programming","link":"https:\/\/litcoder.com\/?cat=5"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3208,"url":"https:\/\/litcoder.com\/?p=3208","url_meta":{"origin":4876,"position":5},"title":"C++ template \uc120\uc5b8\uacfc \uad6c\ud604\uc744 \uc11c\ub85c \ub2e4\ub978 \ud30c\uc77c\uc5d0 \ub098\ub20c \uc218 \uc5c6\ub2e4","author":"litcoder","date":"2023\ub144 3\uc6d4 6\uc77c","format":false,"excerpt":"\ucee4\uc2a4\ud140 Queue \ud074\ub798\uc2a4\ub97c \uc791\uc131\ud558\ub294\ub370 queue\uc758 item\uc740 \ucd94\ud6c4\uc5d0 \ubcc0\uacbd \ub420 \uc218 \uc788\uc73c\ubbc0\ub85c \ud15c\ud50c\ub9bf\uc73c\ub85c \uc791\uc131\ud558\uace0\uc790 \ud55c\ub2e4. Queue class\ub97c header\uc5d0 \uc815\uc758\ud558\uace0 \uad6c\ud604\uc744 cpp \ud30c\uc77c\uc5d0 \uc791\uc131\ud574 \uc900\ub2e4\uc74c main \ud568\uc218\uc5d0\uc11c \ub2e4\uc74c\uacfc \uac19\uc774 queue\ub97c \uc0dd\uc131\ud558\uace0 \ucef4\ud30c\uc77c\uc744 \uc2dc\ub3c4\ud55c\ub2e4. \ub2e4\uc74c\uc740 \ud574\ub2f9 template\uc744 \uc0ac\uc6a9\ud558\ub294 caller(main \ud568\uc218)\uc774\ub2e4. \/\/ \/\/ C++ template instantiation test. \/\/ \/\/ - litcoder #include <iostream> #include\u2026","rel":"","context":"&quot;Programming&quot;\uc5d0\uc11c","block_context":{"text":"Programming","link":"https:\/\/litcoder.com\/?cat=5"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/4876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4876"}],"version-history":[{"count":29,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/4876\/revisions"}],"predecessor-version":[{"id":4930,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/4876\/revisions\/4930"}],"wp:attachment":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4876"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}