Rust: рд╕реА рдЗрдВрдЯрд░рдСрдк рдХреЗ рд▓рд┐рдП рдмрд┐рдЯ рдлрд╝реАрд▓реНрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 22 рдЕрдЧре░ 2013  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: rust-lang/rust

рдХреБрдЫ рд╕реА рдПрдкреАрдЖрдИ рдореЗрдВ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдмрд┐рдЯрдлреАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпреЗ рдЕрднреА рдЬрдВрдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЛрдЭрд┐рд▓ рд╣реИрдВред рд╢рд╛рдпрдж рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рд╕рдорд░реНрдерди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдореИрдХреНрд░реЛ рдЬреЛ рдЗрд╕рдХреА рджреЗрдЦрднрд╛рд▓ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рд░реНрд╡реЛ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд Azure рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд░рд╕реНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рддреЗ рд╣реБрдП рдореИрдВ рдЕрднреА рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЕрдбрд╝ рдЧрдпрд╛ред рдореИрдВ рдмрд┐рдЯрдлрд╝реАрд▓реНрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрддреНрд╕реБрдХ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдмрд╣реБрдд рд╕реЗ рдПрдореНрдмреЗрдбреЗрдб рд╕реА/рд╕реА ++ рдХреЛрдб рд╡рд┐рдХрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╣рдо рдпреВрдПрдЖрд░рдЯреА рдХрдиреЗрдХреНрдЯреЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд░рд╛рдЬреНрдп рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рдЯрдлреАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд░рд╛рдЬреНрдп рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдмрд┐рдЯрдлреАрд▓реНрдбреНрд╕ рдХреА рдмрджреМрд▓рдд рдпрд╣ рдмрд╣реБрдд рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИред рдХрдо рд╕реНрдореГрддрд┐ рдмрд╛рдзрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдмреВрд▓рд┐рдпрди, рдХреБрдЫ рдЫреЛрдЯреЗ рдкреВрд░реНрдгрд╛рдВрдХ рдФрд░ рдПрдирдо рдХреЛ рдПрдХрд▓ рд╕реЗ рдХреБрдЫ рдмрд┐рдЯреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд╛рдл рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд░рд╕реНрдЯ 4KB - 16KB рдореЗрдореЛрд░реА рд░реЗрдВрдЬ рд╡рд╛рд▓реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЪрд▓рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд░рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореБрдЭреЗ рд╕рд┐рдВрдЧрд▓ рдмрд┐рдЯ рдлреНрд▓реИрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдХреНрд░реЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддреЛ рдореИрдВ рд░рд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рдмрд┐рдЯрдлрд╝реАрд▓реНрдб рдмрд╣реБрдд рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдХреЛрдб рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдореИрдХреНрд░реЛрдЬрд╝ рдЕрдкрдардиреАрдп рдмреНрд▓реЛрдЯ рдмрдирд╛рддреЗ рд╣реИрдВред рдЬрд╣рд╛рдВ рдПрдмреАрдЖрдИ/рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд░реЗрдЦрдг рд╕рдВрдЧрддрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореИрдХреНрд░реЛрдЬрд╝ рд╣реА рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╢рд╛рдпрдж рд░рд╕реНрдЯ рдореЗрдВ рд╕рд░реНрд╡реЛ рдпрд╛ рдЕрдиреНрдпрдерд╛ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдЬреИрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореЗрдореЛрд░реА рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдмрд┐рдЯрдлреАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИрдВред

рд╕рднреА 14 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рд▓рдЧрддрд╛ рд╣реИред рдореИрдВ рдкрд╣рд▓реЗ рдореИрдХреНрд░реЛ рд░реВрдЯ рдХреЛ рдЖрдЬрдорд╛рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рдирд╣реАрдВ рд▓рдЧрддрд╛... рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдпреВрдВрдЯ рдФрд░ рд╕реНрдкрд╖реНрдЯ рдорд╛рд╕реНрдХрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдареАрдХ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмрд┐рдЯрд╕реЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдореИрдХреНрд░реЛрдЬрд╝ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдареАрдХ рд╣реЛрдВрдЧреЗред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдмрд┐рдЯрдлрд╝реАрд▓реНрдб рдХрд╛ рд▓реЗрдЖрдЙрдЯ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреНрд▓реИрдВрдЧ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрд▓рдПрд▓рд╡реАрдПрдо рдирд╣реАрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рдерд╛, рдЬрд┐рд╕рд╕реЗ рд╣рдореЗрдВ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдлреА рджрд░реНрдж рд╣реЛрдЧрд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдирд┐рд╖реНрдкрдХреНрд╖ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕реА рдореЗрдВ рднреА рдмрд┐рдЯрдлреАрд▓реНрдб рдХреА рдЕрдкреАрд▓ рдХреЛ рдХрднреА рдирд╣реАрдВ рд╕рдордЭрд╛ред рдРрд╕рд╛ рд╣рдореЗрд╢рд╛ рд▓рдЧрддрд╛ рдерд╛ рдХрд┐ рдпрд╣ рд▓реЗрдЖрдЙрдЯ рдФрд░ рдорд╛рд╕реНрдХрд┐рдВрдЧ рдФрд░ рдмрд╛рдХреА рд╕рднреА рдХреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рд╕реМрдВрдк рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЖрдк рдХреЗрд╡рд▓ рддрднреА рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рдЖрдк рд╡рд┐рд╡рд░рдгреЛрдВ рдХреА рдмрд╣реБрдд рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВ -- рдареАрдХ рддрдм рдЬрдм рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред

рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ (рдФрд░ рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп) рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдмрд┐рдЯрдлрд╝реАрд▓реНрдб рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдХрд▓рдХ рдХреА рдХреЛрдб рдкреАрдврд╝реА рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИред рд╕рдВрд░реЗрдЦрдг, рдХреНрд░рдо рдФрд░ рд▓реЗрдЖрдЙрдЯ рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдПрдмреАрдЖрдИ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╣реЛрдЧрд╛: http://gcc.gnu.org/onlinedocs/gcc/Structures-unions-enumerations-and-bit_002dfields-implementation.html

рд╣рд╛рдБ, рдореИрдВ рдЗрд╕рд╕реЗ рдмрдЪ рд░рд╣рд╛ рд╣реВрдБред

рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╕рд░реНрд╡реЛ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЗрди рдореБрджреНрджреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдлрд╝реАрд▓реНрдб рдХреЛ рдкреНрд░рд╛рдкреНрдд/рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реА рд╢рд┐рдореНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛?

рд░рд╕реНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рддреЗ рд╣реБрдП рдореИрдВ рдЕрднреА рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЕрдбрд╝ рдЧрдпрд╛ред рдореИрдВ рдмрд┐рдЯрдлрд╝реАрд▓реНрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрддреНрд╕реБрдХ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдмрд╣реБрдд рд╕реЗ рдПрдореНрдмреЗрдбреЗрдб рд╕реА/рд╕реА ++ рдХреЛрдб рд╡рд┐рдХрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╣рдо рдпреВрдПрдЖрд░рдЯреА рдХрдиреЗрдХреНрдЯреЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд░рд╛рдЬреНрдп рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рдЯрдлреАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд░рд╛рдЬреНрдп рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдмрд┐рдЯрдлреАрд▓реНрдбреНрд╕ рдХреА рдмрджреМрд▓рдд рдпрд╣ рдмрд╣реБрдд рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИред рдХрдо рд╕реНрдореГрддрд┐ рдмрд╛рдзрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдмреВрд▓рд┐рдпрди, рдХреБрдЫ рдЫреЛрдЯреЗ рдкреВрд░реНрдгрд╛рдВрдХ рдФрд░ рдПрдирдо рдХреЛ рдПрдХрд▓ рд╕реЗ рдХреБрдЫ рдмрд┐рдЯреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд╛рдл рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд░рд╕реНрдЯ 4KB - 16KB рдореЗрдореЛрд░реА рд░реЗрдВрдЬ рд╡рд╛рд▓реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЪрд▓рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд░рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореБрдЭреЗ рд╕рд┐рдВрдЧрд▓ рдмрд┐рдЯ рдлреНрд▓реИрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдХреНрд░реЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддреЛ рдореИрдВ рд░рд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рдмрд┐рдЯрдлрд╝реАрд▓реНрдб рдмрд╣реБрдд рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдХреЛрдб рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдореИрдХреНрд░реЛрдЬрд╝ рдЕрдкрдардиреАрдп рдмреНрд▓реЛрдЯ рдмрдирд╛рддреЗ рд╣реИрдВред рдЬрд╣рд╛рдВ рдПрдмреАрдЖрдИ/рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд░реЗрдЦрдг рд╕рдВрдЧрддрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореИрдХреНрд░реЛрдЬрд╝ рд╣реА рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╢рд╛рдпрдж рд░рд╕реНрдЯ рдореЗрдВ рд╕рд░реНрд╡реЛ рдпрд╛ рдЕрдиреНрдпрдерд╛ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдЬреИрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореЗрдореЛрд░реА рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдмрд┐рдЯрдлреАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИрдВред

@RushPL : рд░рд╕реНрдЯ рдореИрдХреНрд░реЛрдЬрд╝ C рдореИрдХреНрд░реЛрдЬрд╝ рдХреА рддрд░рд╣ рдирд╣реАрдВ рд╣реИрдВред рд╡реЗ рдПрдХ рдкрд╛рдареНрдп рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд╣реАрдВ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди (рдШреЛрд╖рдгрд╛рддреНрдордХ рдореИрдХреНрд░реЛрдЬрд╝) рдпрд╛ рд░рд╕реНрдЯ рдХреЛрдб (рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдореИрдХреНрд░реЛрдЬрд╝) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреЛрдХрди рдкреЗрдбрд╝реЛрдВ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рддреЗ рд╣реИрдВред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдирдХреЗ рдмрд┐рдирд╛ рдмреЗрд╣рддрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд░рд╕реНрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЯрд╛рдЗрдк-рдЪреЗрдХ рдХрд┐рдП рдЧрдП рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ ( std::fmt ) рдЬреИрд╕реА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рдореИрдХреНрд░реЛрдЬрд╝ рдХрд╛ рднрд╛рд░реА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдареАрдХ рд╣реИ, рдЗрд╕рдореЗрдВ рдЕрднреА рднреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛, рд╣реИ рдирд╛? (рдЗрд╕рд▓рд┐рдП рдХреЛрдб рддреНрд░реБрдЯрд┐ рдкреНрд░рд╡рдг рдмрдирд╛рдирд╛)
let some_state = int_from_bits!(object.state, 3, 5) // 5 bit number from bit 3
рдмрдирд╛рдо
let some_state = object.some_state // compiler does all the magic as it should be

рдареАрдХ рд╣реИ, рдПрдХ рдЪреАрдЬ рдЬреЛ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд╣ рд╣реИ struct рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ред рд░рд╕реНрдЯ рдХреЗ рдХрдВрдкрд╛рдЗрд▓-рдЯрд╛рдЗрдо рдлрдВрдХреНрд╢рди рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдиреБрдХрд╕рд╛рди рдирд┐рд░рдВрддрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рд╣реИред

рдмрд┐рдЯрдлрд╝реАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдиреЗ рдкрд░ рдЖрдк рд╕реА рдпрд╛ рд╕реА ++ рдХреЗ рд╕рд╛рде рд╡рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░ рд░рд╣рд╛ рд╣реИ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЬрд╡рд╛рдм? рдХреЛрдИ рд╕рд╣рд╛рдпрдХ рдЬреЗрдирд░рд┐рдХ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╡реИрд╕реЗ рднреА, рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдЖрдХрд╛рд░ рдФрд░ рдПрдореНрдмреЗрдбреЗрдб рдлрд╝реАрд▓реНрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рд╕реЗ рдХреЗрд╡рд▓ рдореЗрд░реЗ 2 рд╕реЗрдВрдЯред

рджреЗрдЦреЗрдВ: рдЖрд░рдПрдлрд╕реА: рдмрд┐рдЯ рдлрд╝реАрд▓реНрдб рдФрд░ рдмрд┐рдЯ рдорд┐рд▓рд╛рди
https://github.com/rust-lang/rfcs/pull/29

рдХреНрдпрд╛ рдирдпрд╛ bitflags! рдореИрдХреНрд░реЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИ?

https://github.com/mozilla/rust/pull/13072

рдЧреБрдирдЧреБрдиреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рдЕрд╕реНрдкрд╖реНрдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдмрдВрдж рдХрд░рдирд╛ рд╕рдордЭрджрд╛рд░реА рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ RFCs рд░реЗрдкреЛ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: rust-lang/rfcs#314

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

defuz picture defuz  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

eddyb picture eddyb  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dtolnay picture dtolnay  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mcarton picture mcarton  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Robbepop picture Robbepop  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ