Rust: `..=` рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ (RFC #1192) рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдХрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ -- рдореВрд▓ рд░реВрдк рд╕реЗ `...`

рдХреЛ рдирд┐рд░реНрдорд┐рдд 4 рд╕рд┐рддре░ 2015  ┬╖  331рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: rust-lang/rust

рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐

рд╣рдо рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдФрд░ рдкреИрдЯрд░реНрди рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ ..= рдмрджрд▓рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдкреИрдЯрд░реНрди рдореЗрдВ ... рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕реНрдерд┐рд░ рд╣реИ рдФрд░ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП (рдЪреБрдкрдЪрд╛рдк) рдкрджрд╛рд╡рдирдд рд░рд╣реЗрдЧрд╛; rustfmt ... рд╕реЗ ..= рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдХрд╛рдлреА рдЪрд░реНрдЪрд╛ рдХреЗ рдмрд╛рдж рдЖрдпрд╛ рд╣реИред рдФрдЪрд┐рддреНрдп рдХреЗ рд▓рд┐рдП рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВред

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

рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо

  • [x] рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
  • [x] ..= рдХреЛ рдкреИрдЯрд░реНрди рдореЗрдВ ... рдкрд░реНрдпрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓реЗрдВ рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ ..= рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП #44709
  • [x] рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг

    • [x] рдмреБрдХ рд░рд╕реНрдЯ-рд▓реИрдВрдЧ/рдмреБрдХ#1134

    • [x] рд╕рдВрджрд░реНрдн рд░рд╕реНрдЯ-рд▓реИрдВрдЧ-рдирд░реНрд╕рд░реА/рд╕рдВрджрд░реНрдн#215

    • [x] рдЬрдВрдЧ-рджрд░-рдЙрджрд╛рд╣рд░рдг рдЬрдВрдЧ-рд▓рдВрдЧ/рдЬрдВрдЧ-рджрд░-рдЙрджрд╛рд╣рд░рдг#1015

  • [x] https://github.com/rust-lang/rfcs/pull/1980 рдиреЗ RangeInclusive рдмрджрд▓рд╛рд╡ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛
  • [x] рд╕реНрдерд┐рд░реАрдХрд░рдг #47813

    • рдиреЛрдЯ: рд╕реНрдерд┐рд░реАрдХрд░рдг рдХреЗ рдЗрд╕ рджреМрд░ рд╕реЗ RangeInclusive рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдкрд░ #49022 рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗрдВред

B-RFC-implemented B-unstable C-tracking-issue E-mentor T-lang T-libs disposition-merge finished-final-comment-period

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

рд▓реИрдВрдЧ рдЯреАрдо рдиреЗ рдЖрдЬ рд╣рдорд╛рд░реА рдмреИрдардХ рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рдлрд┐рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА, рдФрд░ рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкрд░ рдкрд╣реБрдВрдЪреЗ:

  • рд╕рд╣рд╛рдпрдХ ... рдкреИрдЯрд░реНрди рдореЗрдВ рдФрд░ .. рднрд╛рд╡ рдореЗрдВ, рдФрд░ рдХреБрдЫ рдирд╣реАрдВ, рдПрдХ рдЕрд╕реНрдерд┐рд░ рдбрд┐рдЬрд╛рдЗрди рд╣реИ, рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

  • рджреЛрдиреЛрдВ рдЬрдЧрд╣реЛрдВ рдкрд░ ... рдФрд░ .. рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рд╕реЗ рдорджрдж рдорд┐рд▓реЗрдЧреА, рд▓реЗрдХрд┐рди рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдорд╕реНрдпрд╛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЪрд┐рдВрддрд╛ рд╣реИ; рд╣рдо рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЧрд▓рдд рдЕрд╡рдзрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рдШрдВрдЯреЛрдВ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рдирд╣реАрдВ рд╣реИред

  • ..= рдФрд░ .. рдЬрд╛рдирд╛ рд╕реМрдВрджрд░реНрдп рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ рдХрдо рдЖрдХрд░реНрд╖рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдкрд░реЛрдХреНрдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЗрд╕реЗ рдмрд╣реБрдд рд╣реА рд╕реМрдореНрдп рддрд░реАрдХреЗ рд╕реЗ рднреА рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдкрд╣рд▓реЗ ..= рдХреЛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдкреЗрд╢ рдХрд░реЗрдВ (рдЬрд┐рд╕реЗ rustfmt рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИ), рдФрд░ рдЗрд╕рдХреЗ рдореБрд╣рд╛рд╡рд░реЗрджрд╛рд░ рдмрдирдиреЗ рдХреЗ рдмрд╛рдж рд╣реА, ... рд╣рдЯрд╛ рджреЗрдВред

рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЯреАрдо рдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ..= рдФрд░ .. рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХрд╛ рд╣рдорд╛рд░рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд░рд╛рд╕реНрддрд╛ рд╣реИред рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рднреА рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдирдП рддрд░реНрдХ рдЙрдард╛рдП рдЬрд╛рдПрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ: рд╣рдо рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП ..= рдЕрдВрдХрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдЧрд╛ред рдкреИрдЯрд░реНрди рдФрд░ рднрд╛рд╡, рдФрд░ рдмрд╛рдж рдореЗрдВ рд╣рдо рдЬрд╛рдПрдБрдЧреЗ FCP!

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

рд╢рд╛рдпрдж a..b| рдпрд╛ a..b]

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЯрд╛рдЗрдкреЛ (.. рдмрдирд╛рдо ...) рдХреЗ рдХрд╛рд░рдг рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдирдИ рддрд░рд╣ рдХреА рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрддрд╛ рдЦреЛрд▓реЗрдЧрд╛ред рдмреЗрд╣рддрд░ рд╣реИ рдЕрдЧрд░ рдпрд╣ .... (4 рдЕрд╡рдзрд┐)ред рдЗрд╕ рддрд░рд╣ рдпрд╣ рдорд╛рдирд╡ рдХрд╛рд░рдХ, рдЖрдИрдПрдордУ рдХреЗ рд▓рд┐рдП рдХрдо рддреНрд░реБрдЯрд┐-рдкреНрд░рд╡рдг рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ https://github.com/rust-lang/rfcs/pull/1592 рдФрд░ https://github.com/rust-lang/rfcs/pull/1582 рд╕рдВрдпреБрдХреНрдд рд░реВрдк рд╕реЗ ..= рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдорд▓рд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ред рдЬрдм рддрдХ рдХреЛрдИ рдмрдбрд╝реЗ рдЯрдкрд▓ рдХреЗ рд╕рд╛рдордиреЗ рдЯрдкрд▓ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (head..., tail) рд╕реЗ рдмреЗрд╣рддрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ред

рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЗрд╕рд▓рд┐рдП рдорд┐рд▓реА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдХреЛрдб рдореЗрдВ _off-by-one- dot _ рддреНрд░реБрдЯрд┐ рдереА рдЬрдм рдореИрдВ рд╡рд┐рд╢реЗрд╖ рд╢реНрд░реЗрдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

... рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд▓рд┐рдПред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЖрд╕рд╛рди-рд╕реЗ-рдЧрд▓рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реЛрдирд╛ рдЬреЛ рдПрдХ-рдПрдХ рдХрд░рдХреЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ, рдПрдХ рдлреБрдЯрдЧрди рд╣реЛрдЧрд╛ред

рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрдкрдпреЛрдЧреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ..=

рдХреНрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдПрдХ рдЦреБрд▓рд╛ рдкреНрд░рд╢реНрди рд╣реИ? рдЪреВрдВрдХрд┐ ... рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореИрдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рд╣реИ,

рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ ... рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреВрдВрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЪреВрдВрдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА .. рдЕрдирдиреНрдп рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, .. рдкрджрд╛рд╡рдирдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдФрд░ рдХреЗрд╡рд▓ ... рдЕрдиреБрдорддрд┐ рджреВрдВрдЧрд╛ред

рдореИрдВ рд╕реА-рд▓рд╛рдЗрдХ рдлреЙрд░ рд▓реВрдкреНрд╕ for i in 0..foo.len() рдХреЗ рдмрд░рд╛рдмрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХрд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ (рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд░рд╕реНрдЯ рдХреЗ рдЗрдЯрд░реЗрдЯрд░ "1-рдЖрдпрд╛рдореА" рд╣реИрдВ рдФрд░ рдЕрдХреНрд╕рд░ 2D рд╕рд░рдгрд┐рдпреЛрдВ рдпрд╛ рдЧреИрд░-рд░реИрдЦрд┐рдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЬреАрдм)ред

рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд▓рдЧрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдХрднреА рдирд╣реАрдВ рднрд╛рдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЬрдВрдЧ usize рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рд╣реИред рдпрджрд┐ рдореИрдВрдиреЗ for i in 0..(len as usize) рд╢реНрд░реЗрдгреА рдмрдирд╛рддреЗ рд╕рдордп рдХрд╛рд╕реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рд▓реВрдк рдХреЗ рдЕрдВрджрд░ рд╡реИрд╕реЗ рднреА i as usize рдЖрдзрд╛ рджрд░реНрдЬрди рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЪреВрдВрдХрд┐ рдпрд╣ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЕрднреА рднреА рдлреАрдЪрд░-рдЧреЗрдЯреЗрдб рд╣реИ, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЬрд╣рд╛рдЬ рд░рд╡рд╛рдирд╛ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред

рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╕реНрд╡рд┐рдлреНрдЯ рд╕рдорд╛рд╡реЗрд╢реА рдХреЗ рд▓рд┐рдП ... рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП ..< рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд╕рдорд╛рд╡реЗрд╢реА рдХреЗ рд▓рд┐рдП ..= рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХрд╛рдлреА рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИред

рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ "рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ" рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЬрдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛ рд░рд╣рд╛ рдерд╛, рдореБрдЭреЗ рдПрдХ рд╕реНрдирд┐рдкреЗрдЯ рдорд┐рд▓рд╛ рдЬреЛ рдЗрд╕рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

fn fizzbuzz_to(n: u32) {
    for n in 1..n + 1 {
        fizzbuzz(n);
    }
}

рдпреВрдкреА ? рдореИрдВ

рдореИрдВ a ..= b рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдФрд░ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд░рдПрдлрд╕реА рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рдЪрд░реНрдЪрд╛ рд╕реВрддреНрд░ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИред

рдЖрдИрдПрдордПрдЪрдУ ..= рдЕрдЬреАрдм рд▓рдЧ рд░рд╣рд╛ рд╣реИред рд╕реНрд╡рд┐рдлреНрдЯ рдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг ... рдФрд░ ..< рдореБрдЭреЗ рдмреЗрд╣рддрд░ рд▓рдЧрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рджреЛ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдЗрд▓рд┐рдкреНрд╕рд┐рд╕ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ - рдЗрд▓рд┐рдкреНрд╕рд┐рд╕ рдХрд╛ рдЕрд░реНрде рдЪреВрдХ рд╣реИ рдФрд░ рд╣рдо рд╕реАрдорд╛ рдХреЗ рдкреНрд░рд╛рд░рдВрдн рдФрд░ рдЕрдВрдд рдХреЗ рдмреАрдЪ рдХреА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЫреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВред

рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ ... рдФрд░ .. рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдерд╛ред рдЖрдкрдХреЗ рдкрд╛рд╕ 1 рд╡рд░реНрдг рдЕрдВрддрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП +/- рдпрд╛ x/y рдпрд╛ рдЬреЛ рднреА рд╣реЛ, рд╕реЗ рдЧрд▓рддреА рдХрд░рдирд╛ рдХрдард┐рди рд╣реИред

рдЪреВрдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдЧрд▓рдд рд╕рдордЭрд╛ рдерд╛ (рдФрд░ рдЗрд╕рд▓рд┐рдП рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рд╣рдЯрд╛ рджреА):

рд░рд╕реНрдЯ рдХреА RFC рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЗрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреА рдкрд╣рд▓реЗ рд╣реА рд╕рдореАрдХреНрд╖рд╛ рдХреА рдЬрд╛ рдЪреБрдХреА рд╣реИ, рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛ рдЪреБрдХреА рд╣реИ рдФрд░ RFC рдкреБрд▓ рдЕрдиреБрд░реЛрдз 1192 рдореЗрдВ рд╕реНрд╡реАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореБрджреНрджрд╛ рд╡рд╣рд╛рдВ рдкрд╣рд▓реЗ рд╕реЗ рддрдп рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддрд╛ рд╣реИред рдЪрд░реНрдЪрд╛ рдореЗрдВ рдХрдИ рдмрд┐рдВрджреБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рд▓реЛрдЧ рдпрд╣рд╛рдВ рдЙрдард╛ рд░рд╣реЗ рд╣реИрдВ: рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ (рдХреЛрдИ рдирдпрд╛ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдирд╣реАрдВ), рд░реВрдмреА рдХреЗ рд╕рдорд╛рди рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЖрджрд┐ред

рдпрджрд┐ рдЖрдк рджреГрдврд╝рддрд╛ рд╕реЗ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╕реБрд╡рд┐рдзрд╛ рдЕрд▓рдЧ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рдЙрд╕реА RFC рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рддрд░рд╣ рднрд╛рд╖рд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдореБрджреНрджрд╛ рдЙрд╕рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИред

@jimblandy рд╢рд╛рдпрдж рд╣рдорд╛рд░реЗ рдкрд╛рд╕ @nikomatsakis рдЙрд╕ рд╡рд┐рдирдореНрд░ рдЕрдиреБрд╕реНрдорд╛рд░рдХ рдФрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд┐рдЧ рдкреНрд░рд┐рдВрдЯ рдореЗрдВ рдкрд╣рд▓реА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ

@shepmaster _all_ рдЯреНрд░реИрдХрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реЛрдЧреАред

рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдирд╛рдорд╛рдВрдХрди/рд╕рдВрднрд╛рд╡рд┐рдд FCP

рд╣рдордиреЗ @rust-lang/lang рдмреИрдардХ рдореЗрдВ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреАред рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реЗ рдирд╛рдЦреБрд╢ рд╣реЛрдиреЗ рдХреА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рднрд╛рд╡рдирд╛ рдереА - рд╣рдордиреЗ рдЗрд╕реЗ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЙрд╕ рдкрд░ рд░реЛрдХ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред ... рдХреЛ рд▓реЗрдХрд░ рджреЛ рдкреНрд░рдореБрдЦ рдЖрдкрддреНрддрд┐рдпрд╛рдВ рд╣реИрдВ:

  • .. рдФрд░ ... рдмреАрдЪ рднреНрд░рдо рдХреА рдЖрд╕рд╛рдиреА;
  • @aturon рд╕реЛрдЪ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХ "рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдХреНрд╖рдо" рд░реЗрдВрдЬ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реЛрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ - рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдкреАрдЖрдИ рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ btree рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдФрд░ рдЖрдЧреЗред

рдЙрд╕ рдЕрдВрдд рддрдХ, рд╣рдо рд╕реЛрдЪ рд░рд╣реЗ рдереЗ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдЖрд░рдПрдлрд╕реА рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдЧрд╛ рдЬреЛ рдХрд┐ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдирд┐рдЪрд▓реА рдФрд░ рдКрдкрд░реА рд╕реАрдорд╛рдПрдВ рд╕рдорд╛рд╡реЗрд╢реА рдпрд╛ рдЕрдирдиреНрдп рд╣реЛрдВрдЧреА рдпрд╛ рдирд╣реАрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @aturon рдРрд╕реЗ RFC рдкрд░ рдХрд┐рд╕реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдХреЗ рдЦреБрд╢ рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рд░реБрдХ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ libstd ( рдКрдкрд░ рд▓рд┐рдВрдХ) рдореЗрдВ рдЙрди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдХреНрд╖рдо рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЪрд░реНрдЪрд╛ рд╕реВрддреНрд░ рдЦреЛрд▓рд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдиреЗ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдХреА :(

рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреБрдЫ рдЗрдирдкреБрдЯ рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рдПрдХ рдирдП RFC рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ libstd (рдКрдкрд░ рд▓рд┐рдВрдХ) рдореЗрдВ рдЙрди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдХреНрд╖рдо рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЪрд░реНрдЪрд╛ рд╕реВрддреНрд░ рдЦреЛрд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдиреЗ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдХреА :(

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

@рджреБрд░реНрдХрд╛

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рд░реБрдХ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ libstd (рдКрдкрд░ рд▓рд┐рдВрдХ) рдореЗрдВ рдЙрди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдХреНрд╖рдо рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рд╕реВрддреНрд░ рдЦреЛрд▓рд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдиреЗ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдХреА :(

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЛрдЯреЗ рддреМрд░ рдкрд░ рд╣рдорд╛рд░реЗ рдорди рдореЗрдВ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдерд╛, рд╣рд╛рдБред


@рдкреЗрдЯреНрд░реЛрдЪреЗрдирдХреЛрд╡

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

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

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЛрдЯреЗ рддреМрд░ рдкрд░ рд╣рдорд╛рд░реЗ рдорди рдореЗрдВ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдерд╛, рд╣рд╛рдБред

рдХреМрди - рд╕рд╛? рдореИрдВрдиреЗ рдЕрдкрдиреА рдкреЛрд╕реНрдЯ рдореЗрдВ рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╕реБрдЭрд╛рдПред

рдореИрдВ рдЕрдХреНрд╕рд░ рд╕рдорд╛рд╡реЗрд╢реА рдкрд░реНрд╡рддрдорд╛рд▓рд╛ рд╕реЗ рдЕрдзрд┐рдХ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдкрд╕рдВрдж рдЖрдпрд╛ 0...x рдХреЗ рдмрдЬрд╛рдп 0..(x + 1) ред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ?

рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рд░рд╕реНрдЯ рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рдХреЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдореБрдЭреЗ рдХреЗрд╡рд▓ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдкреИрдЯрд░реНрди рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ:

рдЗрд╕реЗ рд╡реИрд╕реЗ рд╣реА рд▓реЗрдирд╛

1..4 // 1, 2, 3
1...4 // 1, 2, 3, 4

рдЬреЛ рдПрдХ рдареАрдХ рд╕рдорд╛рдзрд╛рди IMHO рд╣реИ рдФрд░ рдкреИрдЯрд░реНрди-рдорд┐рд▓рд╛рди рдореЗрдВ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЧрдгрд┐рдд рд╕реЗ рдЙрдзрд╛рд░ рд▓реЗрдВ

[1, 4] // 1, 2, 3, 4
[1, 4[ // 1, 2, 3
]1, 4] // 2, 3, 4
]1, 4[ // 2, 3

рдЬреЛ рд╕рдмрд╕реЗ рдкреВрд░реНрдг рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ, рд▓реЗрдХрд┐рди рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдирд┐рдпрдо рдЦреЛрд▓рдиреЗ рдФрд░ рдмрдВрдж рдХрд░рдиреЗ рдХреА рд╕рдорд╛рди рдорд╛рддреНрд░рд╛ рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреГрд╖реНрдЯрд┐ рд╕реЗ рдХрдард┐рди рд╣реИред

рдкрд╛рдпрдерди рд╕реЗ рдЙрдзрд╛рд░ рд▓реЗрдВ

1:1:=5 // 1, 2, 3, 4, 5
1:1:<5 // 1, 2, 3, 4

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

рдЬрдм рд╕реНрдЯреЗрдкрд╕рд╛рдЗрдЬрд╝ рдЗрд╕ рдЪрд░реНрдЪрд╛ (рдпрд╛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ) рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ ..= рдФрд░ ..< рдмрд╣реБрдд рд╣реА рдЙрдЪрд┐рдд рд▓рдЧрддреЗ рд╣реИрдВ!

рдЕрджреНрдпрддрди: рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ..= рдФрд░ ..< рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛ред рд╕реНрдЯреЗрдкрд╕рд╛рдЗрдЬрд╝ рдХреЛ рдПрдбреЙрдкреНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрдиреЗ рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдореЗрдВ рдЕрд╡рд░реЛрд╣реА рд╢реНрд░реЗрдгреА рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП? рд░реЗрдВрдЬ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдорд╛рдзрд╛рди рдХрд╛рдлреА рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ (рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рд╣реЛрдВ)ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрдк рдмрд┐рдирд╛ рднреЗрдВрдЧрд╛рдкрди рдХрд┐рдП рдЗрд╕реЗ рдкрдврд╝ рдФрд░ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ?

for i in (1..l.len()).rev() { ... }

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдФрд░ рдЧрд┐рдЯрд╣рдм рдХреЗ рдлрд╝реЙрдиреНрдЯ рдХреЗ рд╕рд╛рде рдпрд╣ рдФрд░ рднреА рднреНрд░рдорд┐рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ l 1 рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдХрджрдо рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред

рд╣рдо рдореИрдЯрд▓реИрдм рд╕рд┐рдВрдЯреИрдХреНрд╕, a:b рдФрд░ a:step:b ред

рдирд╡рдВрдмрд░ 4, рд╡рд░реНрд╖ 2016 00:50 рдкрд░, "рдУрдЯ" [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдХрджрдо рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/rust-lang/rust/issues/28237#issuecomment -258344460,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAC3n3kwnGH6POQb4dGwCwJ8yOGqPSBQks5q6rmDgaJpZM4F4LbW
.

@durka рддреЛ рд╡рд░реНрддрдорд╛рди .. рдХреЗ рдмрд░рд╛рдмрд░ рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдВ a рдпрд╛ b ? рдмрд╕ : ?

рдХреБрдЫ рдРрд╕рд╛ рдЬреЛ рдореИрдВрдиреЗ RFC рдореЗрдВ рдиреЛрдЯ рдирд╣реАрдВ рджреЗрдЦрд╛: рдХреНрдпрд╛ рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд╛рдореЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛?

рдпрджрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ, рддреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрд░реНрде рд╣реЛрдиреЗ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝реАрд▓реНрдб рдирд╛рдореЛрдВ рдХрд╛ рд╣реЛрдирд╛ рдореВрд▓реНрдпрд╡рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП "рд░реЗрдВрдЬ.рд╕реНрдЯрд╛рд░реНрдЯ" рд╕рднреА рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ "рдирд┐рдЪрд▓рд╛ рд╕рдорд╛рд╡реЗрд╢реА рдмрд╛рдЙрдВрдб" рд╣реИред рд▓реЗрдХрд┐рди "рд░реЗрдВрдЬ.рдПрдВрдб" рдХрднреА-рдХрднреА рд╕рдорд╛рд╡реЗрд╢реА рдФрд░ рдХрднреА-рдХрднреА рдЕрдирдиреНрдп рд╣реЛрддрд╛ рд╣реИред "рдЕрдВрдд" рдФрд░ (рд╕реНрдЯреНрд░реЙрдореИрди) "рдЕрдВрддрд┐рдо" рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред

(рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдпрджрд┐ рд░реЗрдВрдЬ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ>...)

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдХреЛ рдЕрднреА рднреА std::Collections::range::RangeArgument рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

pub trait RangeArgument<T> {
    fn start(&self) -> Option<&T> { ... }
    fn end(&self) -> Option<&T> { ... }
}

рдлрд┐рд░

impl RangeArgument<T> for RangeToInclusive<T> {
   fn end(&self) {
     Some(self.end+1)
   }
}

рддрд╛рдХрд┐ fn foo<T, R: RangeArgument<T>>(arg: R) рд╕рдорд╛рд╡реЗрд╢реА рдпрд╛ рдЕрд░реНрдз-рдЦреБрд▓реА рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рд▓реЗ рд╕рдХреЗрдВред

@durka рдП: рдмреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЯрд╛рдЗрдк рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рд╕рдВрджрд┐рдЧреНрдз рд╣реИред рдХреНрдпрд╛ рдЖрдк рдПрдХ рдЪрд░ b , рдпрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ b рдорд╛рдВрдЧ рд░рд╣реЗ рд╣реИрдВ? рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫреЗ рд░рд╕реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдо рдЕрдкрдиреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдХреИрдкрд┐рдЯрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрдВрдкрд╛рдЗрд▓рд░ рдЗрд╕рдХрд╛ рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред

.. рдЧрдгрд┐рдд рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдСрдкрд░реЗрдЯрд░ ( @dusee рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░):

[1..4] // 1, 2, 3, 4
[1..4[ // 1, 2, 3
]1..4] // 2, 3, 4
]1..4[ // 2, 3

рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ ( @0tt рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░):

fn fizzbuzz_to(n: u32) {
    for n in [1..n + 1] {
        fizzbuzz(n);
    }
}

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдо рдХреЗрд╡рд▓ рд╕рдВрдХреЗрдд рдХреЗ рд░реВрдк рдореЗрдВ .. рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реАрдорд╛рдПрдВ [ рдФрд░ ] рджреНрд╡рд╛рд░рд╛ рджреА рдЧрдИ рд╣реИрдВ

@adelarsq : рдЬрдВрдЧ рдореЗрдВ рд╣рдореЗрдВ рдЙрди рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рдирдореЗрдВ рд╢реБрд░реБрдЖрдд рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдмреНрд░реИрдХреЗрдЯ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗрд╡рд▓ рддрднреА рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЬрдм рдЙрдиреНрд╣реЗрдВ рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рддреА рд╣реИред рд╕рд╛рде рд╣реА, рдмреНрд░реИрдХреЗрдЯ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдкрд╣рд▓реЗ рд╣реА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ..= рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдЪрд┐рдд рд╡рд┐рдХрд▓реНрдк рд╣реИред
.. рд╕реЗ рдиреЗрддреНрд░рд╣реАрди рдЕрдВрддрд░ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЬреЛ ... рдирд╣реАрдВ рд╣реИред ... рдЬрдм рдЕрд░реНрде .. рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ ..= ред
(рдпрд╣ рдЧрд▓рддреА рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреБрд▓рдиреАрдп рд╣реИ if(a = b) рдХреЗ рдмрдЬрд╛рдп if(a == b) рджреГрд╢реНрдп noticeability рдФрд░ рдмрдЧ рдХреНрд╖рдорддрд╛ рдореЗрдВ рд╕реА рдореЗрдВ, рджреЛрдиреЛрдВ)ред
рдФрд░ ..= рдпрд╛рдж рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрд╕рдХреЗ рдЕрд░реНрде рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд╣реИ ( i ..= j рдЕрд░реНрде рд╣реИ рд╕реАрдорд╛ i .. j рдФрд░ рдЬрд╣рд╛рдВ i = j )ред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рдореБрдЦ рд╢рд┐рдХрд╛рдпрдд рдпрд╣ рд╣реИ рдХрд┐ ... рдмрд╣реБрдд рд╣рдж рддрдХ .. ред рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЬрдм рдЕрдиреНрдп рд╕реБрдЭрд╛рд╡ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдЕрдзрд┐рдХ рд╡рд░реНрдг рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рдХреЛрдИ рднреА рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдХреБрдЫ рдЬрдЧрд╣реЛрдВ рдкрд░ рдмреНрд░реИрдХреЗрдЯ рдорд┐рд▓рд╛рди рдФрд░ рдЙрдкрдпреЛрдЧ рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рд╣реЛрддреА рд╣реИрдВред
рддреЛ, рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП .... рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╕реАрдорд╛ рдХреА рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рднреА рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЪрд░рд┐рддреНрд░ рд▓реЗрддрд╛ рд╣реИред рдпрд╣ рдмрд╣рд╕ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ ..= рд╕реЗ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рдЬреАрддрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред
for i in 0....10 { println!("just a thought"); }

рдпрджрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рдорд╛рд╡реЗрд╢реА рдереЗ ..! рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рд▓рдЧрднрдЧ рдПрдХ рдирд┐рд╖реЗрдз рдХреЗ рд░реВрдк рдореЗрдВ)ред

.... рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ ... рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ рддреЛ рдХреБрдЫ рднреНрд░рдо рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ ... рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд░реВрдмреА рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рдЙрд▓рдЯрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рддрдХ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк ..= рд╣реИред

@adelarsq, .... рдСрдкрд░реЗрдЯрд░ рдХреА рдЬрдЧрд╣ рд▓реЗрдВрдЧреЗ ... рддреЛ рдСрдкрд░реЗрдЯрд░, рдпрджрд┐ рдЖрдк рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА .. рдФрд░ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреЛрдбрд╝рд╛ . рдПрдХ рд╕рдВрдХрд▓рди, рдпрд╣ рд╣реЛрдЧрд╛ рд╕рдордп рддреНрд░реБрдЯрд┐, рдпрджрд┐ рдЖрдкрдиреЗ .... рдФрд░ рдПрдХ рдмрд┐рдВрджреБ рднреВрд▓ рдЧрдП, рддреЛ рдпрд╣ рднреА рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреАред

рдЪреВрдВрдХрд┐ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рдореЗрдВ, ... рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП ... рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред
рдЪрд░рдг рдХреЗ рд╕рд╛рде рд╢реНрд░реЗрдгреА рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╣рд╛рд╕реНрдХреЗрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 1,3..9 => [1,3,5,7]

рд╕реНрдЯреЗрдк/рд░рд┐рд╡рд░реНрд╕, рдЖрджрд┐ рдХреЗ рд╕рд╛рде рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдПред рдореИрдВ рдПрдХ рдЬрдЯрд┐рд▓ рд╢рд╛рдмреНрджрд┐рдХ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ рдЬрдорд╛рдиреЗ рдХреЗ рдлрд╝рдВрдХреНрд╢рди (рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХрд╛ Range рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░) рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

рдореИрдВ рдХреНрд╡рд╛рдб-рдбреЙрдЯ .... рд╕рд╛рде рдареАрдХ рд░рд╣реВрдВрдЧрд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ ..= IMHO рднреА рдареАрдХ рд╣реИ)ред рдЗрд╕реЗ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рдореЗрдВ рднреА рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИ (рдФрд░ рдЕрдВрддрддрдГ рдкреИрдЯрд░реНрди рдореЗрдВ ... рдХреЛ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред

рдореЗрд░реЗ рд▓рд┐рдП ..= рдПрдХ рджреГрд╢реНрдп рд╕рдВрдХреЗрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ .... рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рдЕрднреА рдХреБрдЫ рджреЗрдЦрд╛:

рдЧрдгрд┐рдд рдореЗрдВ рдЖрдк тИА i: 0 тЙд i < 10 рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╣реЛрдЧрд╛

for i in 0 ..< 10 { }

рдпрд╣ рд╕реБрд╕рдВрдЧрдд рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрдерди тИА i: 0 тЙд i тЙд 10 рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╣реЛрдЧрд╛

for i in 0 ..= 10 { }

рдпрд╣рд╛рдБ, рдХрд╛ рдЕрдиреБрд╡рд╛рдж = рд╣реИ, рдЬреЛ рдЕрд╕рдВрдЧрдд рд▓рдЧрддрд╛ рд╣реИред

рдпрд╣ рдмрд╛рдЗрдХ рд╢реЗрдбрд┐рдВрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди

for x in 0 ..<= 10 { }

рдЕрдзрд┐рдХ рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИред рдпрд╣ рдореЗрд░реА рд╕реА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ

for (unsigned int i = 0; i <= 10; ++i) { }

"рдЬрдм рддрдХ i рдЫреЛрдЯрд╛ рд╣реИ рдпрд╛ 10 рдмрд░рд╛рдмрд░ рд╣реИ, рддрдм рддрдХ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ"ред рд╕реАрдЖрдИ рдореЗрдВ рд▓реВрдк рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ == рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореВрд▓реНрдп рдкрд░ рдХреВрджрдиреЗ рдФрд░ рдЕрдирдВрдд рд▓реВрдк рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рд░рд╕реНрдЯ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди for i in 1 ..= 10 рд╕реЗ C рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рдареАрдХ рдпрд╣реА рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕реЗ рдФрд░ рдЖрдЧреЗ рд▓реЗ рдЬрд╛рдирд╛,

for i in 0 <..<= 10 { }

рд╕реНрд╡-рд╡реНрдпрд╛рдЦреНрдпрд╛рддреНрдордХ рд╣реЛрдЧрд╛ред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдпрд╣рд╛рдВ рдПрдХ рдЦрд░рд╛рдм рд░рд┐рд╡рд░реНрд╕ рдЙрджрд╛рд╣рд░рдг рдерд╛ рдЬреЛ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛ рдХрд┐ рдХреЗрд╡рд▓ = рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рднреНрд░рдорд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд░рдЪрдирд╛рддреНрдордХ рд╕реЗ рдЕрдзрд┐рдХ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдерд╛ред

@рдбреНрдпреВрд╕реА >=..> рд╕реНрд╡-рд╡реНрдпрд╛рдЦреНрдпрд╛рддреНрдордХ рдХреИрд╕реЗ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ <=..> (<= 10 рдФрд░ > 0) рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?
рдЖрдИрдПрдордУ рдпрд╣ рдЖрддреНрдо-рд╡реНрдпрд╛рдЦреНрдпрд╛рддреНрдордХ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЧреБрдкреНрдд рд╣реИ рдФрд░ рдПрдХ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╣реИред
(рдХреЛрдИ рднреА рдСрдкрд░реЗрдЯрд░ IMO 3 рд╡рд░реНрдгреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд▓рдВрдмрд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред
рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░рд┐рд╡рд░реНрд╕ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рджрд┐рд╢рд╛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ: .rev()
рд╣рдореЗрдВ рдХреЗрд╡рд▓ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдФрд░ рд╢рд╛рдпрдж .step_by() рд▓рд┐рдП рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЪрд░рдг рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЯреИрдХреНрд╕ a .. b | s (рдФрд░ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП: a ..= b | s ) рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@norru : рдЖрдкрдХрд╛ рдЙрджрд╛рд╣рд░рдг for i in (1..l.len()).rev() { ... } рдмрд╣реБрдд рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рдордп рдЖрдк рд╕реНрд▓рд╛рдЗрд╕ ( for x in arr[1..].rev() { ... } ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рднрд▓реЗ рд╣реА рдЖрдкрдХреЛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреА рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛-рд╢реИрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рдП (рдореВрд▓ рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рдЬрдм рдЖрдк рд╕рд░рдгреА рддрддреНрд╡реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ i рдирд╣реАрдВ рд╣реИрдВ), рддреЛ рдореБрдЭреЗ рдЗрд╕реЗ рдкрдврд╝рдирд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд▓рдЧрддрд╛ред (рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдорддреМрд░ рдкрд░ .. рдЖрд╕рдкрд╛рд╕ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВ рдЬрдм рддрд░реНрдХ рд╢рд╛рдмреНрджрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ: (1 .. arr.len()).rev() )

>=..> рд░рд╕реНрдЯ рдСрдкрд░реЗрдЯрд░реЛрдВ рдореЗрдВ рдордЫрд▓реА рдХреА рдЕрдзрд┐рдХ рдкреНрд░рдЬрд╛рддрд┐рдпрд╛рдВ!

рд▓реЗрдХрд┐рди рдореБрдЭреЗ ..<= рдмрд╣реБрдд рдкрд╕рдВрдж рд╣реИ (рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЙрд╣, match рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЬрд╣рд╛рдВ рдпрд╣ <= 0 => рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ :()

  • рдпрд╣ рд╕рд╛рджреЗ .. рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИ,
  • рдЗрд╕рдореЗрдВ += рдЕрд░реНрде рдирд╣реАрдВ рд╣реИ ..= ,
  • рдпрд╣ рд╕реНрд╡рд┐рдлреНрдЯ рдХреЗ ..< рд╕рд╛рде рднреА рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рд╕реБрд╕рдВрдЧрдд рд╣реИред рджреЛрдиреЛрдВ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЕрднрд┐рд╕рд░рдг рд╕рдВрднрд╡ рд╣реИ!
  • рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╕реАрдорд╛ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдПрдВ рдорд┐рд▓рддреА рд╣реИрдВ рдЬреЛ рдКрдкрд░реА рд╕реЗ рдХрдо рдпрд╛ рдЙрд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддреА рд╣реИрдВред

@pornel : >=..> more species of fish in Rust operators! рд╣реЗ :-)

@ рдмреЙрд╕реНрдХреЛрдк : рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЧрдгрд┐рдд рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреА рддрд░рд╣ рдкрдврд╝рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЖрддреНрдо-рд╡реНрдпрд╛рдЦреНрдпрд╛рддреНрдордХ рд╣реИ: 10 >= i > 2 ред рдЖрдкрдХреЗ рд╢реЗрд╖ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП: рдореИрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣рдордд рд╣реВрдВред рджреВрд╕рд░рд╛ рднрд╛рдЧ ..= рдмрдирд╛рдо ..<= рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдкреНрд░реЗрд░рдгрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрд╡рд░реЛрдзрдХреЛрдВ рдХреЛ рдкреЗрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВ рддрджрдиреБрд╕рд╛рд░ рдЕрдкрдирд╛ рдЙрддреНрддрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реВрдВрдЧрд╛ред

.. рдиреЛрдЯреЗрд╢рди рдкрд░ рдЪреЗрддрд╛рд╡рдиреА рдпрд╛ рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рдзреНрд╡рдЬ рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ .. рдореЗрд░реЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдХрд╣реАрдВ рднреА рджрд┐рдЦрд╛рдИ рджреЗ

рдореИрдВ ..= рд▓рд┐рдП рдПрдХ рдФрд░ рд╡реЛрдЯ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ

..< рдФрд░ ..<= рд▓рд┐рдП рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡реИрдз рдХреЛрдб рд╣реИрдВ (рдПрдХ рдЕрдиреНрдп рдореВрд▓реНрдп рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рд╕рд╣реА-рдЦреБрд▓реА рдЕрдирдиреНрдп рд╢реНрд░реЗрдгреА)ред

@thepowersgang

..< рдФрд░ ..<= рдХрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд╛рдиреНрдп рдХреЛрдб рд╣реИрдВ (рдПрдХ рд░рд╛рдЗрдЯ-рдУрдкрди рдПрдХреНрд╕рдХреНрд▓реВрд╕рд┐рд╡ рд░реЗрдВрдЬ рдХреА рддреБрд▓рдирд╛ рджреВрд╕рд░реЗ рдорд╛рди рд╕реЗ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ)ред

рдЬрдмрдХрд┐ рд╕рдЪ рд╣реИ, рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛрдиреЗ рдХреА рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ, рдирд╣реАрдВ?

рдореИрдВ рдпрд╣рд╛рдВ рдЕрдиреНрдп рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП ... рдХреЛ рдмрд╣реБрдд рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ .. рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореБрдЭреЗ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЪреБрдирдирд╛ рдкрдбрд╝рд╛, рддреЛ рдпрд╣ ..=

@nikomatsakis

рдореИрдВ ..< рдФрд░ ..<= рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрд╕ рдЖрдзрд╛рд░ рдкрд░ рдЦрд┐рд▓рд╛рдл рд╣реВрдВ рдХрд┐ рд╡реЗ рднрд╛рд╖рд╛ рдХреЗ рд╡реНрдпрд╛рдХрд░рдг рдХреЗ рдПрдХ рд╕рд╣рдЬ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рдмрдирд╛рддреЗ рд╣реИрдВред

рдЕрдзрд┐рдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдиреЛрдЯ рдкрд░, рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдХрдо рд╕реЗ рдХрдо рдмрджрд╕реВрд░рдд рдФрд░ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдЯрд░реНрдмреЛрдлрд┐рд╢ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рддрд╛ рд╣реВрдВред

рдореИрдВ рдХреЗ рд╕рд╛рде рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ .. рд╕рд╣реА рдЕрдирдиреНрдп рдХреЗ рд▓рд┐рдП рдФрд░ ..= рд╕рдорд╛рд╡реЗрд╢реА рдХреЗ рд▓рд┐рдП рдХреЗ рд░реВрдк рдореЗрдВ рджреГрд╢реНрдп рд▓рд╛рд▓рд┐рддреНрдп рдХреЗ рдмреАрдЪ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдВрддреБрд▓рди, рд╡реНрдпрд╛рдХрд░рдг рдХреЗ рдирд┐рдпрдореЛрдВ рд╕рд╣рдЬ рд╕рдордЭ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдХрдард┐рди рдмрдирд╛ рдХрд┐ред

рдХреНрдпрд╛ ... рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .. ? рдореБрдЭреЗ рдпрд╣ рдЗрддрдирд╛ рдкрд╕рдВрдж рдХреНрдпреЛрдВ рд╣реИ?

@рддреНрд╢реЗрдкрд╛рдВрдЧ

рдореБрдЭреЗ ... рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реМрдВрджрд░реНрдп рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ рдЖрдХрд░реНрд╖рдХ рд╣реИ ... рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рддрд░реНрдХ рджреЗрддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ if (x == 2) { рдмрдЬрд╛рдп if (x = 2) { рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдорд╛рди рдиреЛрдЯрд┐рд╕-рдЯреВ-рдиреЛрдЯрд┐рд╕ рдмрдЧ рдкреИрджрд╛ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рд╕реА/рд╕реА++ рдореЗрдВ if (x == 2) { ред (рдФрд░ рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЦрддрд░рд╛ рдирд┐рдХрд▓рд╛ред)

@ssokolow

рдЖрдИрдПрдордУ рдЬреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд▓рд╛рдЗрдирд┐рдВрдЧ рдпрд╛ рд╡рд┐рдХрд▓реНрдк рдЭрдВрдбреЗ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рдПрдХ рдлрд╝рд╛рдЗрд▓/рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдиреЛрдЯреЗрд╢рди рдорд┐рд╢реНрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред

рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ .... рдХреЛ рднреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВ, рдЪреМрдбрд╝рд╛рдИ/рджреВрд░реА рдХреЛ рджреЛрдЧреБрдирд╛ рдХрд░рдиреЗ рд╕реЗ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╡реЗ рджреЛрдиреЛрдВ рддрд░рдл рдкреНрд░рддреАрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдлрд╝реНрд▓реИрдВрдХ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ рдЬреЛ рдЙрд╕ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕реНрдерд╛рди рдХреЛ рдЕрд▓рдЧрд╛рд╡ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдХрд░ рджреЗрдЧрд╛ред

@ssokolow

рдореИрдВ .. рд░рд╛рдЗрдЯ-рдПрдХреНрд╕рдХреНрд▓реВрд╕рд┐рд╡ рдФрд░ ..= рд╕рдорд╛рд╡реЗрд╢реА рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдп рд▓рд╛рд▓рд┐рддреНрдп, рд╡реНрдпрд╛рдХрд░рдг рдирд┐рдпрдореЛрдВ рдХреЗ рдмреАрдЪ рд╕рд░реНрд╡реЛрддреНрддрдо рд╕рдВрддреБрд▓рди рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рд╕рд╣рдЬ рд░реВрдк рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИрдВ, рдФрд░ рджреЛрдиреЛрдВ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред

рдЗрд╕рд╕реЗ рдореЗрд░рд╛ рдХрд╛рдо рдмрдирддрд╛ рд╣реИред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдПрдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, <..<= )ред рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ .. рдФрд░ ..= 99.5% рдорд╛рдорд▓реЛрдВ рдХреА рддрд░рд╣ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЦреНрдп рдЙрдкрдпреЛрдЧ рдХреЗрд╕ drain рдЬреИрд╕реЗ рдПрдкреАрдЖрдИ рд╣реИрдВ, рдФрд░ рд╣рдордиреЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╡рд╣рд╛рдВ рдПрдХ

cc @rust-lang/libs

рд╣рдо рдЕрд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
рд╕рдВрд░рдЪрдирд╛ рд╢рд╛рдмреНрджрд┐рдХред

рдмреБрдз, 22 рдлрд░рд╡рд░реА, 2017 рдХреЛ рд╢рд╛рдо 4:50 рдмрдЬреЗ, рдирд┐рдХреЛ рдорд╛рддреНрд╕рд╛рдХрд┐рд╕ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@ssokolow https://github.com/ssokolow

рдореИрдВ рд╕рд╛рде рдЬрд╛рдКрдВрдЧрд╛ .. рд░рд╛рдЗрдЯ-рдПрдХреНрд╕рдХреНрд▓реВрд╕рд┐рд╡ рдФрд░ ..= рд╕рдорд╛рд╡реЗрд╢реА рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдХреЗ рд░реВрдк рдореЗрдВ
рджреГрд╢реНрдп рд▓рд╛рд▓рд┐рддреНрдп, рд╡реНрдпрд╛рдХрд░рдг рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрддреБрд▓рди рдЬреЛ рд╕рд╣рдЬ рд░реВрдк рд╕реЗ рдЖрд╕рд╛рди рд╣реИрдВ
рд╕рдордЭрдирд╛, рдФрд░ рджреЛрдиреЛрдВ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рдирд╛ рдХрдард┐рди рдмрдирд╛ рджреЗрддрд╛ рд╣реИред

рдЗрд╕рд╕реЗ рдореЗрд░рд╛ рдХрд╛рдо рдмрдирддрд╛ рд╣реИред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рднреА рдЪрд╛рд╣рддреЗ рд╣реИрдВ a
рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ (рдЬреИрд╕реЗ, <..<=)ред рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ .. рдФрд░ ..=
99.5% рдорд╛рдорд▓реЛрдВ рдХреА рддрд░рд╣ рдХрд╡рд░ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЦреНрдп рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдПрдкреАрдЖрдИ рдЬреИрд╕реЗ рдирд╛рд▓реА рд╣реИ,
рдФрд░ рд╣рдордиреЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╡рд╣рд╛рдВ рдПрдХ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдкрдирд╛рдпрд╛ рд╣реИ
https://doc.rust-lang.org/std/collections/struct.BTreeMap.html#method.range
.

cc @rust-lang/libs https://github.com/orgs/rust-lang/teams/libs

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/rust-lang/rust/issues/28237#issuecomment-281815665 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAC3n-aKwYKFq4VI9RizL0GkzXXSjTPwks5rfK2ngaJpZM4F4LbW
.

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ..= рдкреИрдЯрд░реНрди рдореЗрдВ рднреА рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛? рд╡рд╣рд╛рдВ рдореМрдЬреВрджрд╛ ... рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

рдЗрд╕реЗ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЕрд╕реНрддрд┐рддреНрд╡ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рдордЬрдмреВрдд рдорд┐рд╕рд╛рд▓ рд╣реИ
рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ, рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЖрд╢реБрд▓рд┐рдкрд┐ рдХреЗ рд░реВрдк рдореЗрдВред

рдмреБрдз, рдлрд╝рд░рд╡рд░реА 22, 2017 рдкрд░ 6:02 рдкреНрд░рдзрд╛рдирдордВрддреНрд░реА andrewtj рдкрд░ [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

рдореИрдВ рдЗрд╕реЗ рд▓реЗрддрд╛ рд╣реВрдБ..= рдкреИрдЯрд░реНрди рдореЗрдВ рднреА рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛? рдХрд╛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛
рдореМрдЬреВрджрд╛ ... рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рд╡рд╣рд╛рдБ?

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/rust-lang/rust/issues/28237#issuecomment-281834007 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAC3nw_DaOMNxuIKw6ZFfXJW95QyijY4ks5rfL6DgaJpZM4F4LbW
.

@durka @andrewtj рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрдВрдЧреЗред

..= рдХрд╛ рдЙрдкрдпреЛрдЧ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ += рдХреЗ рд╕рдорд╛рди рдЕрд░реНрде рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЬреНрд╡рд╛рд░ ~ , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 0~9 , 'A'~'Z' ред

..= рдХрд┐рд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдЧрд╛? - рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╣реИ рдХреНрдпреЛрдВрдХрд┐
1-9 == -8 ред

рдмреБрдзрд╡рд╛рд░ 22 рдлрд░рд╡рд░реА, 2017 рдХреЛ рд░рд╛рдд 8:04 рдмрдЬреЗ, рдЬреБрдирдлреЗрдВрдЧ рд▓рд┐рдпреВ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

..= рдХрд╛ рдЙрдкрдпреЛрдЧ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ += рдХреЗ рд╕рдорд╛рди рдЕрд░реНрде рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ ~ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 0~9, 'рдП'~'рдЬреЗрдб'ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/rust-lang/rust/issues/28237#issuecomment-281856846 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAC3n7N2dM4DAzc_uc5JdHit4IJgyvYGks5rfNsPgaJpZM4F4LbW
.

@durka ..= рдмрд╕ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░ рдХреА рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ, рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рджреБрд░реНрд▓рдн рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред ~ рдЬреНрд╡рд╛рд░ рдЙрдк рдирд╣реАрдВ рд╣реИред рдЙрдкрдпреЛрдЧ ... рднреА рдареАрдХ рд╣реИред

impl Fill for Range<String> {
   fn fill() -> String { ... }
}
impl FillAsign for RangeAssign<String> {
   fn fill(&mut self) { ... }
}
(String::new("abc") .. String::new("f")).fill()  // "abcdef"
(String::new("abc") ..= String::new("f")).fill()  //  ()

рдУрд╣ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдпрд╣ рдореЗрд░реЗ рдлрд╝реЙрдиреНрдЯ рдореЗрдВ рд╕рдорд╛рди рджрд┐рдЦрддрд╛ рд╣реИред рдореИрдВ рдкреВрдЫ рд░рд╣рд╛ рдерд╛, рдЕрдЧрд░ ..= рдПрдХ рдпреМрдЧрд┐рдХ рд╣реИ
рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░ рдЬреИрд╕реЗ +=, рдпрд╣ рдХреМрди рд╕рд╛ рдСрдкрд░реЗрд╢рди рдХрд░рддрд╛ рд╣реИ (рд╕рдВрдмрдВрдзрд┐рдд .)
рд╕реЗ +)?

рдмреБрдзрд╡рд╛рд░ 22 рдлрд░рд╡рд░реА, 2017 рдХреЛ рд░рд╛рдд 8:29 рдмрдЬреЗ, рдЬреБрдирдлреЗрдВрдЧ рд▓рд┐рдпреВ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@durka https://github.com/durka ..= рдмрд╕ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ
рдСрдкрд░реЗрдЯрд░реЛрдВ, рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рджреБрд░реНрд▓рдн рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред ~ рдЬреНрд╡рд╛рд░ рдЙрдк рдирд╣реАрдВ рд╣реИред

рд╕реАрдорд╛ рдХреЗ рд▓рд┐рдП рднрд░реЗрдВ{
fn рднрд░рдг () -> рд╕реНрдЯреНрд░рд┐рдВрдЧ {...}
}
рд░реЗрдВрдЬрдЕрд╕рд╛рдЗрди рдХреЗ рд▓рд┐рдП impl FillAsign{
fn рднрд░реЗрдВ (рдФрд░ рд╕реНрд╡рдпрдВ рдореНрдпреВрдЯ рдХрд░реЗрдВ) {...}
}
(рд╕реНрдЯреНрд░рд┐рдВрдЧ :: рдирдпрд╛ ("рдПрдмреАрд╕реА") .. рд╕реНрдЯреНрд░рд┐рдВрдЧ :: рдирдпрд╛ ("рдПрдл"))ред рднрд░реЗрдВ () // "abcdef"
(рд╕реНрдЯреНрд░рд┐рдВрдЧ :: рдирдпрд╛ ("рдПрдмреАрд╕реА") .. = рд╕реНрдЯреНрд░рд┐рдВрдЧ :: рдирдпрд╛ ("рдПрдл"))ред рднрд░реЗрдВ () // ()

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/rust-lang/rust/issues/28237#issuecomment-281861478 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAC3n39uqbADB1rNtBh3PBTRY2XBXOUNks5rfOD-gaJpZM4F4LbW
.

@durka @nikomatsakis рдареАрдХ рд╣реИ, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЬрд▓реНрдж рд╣реА рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдЕрдЬреАрдм рд╣реИ рдФрд░ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдмрджрд▓рдирд╛ рднреА рд╣реЛрдЧрд╛ред

@pornel ... рдХреЛ match рдкрджрд╛рд╡рдирдд рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдЧрддрддрд╛ рдЯреВрдЯ рдЬрд╛рдПрдЧреА, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдЕрднреА рднреА ... рд╕рдмрд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд▓рдЧрддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд░реВрдмреА рдХрд╛ рд╕рдЯреАрдХ рдЙрд▓рдЯрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд░реВрдмреАрд╡рд╛рджрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реА рддрд░рд╣ рдХреА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдкрд░ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ)ред

@ hyst329 рд▓реЗрдХрд┐рди ... рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рддрд┐ рдЕрдзрд┐рдХ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд▓рд╛рдкрддрд╛ рд╣реЛрдиреЗ рдпрд╛ рдПрдХ . рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдПрдХ рдирдпрд╛ рдЕрд░реНрде рдорд┐рд▓реЗрдЧрд╛

рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪреАрдЬреЛрдВ рдХреЛ рдирд╣реАрдВ рддреЛрдбрд╝рддрд╛ рд╣реИред рдкреБрд░рд╛рдиреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдореМрдЬреВрджрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдФрд░ rustfmt рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдФрд░ rustfmt рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП rustfmt рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВред "рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдХрд░реЗрдВ" рдореЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдпрд╣ ... рдХреЗ рдлрд╝реБрдЯрдЧрди-рдПрд╕реНрдХ рдЧреБрдгреЛрдВ рдХреЛ рдмрдврд╝рд╛ рджреЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЪреБрдкрдЪрд╛рдк рдЯрд╛рдЗрдкреЛ рдХреЛ рдЙрди рдЪреАрдЬреЛрдВ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЕрдзрд┐рдХ рдЙрджреНрджреЗрд╢реНрдпрдкреВрд░реНрдг рджрд┐рдЦрддреА рд╣реИрдВред (рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЙрдиреНрд╣реЗрдВ рдмрд╛рдж рдХреА рдкрд░реАрдХреНрд╖рд╛ рдореЗрдВ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред)

"рдХреГрдкрдпрд╛ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ рдФрд░ .. рдпрд╛ ..= " рдХреА рдирд╕ рдореЗрдВ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдЪреЗрддрд╛рд╡рдиреА, рдЬрд┐рд╕реЗ рдСрдЯреЛ-рдлрд┐рдХреНрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рдореМрдЬреВрджрд╛ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛ рдорд╛рдирд╡реАрдп рднреВрд▓ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ рдкреИрдЯрд░реНрди рдореЗрдВ рдореМрдЬреВрджрд╛ ... рд╕рдВрджрд░реНрдн рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рдерд╛, рдЬрд╣рд╛рдВ рдХреЛрдИ рдлрд╝реБрдЯрдЧрди рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЬрдВрдЧ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝реБрдЯрдЧрди-рдореБрдХреНрдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ рдЬрд╣рд╛рдВ рдкреИрдЯрд░реНрди рдХреЗрд╡рд▓ ... рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗрд╡рд▓ .. рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рджреЛрдиреЛрдВ рдЯрд╛рдЗрдкреЛ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВред

рдмреЗрд╢рдХ рдореИрдВ ... рдХреЛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ ..= рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рдЯрд╛рдЗрдкреЛ рдХреЛ рд╕реНрдерд╛рдпреА рдмрдирд╛ рджреЗрдЧрд╛ред

рдЖрд╣ред рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЧрдпрд╛ рдерд╛ред рдореБрдЭреЗ рдпрд╛рдж рджрд┐рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдпреЗ рдзрдиреНрдпрд╡рд╛рджред

@adelarsq рджрд░рдЕрд╕рд▓, 'a'..'z' рдпрд╛ 128u8..255u8 рдЬреИрд╕реА рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ cargo-clippy рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рд╕рд╛рде рд╣реА, .. рдФрд░ ... рдХреА рдЪреМрдбрд╝рд╛рдИ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рд╣реИ (рдЬрдм рдореЛрдиреЛрд╕реНрдкреЗрд╕реНрдб рдлрд╝реЙрдиреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЖрдо рддреМрд░ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕реНрд░реЛрдд рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ - рди рдХреЗрд╡рд▓ рдЬрдВрдЧ) .

рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ тАж рдмрдЬрд╛рдп ... (рдпреВрдирд┐рдХреЛрдб рдХреНрд╖реИрддрд┐рдЬ рдЕрдВрдбрд╛рдХрд╛рд░) рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдХреЛрдИ рднреА рдЗрд╕реЗ рджреБрд░реНрдШрдЯрдирд╛ рд╕реЗ рдЯрд╛рдЗрдк рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдУрд╣ рдХреЛрдИ рднреА рд▓реЛрдЧ рдЗрд╕ рд╕реБрдЭрд╛рд╡ рдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдирд╣реАрдВ рд▓реЗ рд░рд╣реЗ рдереЗ: рд░реЛрдирд╛: рд╢реЛрд░ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛, рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдореИрдВрдиреЗ рдЪреЗрдХ рдХрд┐рдпрд╛ рдерд╛ рдХрд┐ Google рдбреЙрдХреНрд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ ... рдХреЛ рдЗрд▓рд┐рдкреНрд╕рд┐рд╕ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рддрд╛ рд╣реИред рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд┐рдВрдЧ рдЙрджреНрдпреЛрдЧ рдореЗрдВ рдкреНрд░рдореБрдЦ рдЦрд┐рд▓рд╛рдбрд╝реАред

рд╕рд╛рде рд╣реА, рд╣рд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЖрд╕рд╛рдиреА рд╕реЗ рд▓рд┐рдЦреЗрдВ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдкреЛрдЬрд╝ рдХреБрдВрдЬреА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ ред . рдЬрдм рд╡реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ тАж

рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдореИрдВ numpad рдХреЗ рд╕рд╛рде Alt + 0133 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдВрдбрд╛рдХрд╛рд░ рдЯрд╛рдЗрдк рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ! тАж

рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдХреЛрдбрдкреЙрдЗрдВрдЯ-рдЖрдзрд╛рд░рд┐рдд рддрдВрддреНрд░ X11-рдЖрдзрд╛рд░рд┐рдд рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рд╕реНрдЯреИрдХ рдХреА рд╡рд┐рднрд┐рдиреНрди рдкрд░рддреЛрдВ рдкрд░ рдореМрдЬреВрдж рд╣реИрдВ (рдореБрдЭреЗ GTK+ рдФрд░ X11 рдЗрдирдкреБрдЯ рд╕реНрдЯреИрдХ рдХреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕реНрд╡рддрдВрддреНрд░ рд╕рдорд╛рдзрд╛рди рдпрд╛рдж рд╣реИрдВ) рд▓реЗрдХрд┐рди рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреЛрдбрдкреЙрдЗрдВрдЯ рдпрд╛рдж рд░рдЦрдирд╛ рдПрдХ рдмрдбрд╝реА рдкрд░реЗрд╢рд╛рдиреА рд╣реИред

рд▓рд┐рдЦреЗрдВ рдПрдХ рд╕рд╣рдЬ рдЬреНрдЮрд╛рди рдпреБрдХреНрдд рд╕рдорд╛рдзрд╛рди рд╣реИред

рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ Alt рдЕрдиреБрдХреНрд░рдо Alt + 219 рдЬреЛ рдореИрдВрдиреЗ рдПрдХ рдмрдЪреНрдЪреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдП рдЧрдП рд╕рднреА рдбреЙрд╕ рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ рдореЗрдиреВ рд╕реЗ рдХрд┐рдпрд╛ рд╣реИред

рд╡рд░реНрддрдорд╛рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рдЖрдЗрдП рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдерд┐рд░ рдХрд░реЗрдВ рдФрд░ рдЗрд╕ рдЕрдВрддрд╣реАрди рдмрд╛рдЗрдХрд╢реЗрдбрд┐рдВрдЧ рдХреЛ рд░реЛрдХреЗрдВред

рд╡рд░реНрддрдорд╛рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╣реИ рдЬреЛ рд╣рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рдХрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдиреБрдХрд╕рд╛рди рд╣реИрдВред рдпрд╣ рд╕рд┐рд░реНрдл рдмрд╛рдЗрдХ рд╢реЗрдбрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ - рдЗрд╕реЗ рд╕рд╣реА рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреВрд░реЗ рдзрд╛рдЧреЗ рдХреЛ рдЫреЛрдбрд╝рдХрд░, ..= рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдЕрдм рддрдХ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕реНрд╡реАрдХреГрддрд┐ рдорд┐рд▓реА рд╣реИ...

рдореБрдЭреЗ рдРрд╕рд╛ рдорд╣рд╕реВрд╕ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рд╕рдордп рдПрдХ рдорд░реЗ рд╣реБрдП рдШреЛрдбрд╝реЗ рдХреЛ рдкреАрдЯ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ... .. рдФрд░ ... рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рд╡рд╕реНрддреБрддрдГ рдЖрдкрдХреЗ рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рд╕рдВрднрд╡ рдЪрд░рд┐рддреНрд░ рдХреА рдПрдХ рдкреНрд░рддрд┐ рд╣реИред рд╕рдорд╛рди рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рдорд┐рд╢реНрд░рд┐рдд, рдЯрд╛рдЗрдк рдпрд╛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдПрдХ рдЕрддреНрдпрдВрдд рд╕рд╛рдорд╛рдиреНрдп рдФрд░ рдЕрдХреНрд╕рд░ рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реА-рдХрдард┐рди-рд╕реЗ-рдЦреЛрдЬ рддреНрд░реБрдЯрд┐ рд╡рд░реНрдЧ (рдСрдл-рдмрд╛рдп-рд╡рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ) рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ рдЬреЛ рдЕрдиреНрдпрдерд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкреНрд░рднреЗрджреНрдп рд╣реИрдВ рджреЛрдиреЛрдВ рдЖрджрдореА рдФрд░ рдорд╢реАрди рдХреЛред

рдпрд╛ рд╣рдо рд╕рдЪрдореБрдЪ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХреЛрдИ рдЕрдиреНрдп рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рддрд░рдл рдореИрдВ рдЙрд╕ рдЪрд┐рдВрддрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ .. рджреВрд╕рд░реА рддрд░рдл, рдореМрдЬреВрджрд╛ ... рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдорд╛рд╡реЗрд╢реА рд╣реИ, рдЬреЛ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрдВрдЧ рдореЗрдВ рдХрд╣реАрдВ рдФрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдЧрдд рдмрдирд╛рддрд╛ рд╣реИред

рдФрд░ рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЕрдВрддрд░ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рджреГрд╖реНрдЯрд┐ рд╡рд╛рд▓реЗ рд▓реЛрдЧ, рдпрд╛ 4k рдореЙрдирд┐рдЯрд░ рдФрд░ 10pt рдлрд╝реЙрдиреНрдЯ рдХреЗ рд╕рд╛рде, рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдо рд╕рд╣рдорддрд┐ ..= рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рднреА рдареАрдХ рд╣реВрдВред

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

@rust-lang/lang рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдирд╛рдорд╛рдВрдХрдиред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╕рд┐рд░реНрдл ..= рдЕрдкрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ рдПрдХ рджрд┐рди рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреНрдпрд╛ рд╣рдореЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд RFC рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдЗрд╕реЗ рдХрд░ рд╣реА рдбрд╛рд▓реЛ? рдХреНрдпрд╛ рдЗрд╕рдореЗрдВ рдкреИрдЯрд░реНрди рдореЗрдВ рдореМрдЬреВрджрд╛ ... рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдкрджрд╛рд╡рдирдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ? (рдореИрдВ рдРрд╕рд╛ рдорд╛рдирддрд╛ рд╣реВрдВред)

рдореИрдВ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП ... рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реВрдВред рдореИрдВ рдЕрдЧрд░ рдпрд╣ рдЗрд╕ рд╕реВрддреНрд░ рдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрд░рдПрдлрд╕реА рд╕реВрддреНрд░ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореЗрдВ ... рдЬрд╛ рд░рд╣рд╛ рдЕрдиреБрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд╛рди рджрд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП .. , рд╣рдо рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ... рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╡реИрд░рд┐рдПрдбрд┐рдХ рдЬреЗрдирд░рд┐рдХ рдХреЗ рд▓рд┐рдП

..= рд╕реНрдкрд╖реНрдЯ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреА рд╕рд╛рдкреЗрдХреНрд╖ рдХреБрд░реВрдкрддрд╛ .. рд╕реЗ рдХрдо рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЙрдЪрд┐рдд рд╣реИред

рдХреНрдпрд╛ рдЗрд╕рдореЗрдВ рдкреИрдЯрд░реНрди рдореЗрдВ рдореМрдЬреВрджрд╛ ... рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ? (рдореИрдВ рдРрд╕рд╛ рдорд╛рдирддрд╛ рд╣реВрдВред)

рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд▓рдЧрддрд╛ рд╣реИред ... рдкрд░ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдВ рдФрд░ рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдкреИрдЯрд░реНрди рдореЗрдВ .. рдФрд░ ..= рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВред

рдореИрдВ рдЖрдорддреМрд░ рдкрд░ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдкреЗрд╢ рдХрд░рдиреЗ рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЙрдкрдХрд░рдг рдХреЗ рдмрд┐рдирд╛ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди ... рд╕реЗ ..= рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рд░рд▓ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИред рдЬрдм рддрдХ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХреЛрдИ рдЙрдкрдХрд░рдг рди рд╣реЛ, рддрдм рддрдХ рд╣рдо рдЗрд╕реЗ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдмрдирд╛рддреЗ рд╣реБрдП рдкрджрд╛рд╡рдирдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╕реНрдердЧрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд░ рдХреЛрдИ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреНрдпрд╛ рд╕реЛрдЪрддрд╛ рд╣реИ?

рдореИрдВ ... рдкрдХреНрд╖ рдореЗрдВ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ "рд╕рд╛рдорд╛рдиреНрдп" рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ; рдореИрдВ ..= рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛, рд▓реЗрдХрд┐рди рдХрдИ рдЬреЛ .. рдФрд░ ... ред

рдпрджрд┐ ..= рдЦрд┐рд▓рд╛рдл рднрд╛рд╡рдирд╛ рдордЬрдмреВрдд рд╣реИ, рддреЛ рдореИрдВ рджреГрд╢реНрдп рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдлрд┐рд░ рд╕реЗ рдореБрдХреНрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ (рдЗрд╕рдХреЗ рдмрдЬрд╛рдп (a..b).inclusive() рд╡рд┐рдзрд┐ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛, рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд▓рдЧрддрд╛ рд╣реИ) рдХреЗ рд╕рд╛рде рдЬрд╛рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рд╡рд┐рд╡рд┐рдз рдЬреЗрдирд░рд┐рдХ рдХреЗ рд▓рд┐рдП ... рдКрдкрд░ред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: (a..b).inclusive() рдЦрд┐рд▓рд╛рдл рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА ... рдореЗрдВ match рдФрд░ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдирдпрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред :рдЕрд╕реНрдкрд╖реНрдЯ:

@steveklabnik рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдпрджрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ (рдмрд╣реБрдд рд▓рдВрдмреЗ) рдзрд╛рдЧреЗ рдореЗрдВ рдХрд╣реАрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди: рдЕрдиреНрдп рднрд╛рд╖рд╛рдПрдВ рдХреНрд░рдорд╢рдГ рдЕрдирдиреНрдп рдФрд░ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП .. рдФрд░ ... рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ

рдЬрдВрдЧ рдХрд╛ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ рд╡рд╛рдХреНрдп-рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдЕрдкрдирд╛рдиреЗ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рд╣реИ, рд▓реЗрдХрд┐рди рдЪреБрдирд┐рдВрджрд╛ рд░реВрдк рд╕реЗ , рдФрд░ рдЬрд╣рд╛рдВ рдЙрдкрдпреБрдХреНрдд рд╣реЛ рд╡рд╣рд╛рдВ рдЪреАрдЬреЛрдВ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдпрд╛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ред

@joshtriplett рд░реВрдмреА рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдкрд░реАрдд рдЕрд░реНрдереЛрдВ рдХреЗ рд╕рд╛рде ( .. рд╕рдорд╛рд╡реЗрд╢реА рд╣реИ, ... рдЕрдирдиреНрдп рд╣реИ)ред рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд░реВрдмреА рдореЗрдВ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдерд╛, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдФрд░ рднреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рднреНрд░рдорд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдкреАрдЫреЗ рдХреА рдУрд░ред

@joshtriplett рдЬрд┐рд╕реЗ рдореИрдВ рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдкрд░рд┐рдЪрд┐рдд рд╣реВрдВ рд╡рд╣ рд░реВрдмреА рд╣реИ; рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдЗрд╕реЗ рдкрд░реНрд▓ рд╕реЗ рдорд┐рд▓рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рдирд╣реАрдВ рд╣реИред рдореИрдВ ..= рдореБрдХрд╛рдмрд▓реЗ рд░реВрдмреА рд╕реЗ рдкреАрдЫреЗ рдХреА рдУрд░ рдЕрд░реНрдерд╢рд╛рд╕реНрддреНрд░ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдареАрдХ рд╣реВрдВред

рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореИрдВ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдкрд░ рдПрдХ рд╕реНрдерд┐рд░ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛, рдФрд░ рдпрд╣ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ ..= рдХреЗ

@steveklabnik рд╕реНрд╡рд┐рдлреНрдЯ ..< рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рд╣реИ рдирд╛? рдЬреЛ ..= рд╕рдорд╛рди рд▓рдЧрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, рдЗрд╕рдореЗрдВ рдпрд╣ (рдЖрдИрдПрдордУ) рдЧрд▓рдд рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рдХрд░рддрд╛ рд╣реИред =)

рд╕реНрд╡рд┐рдлреНрдЯ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ ..< рдЕрдирдиреНрдп рдХреЗ рд▓рд┐рдП рдФрд░ ... рд╕рдорд╛рд╡реЗрд╢реА рдХреЗ рд▓рд┐рдП (рдЙрдирдХреА рд╢рд░реНрддреЗрдВ рд╣реИрдВ
"рдЖрдзрд╛ рдЦреБрд▓рд╛" рдФрд░ "рдмрдВрдж")ред

рдореБрдЭреЗ рдЕрднреА рднреА рдкрд╕рдВрдж рд╣реИ ..< (рд╕рд╛рде рдореЗрдВ .. рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ) рдФрд░ ..=ред

рд▓реЗрдХрд┐рди рдПрдХ рдФрд░ рдЦреБрд▓рд╛ рдкреНрд░рд╢реНрди (рд╢рд╛рдпрдж рдЗрд╕ рдЯреНрд░реИрдХрд┐рдВрдЧ рдореБрджреНрджреЗ рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ) рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдмрдВрдж рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП "рд╕рд┐рд░реНрдл" рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЕрдкрдирд╛рддреЗ рд╣реИрдВ, рдпрд╛ рдкрд╣рд▓реЗ рдмрд┐рдВрджреБ рдХреЗ рд╕рд╛рде рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЯреИрдХреНрд╕ (рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕?) >..=.

рдЧреБрд░реБ, рдорд╛рд░реНрдЪ 16, 2017 рдЕрдкрд░рд╛рд╣реНрди 2:19 рдмрдЬреЗ, рдирд┐рдХреЛ рдорд╛рддреНрд╕рд╛рдХрд┐рд╕ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@steveklabnik https://github.com/steveklabnik рд╕реНрд╡рд┐рдлреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ ..<, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ,
рдЕрдзрд┐рдХрд╛рд░? рдЬреЛ ..= рдХреЗ рд╕рдорд╛рди рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, рдЗрд╕рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рд╣реЛрддрд╛ рд╣реИ
(рдЖрдИрдПрдордУ) рдЧрд▓рдд рдорд╛рдорд▓рд╛ред =)

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/rust-lang/rust/issues/28237#issuecomment-287147321 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAC3n0Wop5fJh9HVo7pSqo0riHm96Gm4ks5rmX1BgaJpZM4F4LbW
.

рдореБрдЭреЗ рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдореЗрдВ inclusive рдлрд╝рдВрдХреНрд╢рди рд╣реЛрдиреЗ рдкрд░ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛:

for x in inclusive(1..10) {

}

рдореИрдВрдиреЗ рдХрднреА рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдХрд┐ рдореИрдЪ рдХреЗ рд╕рд╛рде рд╕рдорд░реВрдкрддрд╛ рдПрдХ рд╕рдореНрдореЛрд╣рдХ рддрд░реНрдХ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рд╡рд┐рд╢реЗрд╖ .. рдкреИрдЯрд░реНрди рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдиреНрд╣реЗрдВ рднреА рдирд╛рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ - рдкреИрдЯрд░реНрди рдореЗрдВ рдПрдХ рдореВрд▓реНрдп рдЕрдм рдкреИрдЯрд░реНрди рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИ! рдХрд┐рд╕реА рд╢реНрд░реЗрдгреА рдХрд╛ рдорд┐рд▓рд╛рди рдХрд┐рд╕реА рд╢реНрд░реЗрдгреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрдирд░рд╛рд╡реГрддрд┐ рд╕реЗ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рднрд┐рдиреНрди рд╣реИ, рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╕рдордорд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рддреЛ рдореБрдЭреЗ рдкреИрдЯрд░реНрди рдореЗрдВ .. рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдиреЗ рдХреА рд╣рд▓реНрдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдирд╣реАрдВ рд╣реИ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ..= рдФрд░ ... рд╕рд╛рде рдбрд╛рдЙрдирд╕рд╛рдЗрдбреНрд╕ рджреЛрдиреЛрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ - ..= рдХрд╛рдлреА рдЕрдЬреАрдм рд╣реИ, рд▓реЗрдХрд┐рди ... 1 рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдмрдВрдж рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред

рдмрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреА рдХрднреА рди рдЦрддреНрдо рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдХреНрд╖рдорддрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЕрдЬреАрдм рджрд┐рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдСрдкрд░реЗрдЯрд░ рд╣реЛрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ (рд╣рд░ рднрд╛рд╖рд╛ рдЙрди рдСрдкрд░реЗрдЯрд░реЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреА рд╣реИ рдЬреЛ рджреВрд╕рд░реЛрдВ рдХреЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдлреНрдЯ рдореЗрдВ ..< , рдПрдл # рдФрд░ рд╕реНрдХрд╛рд▓рд╛ рдореЗрдВ рд╕рднреА рдСрдкреНрд╕)ред рд▓реЛрдЧреЛрдВ рдХреЛ рд╡реИрд╕реЗ рднреА рд░рд╕реНрдЯ рдмреБрдХ рдкрдврд╝рдиреА рд╣реЛрдЧреАред
рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд░реВрдмреА рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЛрдЧ рдЬрдВрдЧ рдореЗрдВ рдЖ рд░рд╣реЗ рд╣реИрдВ, рд╣рдореЗрдВ рд░реВрдмреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрд╕реЗ рдкреАрдЫреЗ рдХреА рдУрд░ рдирд╣реАрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред (рдЗрд╕ рддрд░реНрдХ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐ ... 1 рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдмрдВрдж рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред)
рдЖрдк рд╕реНрд╡рд┐рдлреНрдЯ рдореЗрдВ ..< рдХреЛ рдХреИрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд░рд╕реНрдЯ рдореЗрдВ ..= рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? ..= рдЗрддрдирд╛ рдЕрдЬреАрдм рдирд╣реАрдВ рд╣реИред

рдкреИрдЯрд░реНрди рдореЗрдВ рд░реЗрдВрдЬ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЕрднреА рднреА рдПрдХ рдЦреБрд▓рд╛ рдкреНрд░рд╢реНрди рд╣реИ рдФрд░ рд╕рд╛рде рд╣реА AFAIK рднреА рд╣реИред
рдПрдХ рдмрд╛рдд рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ Enum::Variant(..) рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ
рдорд╛рдиреНрдп рд╣реИ рдФрд░ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ Enum::Variant(RangeFull) рддреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред

рдЧреБрд░реБ Mar 16, 2017 рдореЗрдВ 3:07 рдмрдЬреЗ рдкрд░, Boscop [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

рдПрдХ рдЕрдЬреАрдм рджрд┐рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдСрдкрд░реЗрдЯрд░ рд╣реЛрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ (рд╣рд░ рднрд╛рд╖рд╛ рдкрд░рд┐рдЪрдп рджреЗрддреА рд╣реИ
рдСрдкрд░реЗрдЯрд░ рдЬреЛ рджреВрд╕рд░реЛрдВ рдХреЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ..< рд╕реНрд╡рд┐рдлреНрдЯ рдореЗрдВ, рдПрдл # рдореЗрдВ рд╕рднреА рдСрдкреНрд╕
рдФрд░ рд╕реНрдХрд╛рд▓рд╛)ред рд▓реЛрдЧреЛрдВ рдХреЛ рд╡реИрд╕реЗ рднреА рд░рд╕реНрдЯ рдмреБрдХ рдкрдврд╝рдиреА рд╣реЛрдЧреАред
рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд░реВрдмреА рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЛрдЧ рдЬрдВрдЧ рдореЗрдВ рдЖ рд░рд╣реЗ рд╣реИрдВ, рд╣рдо
рд░реВрдмреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрд╕реЗ рдкреАрдЫреЗ рдХреА рдУрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред (рддрд░реНрдХ рдХреЗ рдЕрд▓рд╛рд╡рд╛
рдХрд┐ ... 1 рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдмрдВрдж рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред)
рдЖрдк рд╕реНрд╡рд┐рдлреНрдЯ рдореЗрдВ ..< рдХреЛ рдХреИрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд░рд╕реНрдЯ рдореЗрдВ ..= рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/rust-lang/rust/issues/28237#issuecomment-287160485 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAC3nz9ZNR2utl7LPTVvQPQ_Ma8sDBGuks5rmYhmgaJpZM4F4LbW
.

рдЗрд╕рд▓рд┐рдПред рдореИрдВ slice.get(10...30) рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдЕрдкрдирд╛ рдХреЗрдХ рднреА рдЦрд╛ рд╕рдХрддрд╛ рд╣реВрдВред

рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдЖрд╢реНрд╡рд╕реНрдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП inclusive(0..10) рдХреЛ рджреГрдврд╝рддрд╛ рд╕реЗ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ:

  • рдЬрдмрдХрд┐ @nagisa slice.get(10...30) рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреА рд╣реИ, рдореИрдВ рдЗрд╕ рдмрд╛рдд рдкрд░ рдкреВрд░рд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рдХрд┐ рд╡рд╣ slice.get(10...30) рдпрд╛ slice.get(10..30) ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреА рдирд┐рдХрдЯрддрд╛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред
  • рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рд╕рд╣рдордд рд╣реИ рдХрд┐ ..= рдЕрдиреИрдЪреНрдЫрд┐рдХ рд╣реИ рдФрд░ рд╢рд╛рдпрдж рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реИред
  • (0..10).inclusive() рд╕рдорд╛рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИ рд▓реЗрдХрд┐рди рдХрдо рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, inclusive рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рд╢рд╛рдпрдж рджреЛрдиреЛрдВ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧреАред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

trait IntoInclusive {
    type Inclusive;
    fn inclusive(self) -> Self::Inclusive;
}

fn inclusive<T: IntoInclusive>(range: T) -> T::IntoInclusive {
    range.inclusive()
}

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рд╕рд╣рдордд рд╣реИ ..= рдЕрдиреИрдЪреНрдЫрд┐рдХ рд╣реИ рдФрд░ рд╢рд╛рдпрдж рдЕрдирдЬрд╛рди рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣рдирд╛ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ..= inclusive() рдЬреИрд╕реА рд╡рд┐рдзрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реМрдВрджрд░реНрдпрдкреВрд░реНрдг рдФрд░ рд╕рд╣рдЬ рд╣реИред

(рд╕рд╛рде рд╣реА, рд╣рдо рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ ..= рд▓рд┐рдП рдХрд┐рддрдиреА рдирд╛рдкрд╕рдВрджрдЧреА рдЙрди рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рдЕрд╡рдЪреЗрддрди (рдпрд╛ рд╕рдЪреЗрдд) рдкреНрд░рдпрд╛рд╕ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ ... ред)

.inclusive() рдЗрддрдиреА рдмрд╛рд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╣реИ (рдЙрд╕ рдиреЛрдЯ рдкрд░, рдореБрдЭреЗ рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ .enumerate() рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд░реВрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред
рд▓реЗрдХрд┐рди рднрд▓реЗ рд╣реА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ .inclusive() , рдХреЗрд╡рд▓ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рджреЛ рдирд╣реАрдВред
рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдХреЛрдИ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдирд╣реАрдВ рд╣реЛрдиреЗ рд╕реЗ рдЙрдиреНрд╣реЗрдВ match рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреАред
рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рд╣рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ рд╕реНрдХреИрд▓рд╛ рдореЗрдВ ? рддрд╛рдХрд┐ рдореИрдЪ рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рддрд╛рдХрд┐ рдореИрдЪ рдкрд░реЛрдХреНрд╖ рд░реВрдк рд╕реЗ рдЗрд╕рдХреА unapply рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

(рд╕рд╛рде рд╣реА, рд╣рдо рдпрд╣ рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ ..= рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреА рдирд╛рдкрд╕рдВрджрдЧреА рдЙрди рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рдЕрд╡рдЪреЗрддрди (рдпрд╛ рд╕рдЪреЗрдд) рдкреНрд░рдпрд╛рд╕ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдирд╣реАрдВ рд╣реИрдВ ....)

рдореБрдЭрд╕реЗ рдХреЛрдИ рдирд╣реАрдВред рдпрд╣ рдПрдХ рддрд░рд╣ рд╕реЗ рджреБрд░реНрднрд╛рд╡рдирд╛ рдХрд╛ рдЖрд░реЛрдк рд╣реИред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдХреЛрдИ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдирд╣реАрдВ рд╣реЛрдиреЗ рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдорд┐рд▓рд╛рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреАред

рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдкреИрдЯрд░реНрди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА match рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реЗ рд╣реА рдПрдХрдорд╛рддреНрд░ рдкреНрд░рдХрд╛рд░ рдХреА рд░реЗрдВрдЬ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рд╣рдо рдЖрдЬ рдкреИрдЯрд░реНрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред

@withboats рд╣рд╛рдБ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХрд╣рд╛ "рдХреЛрдИ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдирд╣реАрдВ рд╣реЛрдиреЗ рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдореИрдЪ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреА"ред рдЕрднреА рдПрдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИ рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рддрд░реНрдХ .inclusive() рдЦрд┐рд▓рд╛рдл рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдЪ рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ рдЬрдм рддрдХ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдХреИрд▓рд╛ рдЬреИрд╕реЗ рдПрдХреНрд╕рдЯреНрд░реИрдХреНрдЯрд░реНрд╕ рди рд╣реЛрдВред рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдкреВрд░рд╛ рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХреЗрд╡рд▓ рдорд┐рд▓рд╛рди рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡рд░реНрддрдорд╛рди рдХреЗ рдмрдЬрд╛рдп рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рдорд╛рд╡реЗрд╢реА: for i in 1..10! { }

рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ рдЬрд╛рд╡рд╛/рд╕реА/рд╕реА++ рдХреЗ рд╕рд╛рде 15 рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ .. рдмрдирд╛рдо ... рдмрд╣реБрдд рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдФрд░ рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рд╕реЗ рдмрдЧ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд░реВрдмреА рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдз рдЗрд╕реЗ рдФрд░ рднреА рднреНрд░рдорд┐рдд рдХрд░ рджреЗрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП ..= рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдмреЗрд╣рддрд░ рд╣реИред

рдореЗрд░реА 'рдЯреЛрдкреА' рдХреЛ рд░рд┐рдВрдЧ рдореЗрдВ рдлреЗрдВрдХрдирд╛:

for i in 1..10^

рдЯреЛрдкреА/рдХреИрд░реЗрдЯ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдкреНрд░рддреАрдХ рд╣реИ рдХрд┐ рд╕рд╣реА рдореВрд▓реНрдп _up_ рддрдХ рдЬрд╛рддрд╛ рд╣реИред

@leebenson рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдпрд╣ рдмреАрдЪ рдореЗрдВ рд╣реЛ, рдмрд╛рд╣рд░ рд╕реЗ рдирд╣реАрдВред

for i in 1..^10

@ retep998 рдореИрдВрдиреЗ рдорд╛рдирд╛ рдХрд┐ рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж ... рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реИред

@ retep998 рдореИрдВ рдЕрдкрдиреЗ рдХреЗ рд╕реБрдЭрд╛рд╡ рдХреА рддрд░рд╣ ..^ рдЬреНрдпрд╛рджрд╛ рдмреЗрд╣рддрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ ..= ; рдпрд╣ рдЗрд╕рдХреЗ рдЕрд░реНрде рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ рд╕рдВрд╡рд░реНрдзрд┐рдд рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░ (рдЬреИрд╕реЗ += рдФрд░ *= ) рдХреЗ рдПрдХ рдЕрдЬреАрдм рд╕рдВрд╕реНрдХрд░рдг рдХреА рддрд░рд╣ рджрд┐рдЦрдиреЗ рд╕реЗ рдмрдЪрддрд╛ рд╣реИред рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдХреЛрдИ рднреА ... рд╕реЗ рдХрд╣реАрдВ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред

рдореИрдВ ..^ рдкреАрдЫреЗ рдирд╣реАрдВ рд░рд╣ рд╕рдХрддрд╛ред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реНрддрд░ рдкрд░, рдореБрдЭреЗ рдпрд╣ рдмрд╣реБрдд рдмрджрд╕реВрд░рдд рд▓рдЧрддрд╛ рд╣реИ (рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВрдХрд┐ .. рдХрдИ рдлреЛрдВрдЯ рдореЗрдВ ^ рд╕реЗ рд▓рдВрдмрд╡рдд рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рд╣реИ)ред

рдПрдХ рдпреВрдЖрдИ/рдпреВрдПрдХреНрд╕ рд▓рдбрд╝рдХреЗ рдХреЗ рд░реВрдк рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдЕрдкрдиреЗ рдЕрдЪреНрдЫреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЪрд╛рд▓рд╛рдХ рд╣реЛрдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред

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

(рдпрджрд┐ рд╣рдо рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рддреЛ ... рдХрд╛ рдЕрд░реНрде рдХреБрдЫ рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ "рдХреЙрд▓рдмреИрдХ рдпрд╣рд╛рдВ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ" рдпрд╛ "рдЗрдорд┐рдЯ рдЗрд╡реЗрдВрдЯ" рдЗрд╕рдХреЗ "рд╕рд╛рдордЧреНрд░реА рдЫреЛрдбрд╝реЗ рдЧрдП" рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрддрд╛ рд╣реИ - рдЬреИрд╕реЗ рдЧрджреНрдп рд▓реЗрдЦрди рдореЗрдВ рд╕рдВрд╡рд╛рдж рдореЗрдВ рдЕрд░реНрде, рдмрд╕ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рддрд╛рддреНрдХрд╛рд▓рд┐рдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдПрдВред рдЗрд╕реЗ рдПрдХ рддреАрд░ рдХреЗ рд╕рдорд╛рди рд╣реЛрдиреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ "рд╕рднреА рддрд░рд╣ рд╕реЗ рдКрдкрд░ рдЬрд╛рддрд╛ рд╣реИ" рдЕрд░реНрде рджреЗрдирд╛ рд╣рд╛рде рдХреА рд╕рдлрд╛рдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рджреВ рдХреА рдЪрд╛рд▓ рдХрд░рдиреЗ рдЬреИрд╕рд╛ рд╣реИ, рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдпрд╣ рдПрдХ рдирд╡рд╛рдЧрдВрддреБрдХ рдХреА рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред)

рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, = рдореЗрдВ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдФрд░ рд╕рдорд╛рдирддрд╛ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рджреЛрдиреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд╕рд╛рд▓ рд╣реИ рдФрд░ ..= рдХреЗ рд▓рд┐рдП рдХреЛрдИ "рдЕрдЬреАрдм рдШрд╛рддрд╛рдВрдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕" рдЬреИрд╕реА рдЧрд▓рдд рдзрд╛рд░рдгрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк " рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ + рд╕рдорд╛рдирддрд╛" рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, "рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рджрд╛рд╣рд┐рдиреЗ рд╣рд╛рде рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ" ...

рдореБрдЭреЗ рдпрд╣ рднреА рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐, рднрд▓реЗ рд╣реА рдореИрдВрдиреЗ рдпрд╣ рдкрд╣рдЪрд╛рдирд╛ рд╣реЛ рдХрд┐ ..^ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд░реЗрдВрдЬ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдерд╛, рдореБрдЭреЗ рдХреЛрдИ рд╕рд╣рдЬ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕рдорд╛рд╡реЗрд╢реА рдпрд╛ рдЕрдирдиреНрдп рдерд╛, рдХреНрдпреЛрдВрдХрд┐ ^ рд▓рд┐рдП рдХреЛрдИ рдЕрд░реНрде рдирд╣реАрдВ рд╣реИ 2..^8 рджреЛ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдУрдкрди-рдПрдВрдбреЗрдб рд░реЗрдВрдЬ рдХреЗ рд▓рд┐рдП рд╢реЙрд░реНрдЯрд╣реИрдВрдб рд╣реИ рдФрд░ рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдХреЛ 8 рдХреА рд╢рдХреНрддрд┐ рддрдХ рд▓реЗ рдЬрд╛рдХрд░ рдХрджрдо рдЙрдард╛ рд░рд╣рд╛ рд╣реИред (рдпрд╛рдиреА 2..Inf^8 рдХреЗ рд╡рд┐рдкрд░реАрдд 2..+8 "8 рдХреЗ рдЪрд░рдгреЛрдВ рдореЗрдВ 2 рд╕реЗ рдЕрдирдВрдд рддрдХ рдкреБрдирд░рд╛рд╡реГрддрд┐" рдХреЗ рд▓рд┐рдП рдЖрд╢реБрд▓рд┐рдкрд┐ рд╣реИред)

рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рднреА рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ ..= рдХреНрдпреЛрдВрдХрд┐ рд▓реЛрдЧ < (рдЕрдирдиреНрдп) рдмрдирд╛рдо <= (рд╕рдорд╛рд╡реЗрд╢реА) рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреЗ рдЖрджреА рд╣реИрдВ рдЬрдм while рд▓реВрдк рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕реА-рд╕реНрдЯрд╛рдЗрд▓ for рд▓реВрдкред

@ssokolow рдХрд╛рдиреВрдиреА рд╡рд┐рд╢реНрд▓реЗрд╖рдгред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ рдпрд╛ рддреЛ рдкреАрдЫреЗ рд░рд╣ рд╕рдХрддрд╛ рд╣реВрдВ ..= рдпрд╛ ..^ ред рдпрд╛ рддреЛ рдХреА рд╕рд╣рдЬреАрд╡рди рдореЗрд░реЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ - рдпрд╛рдиреА 'рдЕрдк рдЯреВ рдПрдВрдб рдЗрдХреНрд╡рд▓ рдЯреВ' рдпрд╛ рдмрд╕ 'рдЕрдк рдЯреВ', рдХреНрд░рдорд╢рдГред рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдЙрди рджреЛрдиреЛрдВ рдХрд╛ рдПрдХ рд╣реА рдЕрд░реНрде рд╣реИред

рдХрд┐рд╕реА рдРрд╕реА рдЪреАрдЬ рдХреЗ рд╕рд╛рде рдЖрдирд╛ рдХрдард┐рди рд╣реЛрдЧрд╛ рдЬреЛ рд╕рднреА рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░реЗ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕рднреА рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде, рджрд╛рдЧреА рд╕рд╣рдЬреАрд╡рди/рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ред рдореИрдВрдиреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ ^ рдЪрд┐рд╣реНрди _after_ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЬреЛрдбрд╝рд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реЗ рдбрд╛рд▓рдиреЗ рд╕реЗ 'рд╕реНрдЯреЗрдк' рдпрд╛ рдПрдХреНрд╕рдкреЛрдиреЗрдВрдЯ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреА рднрд╛рд╡рдирд╛ рдереА, рдЬрдмрдХрд┐ рдПрдХ рдкреНрд░рддреНрдпрдп рдиреЗ рд╕реАрдорд╛ рдХреЛ рдмреЗрджрд╛рдЧ рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рд╢реБрджреНрдз рднрд╛рд╡рдирд╛ред рд▓реЗрдХрд┐рди рд╡рд╣ рд╕рд┐рд░реНрдл рдореИрдВ рд╣реВрдВред

рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдмрдирд╛рдо рдХрд┐рд╕реА рд░реВрдк рдореЗрдВ рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдиреЛрдЯреЗрд╢рди рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдЬреЛ рджрд╛рдПрдВ рд╣рд╛рде рдХреА рд╡реИрд▓ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ +1 рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдкрд╣рд▓реЗ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ рд╕реМрдВрдкрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИред рдореБрдЭреЗ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ ... , рд▓реЗрдХрд┐рди рджреА рдЧрдИ, рдпрд╣ рд╢рд╛рдпрдж рдирдП рдХрдкрдбрд╝реЛрдВ рдореЗрдВ = / == рдмрдЧ рд╣реИ рдФрд░ рдкреИрд░ рдореЗрдВ рдХрд┐рд╕реА рдХреЛ рдЧреЛрд▓реА рдорд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реИ ...

рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдирд╛рдкрд╕рдВрдж рдХрд░рдиреЗ рд▓рдЧрддреЗ рд╣реИрдВ ..= рдХрд┐рд╕реА рдиреЗ рдХреБрдЫ рднреА рдирдХрд╛рд░рд╛рддреНрдордХ рдирд╣реАрдВ рдХрд╣рд╛
рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ .... рдЗрд╕реЗ рдЪреБрдкрдЪрд╛рдк рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдХреБрдЫ рдЕрдВрдЧреВрдареЗ рдХреЛ рдЫреЛрдбрд╝рдХрд░) I
рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдКрдВрдЧрд╛ рдФрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдФрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реВрдБрдЧрд╛
рдЕрдЧрд░ рд╡реЗ рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣реИрдВ рддреЛ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рди рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдгред

рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рд╕реЗ рднреА рдирдлрд░рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдЕрдзрд┐рдХ рд╢реЛрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛:
(рдбреЙрдЯ рдХреЛрд▓рди) рд╕рдорд╛рд╡реЗрд╢реА рдХреЗ рд▓рд┐рдП? рдпрд╣ 3 рдмрд┐рдВрджреБ рд╣реИ рд▓реЗрдХрд┐рди 2 рд╡рд░реНрдг рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐
рдЖрдХрд╛рд░ рдЗрд╕реЗ рдЕрд▓рдЧ рдмрдирд╛рддрд╛ рд╣реИ ..

рд╢рдирд┐рд╡рд╛рд░, 18 рдорд╛рд░реНрдЪ, 2017 рдХреЛ рдкреВрд░реНрд╡рд╛рд╣реНрди 11:50 рдмрдЬреЗ, рд▓реА рдмреЗрдиреНрд╕рди рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@ssokolow https://github.com/ssokolow рдХрд╛рдиреВрдиреА рд╡рд┐рд╢реНрд▓реЗрд╖рдгред

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

рдХрд┐рд╕реА рдРрд╕реА рдЪреАрдЬ рдХреЗ рд╕рд╛рде рдЖрдирд╛ рдХрдард┐рди рд╣реЛрдЧрд╛ рдЬреЛ рд╕рднреА рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░реЗ,
рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕рднреА рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХреЗ рд╕рд╛рде рджрд╛рдЧреА рдЬрд╛рддреЗ рд╣реИрдВ
рд╕рд╣рдЬреАрд╡рди/рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ред рдореИрдВрдиреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ ^ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд╛рдж рдЪрд┐рд╣реНрди рдЬреЛрдбрд╝рд╛, for
рдЙрджрд╛рд╣рд░рдг, рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реЗ рдбрд╛рд▓рдиреЗ рд╕реЗ 'рдХрджрдо' рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреА рднрд╛рд╡рдирд╛ рдереА
рдпрд╛ рдкреНрд░рддрд┐рдкрд╛рджрдХ, рдЬрдмрдХрд┐ рдПрдХ рдкреНрд░рддреНрдпрдп рдиреЗ рд╕реАрдорд╛ рдХреЛ рдмреЗрджрд╛рдЧ рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рд╢реБрджреНрдз
рднрд╛рд╡рдирд╛ред рд▓реЗрдХрд┐рди рд╡рд╣ рд╕рд┐рд░реНрдл рдореИрдВ рд╣реВрдВред

рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдХрд┐рд╕реА рди рдХрд┐рд╕реА рд░реВрдк рдореЗрдВ рдПрдХ рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдиреЛрдЯреЗрд╢рди рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдмрдирд╛рдо a
рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд╛рдПрдВ рд╣рд╛рде рдХреЗ рд╡реИрд▓ рдХреЛ +1 рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ
рдЯрд┐рдкреНрдкрдгреА рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ рд╕реМрдВрдкрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдмрд╣реБрдд рдЖрдо рд╣реИ
рдПрдХ рд╕рдорд╛рд░реЛрд╣ рдХреЙрд▓ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдореИрдВ рднреА рдмреБрд░рд╛ рдирд╣реАрдВ рдорд╛рдиреВрдВрдЧрд╛ ..., рд▓реЗрдХрд┐рди рджреА, рдпрд╣ рд╣реИ
рд╢рд╛рдпрдж = / == рдирдП рдХрдкрдбрд╝реЛрдВ рдореЗрдВ рдмрдЧ рдФрд░ рдХрд┐рд╕реА рдХреЛ рдЧреЛрд▓реА рдорд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп
рдкреИрд░...

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/rust-lang/rust/issues/28237#issuecomment-287566556 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AIhJ6jWgPwndKaQvVjULlV_OoC6WDO0Cks5rnCeLgaJpZM4F4LbW
.

рдУрд╣, рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА рдмрд╛рдЗрдХ рд╢реЗрдбрд┐рдВрдЧ рдХреЗ рджреМрд░ рдореЗрдВ рд╣реИ? рдореИрдВ

рд╡рд╛рдкрд╕ рдкрдврд╝рдирд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ @nikomatsakis рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ рдХреЗрд╡рд▓ ..= рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рджрд┐рди рдХреЙрд▓ рдХрд░реЗрдВред .. рдмрдирд╛рдо ... рдХреА рд╕рдорд╛рдирддрд╛ рдмрд╣реБрдд рд╕реВрдХреНрд╖реНрдо рд╣реИ, рдФрд░ рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп ... рдЯреЛрдХрди рдХреЛ рд╡реИрд░рд┐рдПрдбрд┐рдХ рдЬреЗрдирд░рд┐рдХ (https://github.com/) рдХреЗ рд▓рд┐рдП рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд░рд╕реНрдЯ-рд▓реИрдВрдЧ/рдЖрд░рдПрдлрд╕реАрдПрд╕/рдкреБрд▓/1935), рдЬрд╣рд╛рдВ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рдХрдо рднреНрд░рдо рдкреИрджрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рднреА рдЖрдзреЗ-рдЦреБрд▓реЗ рд╡реЗрд░рд┐рдПрдВрдЯ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рдЗрдЪреНрдЫрд╛ рдЕрднреА рднреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ .. рдФрд░ ..= рдмрд╛рд╣рд░ рднрд╛рд╖рд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред .

рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рд╕реЗ рднреА рдирдлрд░рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдЕрдзрд┐рдХ рд╢реЛрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ .: (рдбреЙрдЯ рдХреЛрд▓рди) рд╕рдорд╛рд╡реЗрд╢реА рдХреЗ рд▓рд┐рдП?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @ssokolow рдиреЗ рдХреБрдЫ рдмреЗрд╣рддрд░реАрди рдЕрдВрдХ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдП: UI/рдЪрддреБрд░ рд╣реЛрдирд╛ред рдореИрдВ рддрд░реНрдХ рджреВрдВрдЧрд╛ рдХрд┐ рдЖрдкрдХреА рдЖрдВрдЦреЛрдВ рдХреЛ рдЪрдХрдорд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рддреАрд╕рд░реЗ рдмрд┐рдВрджреБ рдХреА рджрд┐рд╢рд╛ рдХреЛ рдХреБрдЫ рдФрд░ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓рдирд╛ рд╢рд╛рдпрдж рдЙрд╕ рд╢реНрд░реЗрдгреА рдореЗрдВ рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рддреАрд╕рд░рд╛ рдмрд┐рдВрджреБ рд╣реЛрдиреЗ рдкрд░ _zero_ рдЖрдкрддреНрддрд┐ рд╣реИ, рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐ рдпрд╣ рдЕрдВрддрддрдГ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреА рдпрд╛рддреНрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдордЭрд╛рдирд╛ рднреА рдЖрд╕рд╛рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЪрддреБрд░ рдХрд╛рдордХрд╛рдЬ рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднрд╛рд╖рд╛ рдкрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреНрдпрд╛ '2 рдбреЙрдЯреНрд╕ рдПрдХреНрд╕рдХреНрд▓реВрд╕рд┐рд╡ рд╣реИрдВ; 3 рдбреЙрдЯреНрд╕ рд╕рдорд╛рд╡реЗрд╢реА' рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ _that_ рдХреЛ рд╕рдордЭрдирд╛/рдбреАрдмрдЧ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ?

рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ - рдЕрдВрддрд┐рдо рдирд┐рд░реНрдгрдп рдХреМрди рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЧрд▓рд╛ рдХрджрдо рдХреНрдпрд╛ рд╣реИ? рддреАрд╕рд░реЗ рдЪрд░рд┐рддреНрд░ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реБрдП 18 рдорд╣реАрдиреЗ рд╢рд╛рдпрдж рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ _is_ рдмрд╛рдЗрдХ рд╢реЗрдбрд┐рдВрдЧ

рд╕рд╣рдордд, ^ рдпрд╣ рдПрдХ рдХрджрдо рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред
рдЖрдИрдПрдордУ рдЕрдиреНрдп op= рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрддрддрд╛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдРрд╕рд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ a ..= b рдХреЗ рдЕрд░реНрде рдореЗрдВ a = a .. b , рдХреНрдпреЛрдВрдХрд┐ .. рд╣реИ рд░реЗрдВрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрдЯрд░ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рд╕рд┐рдВрдЯреИрдХреНрдЯрд┐рдХ рд╢реБрдЧрд░ (рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдСрдк рдУрд╡рд░рд▓реЛрдбрд┐рдВрдЧ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИ, рдЬрд╣рд╛рдВ рдХрд┐рд╕реА рднреА рдСрдк рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ op= , рдФрд░ .. )ред
рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ ..= рдбреЙрдХреНрдЯрд░ рдХреЛ рджреЗрдЦреЗ рдмрд┐рдирд╛ рд╕реНрдкрд╖реНрдЯ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рд▓реЛрдЧреЛрдВ рдиреЗ рдбреЙрдХреНрдЯрд░ рдХреЛ рджреЗрдЦ рд▓рд┐рдпрд╛ рддреЛ рдЙрд╕реЗ рдпрд╛рдж рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡реИрд╕реЗ рднреА рдбреЙрдХреНрдЯрд░ рдХреЛ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ред

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

рдореБрдЭреЗ рдпрд╣ рднреА рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐, рднрд▓реЗ рд╣реА рдореИрдВрдиреЗ рдпрд╣ рдкрд╣рдЪрд╛рдирд╛ рд╣реЛ рдХрд┐ ..^ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд░реЗрдВрдЬ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдерд╛, рдореБрдЭреЗ рдХреЛрдИ рд╕рд╣рдЬ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕рдорд╛рд╡реЗрд╢реА рдпрд╛ рдЕрдирдиреНрдп рдерд╛ рдпрд╛ рдирд╣реАрдВ

рдорд╛рдирд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░реНрд▓ 6 рдореЗрдВ рдЗрд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рджреЗрдЦ рдЪреБрдХрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдЗрд╕рдХрд╛ рдЕрд░реНрде рдЕрдирдиреНрдп рд╣реИ, рдпрд╣рд╛рдВ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд╡рд┐рдкрд░реАрддред

@solson рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рдмрд╣реБрдд рд╣реА рдЖрдХрд░реНрд╖рдХ рддрд░реНрдХ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд░реНрд▓ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ, .. рдЕрд░реНрде рд╕рдорд╛рд╡реЗрд╢реА (рджреЛрдиреЛрдВ рдкрд░)
рд╕рд╛рдЗрдб) рдФрд░ ^ рджреЛрдиреЛрдВ рддрд░рдл рдЙрд╕ рдмрд╛рдЙрдВрдб рдХреЛ рдПрдХреНрд╕рдХреНрд▓реВрд╕рд┐рд╡ рдмрдирд╛рддрд╛ рд╣реИред

рд╢рдирд┐рд╡рд╛рд░, 18 рдорд╛рд░реНрдЪ, 2017 рдХреЛ рд╢рд╛рдо 6:51 рдмрдЬреЗ, рдЬреЛрд╢ рдЯреНрд░рд┐рдкрд▓реЗрдЯ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@solson https://github.com/solson рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рдореНрдореЛрд╣рдХ рддрд░реНрдХ рд╣реИ
рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдлред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/rust-lang/rust/issues/28237#issuecomment-287580739 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAC3n7Fnn1_t9BkYOhfS-7oCaGlVff2aks5rnF_5gaJpZM4F4LbW
.

рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдЦреЗрдж рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рд╣рдордиреЗ @rust-lang/lang рдмреИрдардХ рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА, рддреЛ рд╣рдо рдЖрдо рд╕рд╣рдорддрд┐ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣реЗред @withboats рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреБрдЫ рдЧрдВрднреАрд░ рдЖрд░рдХреНрд╖рдг рд╣реИрдВ рдЬреЛ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреБрдЫ рдкреНрд░рдореБрдЦ рдмрд┐рдВрджреБ рдЬрд┐рди рдкрд░ рд╣рдордиреЗ рдЪрд░реНрдЪрд╛ рдХреА:

  • рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рднрд╛рд╡ рдФрд░ рдкреИрдЯрд░реНрди рдореЗрдВ рдПрдХ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ, рддреЛ рдпрд╣ рд╡рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

    • рдпрд╛рдиреА, рдЕрдЧрд░ рд╣рдо x ..= y рдЕрдкрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореМрдЬреВрджрд╛ x...y рдкреИрдЯрд░реНрди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рд╣рдЯрд╛рдирд╛ред

  • рдПрдХ рдЖрдХрд░реНрд╖рдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ "рдХреБрдЫ рди рдХрд░реЗрдВ" рдФрд░ рдХреЗрд╡рд▓ (x..y).inclusive() рдпрд╛ рдРрд╕реА рд╣реА рдХреЛрдИ рдЪреАрдЬрд╝ рд▓рд┐рдЦреЗрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдкреИрдЯрд░реНрди рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ (рдЬреЛ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ x...y рд░реВрдк рдореЗрдВ рд░рд╣реЗрдЧрд╛)ред рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдХреБрдЫ рдкреНрд░рд╢реНрди рдЙрдард╛рддрд╛ рд╣реИ:

    • рдХреНрдпрд╛ рд╣рдо рдЕрднреА рднреА рдЕрдирдиреНрдп рд╢реНрд░реЗрдгреА рдкреИрдЯрд░реНрди рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП match 3 { 1..3 => false, .. }



      • рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╣реА рд╕рдВрднрд╛рд╡рд┐рдд рднреНрд░рдо рд╣реИ!



    • @withboats рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢рд╛рдпрдж рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреИрдЯрд░реНрди рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдореИрдВ рдФрд░ @joshtriplett рдЗрд╕ рдкрд░ рдмрд┐рд▓реНрдХреБрд▓ рдЖрд╡рд╢реНрдпрдХ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВред =)

  • рдПрдХреНрд╕рдХреНрд▓реВрд╕рд┐рд╡ рд░реЗрдВрдЬ рдкреИрдЯрд░реНрди рдХреЗ рдЖрд╕рдкрд╛рд╕ рдПрдХ рдФрд░ рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ (рдЕрд╕реНрдерд┐рд░) рд╕реНрд▓рд╛рдЗрд╕ рдкреИрдЯрд░реНрди рдХреЗ рд╕рд╛рде рдЦрд░рд╛рдм рдЗрдВрдЯрд░реЗрдХреНрд╢рди (рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП https://github.com/rust-lang/rust/issues/23121 рджреЗрдЦреЗрдВ)ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЪрд░реНрдЪрд╛ рд╕реЗ рдЬреЛ рдПрдХ рдмрд╛рдд рдирд┐рдХрд▓реА, рд╡рд╣ рдпрд╣ рдереА рдХрд┐ рд╕рднреА рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА рдХрд╛рд░рдХреЛрдВ рдкрд░ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рдирд┐рд░реНрдгрдп рд▓реЗрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдПрдХ рдирд┐рд░реНрдгрдп рдХреЛ рдЕрдкрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╕реБрд▓рдЭрддрд╛ рд╣реИ:

  • рдПрдХреНрд╕рдХреНрд▓реВрд╕рд┐рд╡ рд░реЗрдВрдЬ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрд░реЗрдВ?
  • рдХреНрдпрд╛ рд╣рдореЗрдВ рдореМрдЬреВрджрд╛ рдПрдХреНрд╕рдХреНрд▓реВрд╕рд┐рд╡ рд░реЗрдВрдЬ рдкреИрдЯрд░реНрди рдХреЛ рд╣рдЯрд╛рдирд╛/рдмрджрд▓рдирд╛ рд╣реИ?
  • рд╕рдорд╛рд╡реЗрд╢реА рд░реЗрдВрдЬ рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?
  • рд╕реНрд▓рд╛рдЗрд╕ рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрд░реЗрдВ?

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

(рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдХреЛ рдХреА рдкреЛрд╕реНрдЯ рдХреЗ рдЖрдЦрд┐рд░реА рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ, рдкрд╣рд▓реА рдмреБрд▓реЗрдЯ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ "рдПрдХреНрд╕рдХреНрд▓реВрд╕рд┐рд╡ рд░реЗрдВрдЬ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди" рдкрдврд╝рддреА рд╣реИ, рдЙрд╕реЗ "рд╕рдорд╛рд╡реЗрд╢реА рд░реЗрдВрдЬ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди" рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред)

рдЯреАрдПрд▓; рдбреАрдЖрд░ рдореЗрд░реА рд░рд╛рдп

рд░реЗрдВрдЬ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:

  • рд╣рдореЗрдВ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдХреЗ рднрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкреЗрд╢ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рди рддреЛ ... рдФрд░ рди рд╣реА ..= ред
  • рд╣рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреНрд░реАрд▓реНрдпреВрдб рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╢реНрд░реЗрдгреА рдорд╛рди рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдорд╛рди рджреЗрддрд╛ рд╣реИред рддреЛ рдЖрдк inclusive(0..10) рд▓рд┐рдЦреЗрдВрдЧреЗ (рдирд╛рдо рдмрд╛рдЗрдХрд╢реЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред

рд░реЗрдВрдЬ рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:

  • рд╣рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реЗрдВрдЬ рдкреИрдЯрд░реНрди, рдпрд╛ рдХрд┐рд╕реА рдПрдХ рдХреЛ рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдкреЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдХреЗрд╡рд▓ рднреМрддрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдЬреЛ рд╣рдореЗрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡рд╣ рд╣реИ libs рдкрд░рд┐рд╡рд░реНрддрди: рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝реЗрдВред

рд░реЗрдВрдЬ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди

рдореЗрд░реЗ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдореМрд▓рд┐рдХ рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдореВрд▓реНрдп рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдПрдХ рдЕрд╕рд╛рдорд╛рдиреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рддрдереНрдп рд╕реЗ рдкреИрджрд╛ рд╣реБрдЖ рд╣реИ рдХрд┐ 18 рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдЖрд░рдПрдлрд╕реА рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╣рдордиреЗ рдЕрднреА рднреА рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╕реНрдерд┐рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ - рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдореБрджреНрджреЛрдВ рдХреЗ рдХрд╛рд░рдг рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╣рдо рдЯреНрд░реЗрдб рдСрдл рд╕реЗ рдЦреБрд╢ рдирд╣реАрдВ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдХреЗ рднрд╛рд╡реЛрдВ рдХреА рдЕрдХреНрд╕рд░ рдЗрддрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рдПрдХ рд╕реАрдзреЗ рддрд░реАрдХреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ рдЗрддрдирд╛ рдирд╣реАрдВ рдХрд┐ рд╡реЗ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЕрдм рддрдХ рдЪрд░реНрдЪрд╛ рдХрд┐рдП рдЧрдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рдХрд┐рд╕реА рднреА рдбрд╛рдЙрдирд╕рд╛рдЗрдб рдХреЛ рджреВрд░ рдХрд░ рд╕рдХреЗрдВред

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рдХреНрдпрд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рди рдиреЗ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрд╡-рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ 0...10 рдпрд╛ 0..=10 рдПрдХ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рд╡реНрдпрдВрдЬрдХ рд╣реИред рдЪреВрдВрдХрд┐ рдЙрдирдХрд╛ рд╕рд╛рдордирд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рд╣реА рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реА рдмрд╛рд░ рдЙрдирдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдмрдбрд╝реА рдмрд╛рдзрд╛ рд╣реЛрдЧреАред

рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╣ рднреА рдиреЛрдЯрд┐рд╕ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ "рд╕рд╛рдорд╛рдиреНрдп" .. рд╢реНрд░реЗрдгреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдмреЗрд╢рдХ, рдпрд╣ ... рд╕рд╛рде рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди ..= рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрд╕рд╛рди рд╣реИ, рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХрд┐рдорд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп, рдЙрд╕ рдПрдХ = рд╡рд░реНрдг (рдпрд╛ ^ рдпрд╛ : рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА) рдХреЛ рдпрд╛рдж рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЕрддрд┐рд░рд┐рдХреНрдд . рдЬрд┐рддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реЛрдЪрддрд╛ рд╣реВрдВ рдХрд┐ ... рдФрд░ ..= рдмреАрдЪ "рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдо рд╕реНрдкрд╖реНрдЯрддрд╛" рд╡реНрдпрд╛рдкрд╛рд░ рдмрдВрдж рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ ... рдЕрд░реНрде рдХреНрдпрд╛ рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рдЖрдк рд░реВрдмреА рд╕реЗ рдирд╣реАрдВ рдЖ рд░рд╣реЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рджреЛ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕реЛрдВ рдХрд╛ рд╡рд┐рдкрд░реАрдд рдЕрд░реНрде рд╣реИ) ..= , рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрдо рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ ред

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ inclusive(0..10) рдЬреИрд╕рд╛ рдкреНрд░реАрд▓реНрдпреВрдб рдлрдВрдХреНрд╢рди рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЪрд░реНрдЪрд╛ рдХрд┐рдП рдЧрдП рдХрд┐рд╕реА рднреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдФрд░ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред рд╣рд╛рдВ, рдЗрд╕рдХреЗ рдЕрдзрд┐рдХ рд╡рд░реНрдг рдЯрд╛рдЗрдк рдХрд░рдиреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╣реИред

рдпрд╣ рдХрд┐рд╕реА рднреА рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдФрд░ рдЯреЛрдХрдирд┐рдВрдЧ рдореБрджреНрджреЛрдВ рдХреЛ рднреА рджреВрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ (рдмрд╣реБрдд рдХрд╖реНрдЯрдкреНрд░рдж) рд╢реНрд░реЗрдгреА рдмрдирд╛рдо рд╡рд┐рдзрд┐ рд╡рд░реАрдпрддрд╛ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ (0..10).filter рдФрд░ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рд░реЗрдВрдЬ рдкреИрдЯрд░реНрди

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

рджреВрд╕рд░рд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдмрд╣реБрдд рдЦрд░рд╛рдм рд╢реИрд▓реА рд╣реИрдВ (рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧ рдЕрд╕рд╣рдордд рд╣реИрдВ)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

if let 1..10 = x { .. }

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

рдЗрд╕рдореЗрдВ "рдСрдл-рдмрд╛рдп-рд╡рди" рдореБрджреНрджрд╛ рднреА рд╣реИ рдЬреЛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ .. / ... рд╣реИред

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдХреЛ рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ:

match x {
    0..10 => { ... }
    10..20 => { ... }
}

рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рджреЗрдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛:

match x {
    0...9 => { ... }
    10...19 => { .. }
}

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

рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдХреЗ рднрд╛рд╡реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд╢реНрд░реЗрдгреА рдкреИрдЯрд░реНрди рдкрд░ рдмреЛрд▓рдмрд╛рд▓рд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реВрдВред

рдирд┐рд░рдВрддрд░рддрд╛ рддрд░реНрдХ

рдирд┐рдХреЛ рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рднрд╛рд╡ рдФрд░ рдкреИрдЯрд░реНрди рдореЗрдВ .. рдФрд░ ... рджреЛрдиреЛрдВ рдХрд╛ рд╣реЛрдирд╛ рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХрд░реВрдкрддрд╛ рдХреЗ рдХрд╛рд░рдг рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рдореИрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░реНрдХ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реВрдВред рдПрдХ рд╕реАрдорд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рдирд╛ рдФрд░ рдПрдХ рд╕реАрдорд╛ рдкрд░ рдорд┐рд▓рд╛рди рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╛рди рд╕рдВрдЪрд╛рд▓рди рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЙрдирдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рд╣реЛрдЧрд╛ред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЛрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрдиреЗрдХреНрдЯ рднреА рдирд╣реАрдВ рд╣реИ: 1..10 рдПрдХ рд░реЗрдВрдЬ рдорд╛рди рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ 1...10 рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рди рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рдВрд░рдЪрдирд╛рддреНрдордХ/рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдХрдиреЗрдХреНрд╢рди рд╣реИ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣рдорд╛рд░реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐/рдкреИрдЯрд░реНрди рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣ "рд░реЗрдВрдЬ рдкреИрдЯрд░реНрди" рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреИрдЯрд░реНрди рдХреЛ "рдбреЛрдореЗрди рдкреИрдЯрд░реНрди" рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИ, рдЬреЛ рдЧреИрд░-рд╕рдорд╛рдирддрд╛ рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рддрд╛ рд╣реИред

@ рдирд╛рд╡реЛрдВ рдХреЗ рдмрд┐рдирд╛

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

рдореЗрд░реЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдордпреЛрдВ рдкрд░ рдЖрд╡рд╢реНрдпрдХ рджреЛрдиреЛрдВ рдЕрдирдиреНрдп рдФрд░ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЛ рдкрд╛рдпрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рд╕реНрдерд┐рд░ рдЬрдВрдЧ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдирдиреНрдп рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ +1 рдКрдкрд░реА рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдерд╛ рдмрд╛рдзреНрдп)ред рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдкреИрдЯрд░реНрди рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

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

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рдХреНрдпрд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рди рдиреЗ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрд╡-рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ 0...10 рдпрд╛ 0..=10 рдПрдХ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рд╡реНрдпрдВрдЬрдХ рд╣реИред рдЪреВрдВрдХрд┐ рдЙрдирдХрд╛ рд╕рд╛рдордирд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рд╣реА рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реА рдмрд╛рд░ рдЙрдирдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдмрдбрд╝реА рдмрд╛рдзрд╛ рд╣реЛрдЧреАред

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реЛрдЧреА, рдЕрдЧрд░ рдПрдХ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдкреИрдЯрд░реНрди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдХреНрд░реЛ рдпрд╛ рд╕рдорд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

@joshtriplett рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрдм рдЖрдк рдпрд╣ рдХрд╣рддреЗ рд╣реИрдВ:

рдореИрдВрдиреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдордпреЛрдВ рдкрд░ рдЖрд╡рд╢реНрдпрдХ рджреЛрдиреЛрдВ рдЕрдирдиреНрдп рдФрд░ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рдкрд╛рдИ рд╣реИрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рд╕реНрдерд┐рд░ рд░рд╕реНрдЯ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдирдиреНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдКрдкрд░реА рдмрд╛рдЙрдВрдб рдореЗрдВ +1 рдХреЗ рд╕рд╛рде рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдирд╛ рдерд╛)ред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рднрд╛рд╡реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрджреНрдзреГрдд рдЕрдиреБрднрд╛рдЧ рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдерд╛ (рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдЕрдЧрд▓реЗ рдЕрдиреБрдЪреНрдЫреЗрдж рдореЗрдВ рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ "рдЖрд╡рд╢реНрдпрдХрддрд╛" рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдЙрд╕ рдЕрдиреБрдЪреНрдЫреЗрдж рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ) .

рдкреИрдЯрд░реНрди рдХреЗ рд▓рд┐рдП рдпрдерд╛рд╕реНрдерд┐рддрд┐ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдХреЗрд╡рд▓ x...y рдлрд╝реЙрд░реНрдо рдХреЗ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдкреИрдЯрд░реНрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛/рдЬрдм рдЖрдкрдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реЗрдВрдЬ рдкреИрдЯрд░реНрди рдорд┐рд▓реЗ рд╣реИрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реИрдВ?

@ рдирд╛рд╡реЛрдВ рдХреЗ рдмрд┐рдирд╛

рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛/рдЬрдм рдЖрдкрдХреЛ рдЕрдирдиреНрдп рд╢реНрд░реЗрдгреА рдкреИрдЯрд░реНрди рдорд┐рд▓реЗ рд╣реИрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реИрдВ?

рдХреБрдЫ рдЗрд╕ рддрд░рд╣

    match offset {
        0x0200 .. 0x0280 => { /* GICD_ISPENDR<n> */ }
        0x0280 .. 0x0300 => { /* GICD_ICPENDR<n> */ }
        0x0300 .. 0x0380 => { /* GICD_ISACTIVER<n> */ }
        0x0380 .. 0x0400 => { /* GICD_ICACTIVER<n> */ }
        0x0400 .. 0x0800 => { /* GICD_IPRIORITYR<n> */ }
    }

рдмрдирд╛рдо

    match offset {
        0x0200 ... 0x027C => { /* GICD_ISPENDR<n> */ }
        0x0280 ... 0x02FC => { /* GICD_ICPENDR<n> */ }
        0x0300 ... 0x037C => { /* GICD_ISACTIVER<n> */ }
        0x0380 ... 0x03FC => { /* GICD_ICACTIVER<n> */ }
        0x0400 ... 0x07FC => { /* GICD_IPRIORITYR<n> */ }
    }

рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓рд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рджрд┐рдЦрддрд╛ рд╣реИред

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

@petrochenkov рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ F рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдереЗ, рди рдХрд┐ C ?

рдореИрдВрдиреЗ рд╣реЗрдХреНрд╕ рд░реЗрдВрдЬ рдкреИрдЯрд░реНрди рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдорд╛рдорд▓реЗ рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 0x8000...0x9FFF => /* body */ ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 0x8000..0xA000 рдореЗрдВ рдХреБрдЫ рдЕрдзрд┐рдХ рд╕рд╣рдЬ рдЧреБрдг рд╣реИрдВ, рдЬреИрд╕реЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреЗ рдмрд┐рдирд╛ рдореИрдВ рддреБрд░рдВрдд рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рд╕реАрдорд╛ рдХрд╛ рдЖрдХрд╛рд░ 0xA000 - 0x8000 = 0x2000 рдФрд░ рдЕрдЧрд▓реА рдЖрд╕рдиреНрди рд╕реАрдорд╛ 0xA000 рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ

рдЗрди рддрдереНрдпреЛрдВ рдХреЛ рдПрдХ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдореЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ +1 рдирд┐рдкрдЯрдирд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЕрдВрддрд░ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдореИрдВ рд░рд╣ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ (рдкреИрдЯрд░реНрди рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рджреЛрдиреЛрдВ) рдЖрдорддреМрд░ рдкрд░ рдореЗрд░реЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реЛрддреА рд╣реИрдВред

@petrochenkov рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рд╣реЗрдХреНрд╕рдбрд┐рдЬрд┐рдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рдХреНрдпреЛрдВ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ (рдореИрдВ рдЕрднреА рднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╡рд╛рдИрдПрдордПрдорд╡реА рд╕реМрджреЗ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ)ред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдо рд╕реНрд▓рд╛рдЗрд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛рдУрдВ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗ?

@joshtriplett

рдпрджрд┐ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдкреИрдЯрд░реНрди ... рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдирдиреНрдп рд╢реНрд░реЗрдгреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ .. рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдореИрдВ рдЕрднреА рднреА рдмрд╣реБрдд рднреНрд░рдорд┐рдд рд╣реВрдВред

рд░рд╕реНрдЯ рдЖрдЬ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рднреНрд░рдо рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реНрд░реЛрдд рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ?

@solson

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдПрдл рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдереЗ, рд╕реА рдирд╣реАрдВ?

рдирд╣реАрдВ :)
(рд╡реЗ рдЪреАрдЬреЗрдВ 32-рдмрд┐рдЯ рд╣реИрдВ рдФрд░ offset рдЪрд╛рд░ рдХрд╛ рдЧреБрдгрдЬ рд╣реИред)

@ рдирд╛рд╡реЛрдВ рдХреЗ рдмрд┐рдирд╛

рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рд╣реЗрдХреНрд╕рдбрд┐рдЬрд┐рдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЛ рдХреНрдпреЛрдВ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ (рдореИрдВ рдЕрднреА рднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╡рд╛рдИрдПрдордПрдорд╡реА рд╕реМрджрд╛ рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ)ред

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

рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдо рд╕реНрд▓рд╛рдЗрд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛рдУрдВ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗ?

рд╕рд░рд▓рддрд╛! PATTERN.. => .. @ PATTERN

рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдореИрдВ рдПрдХ рдЪрд░ рдореЗрдВ рд╕реНрдЯреЙрдк рд╡реИрд▓реНрдпреВ рдореЗрдВ рдЧреБрдЬрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рд╣реИ рдЬреЛ рдПрдХ рдЪрд░ рдкреНрд░рдХрд╛рд░ рдзрд╛рд░рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рд╕рдорд╛рдзрд╛рди рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВ:

  1. рдПрдХ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (рд╕рдмрд╕реЗ рд╕рд╛рдл, рд▓реЗрдХрд┐рди рд╕реНрдерд┐рд░ рдирд╣реАрдВ)
  2. + 1 рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдХрд╛рд╕реНрдЯрд┐рдВрдЧ (рдорд╛рди рд▓реЗрдВ рдХрд┐ рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА u64 рдкрд░ рдирд╣реАрдВ рд╣реВрдВ рдФрд░ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╣реИ)
  3. рд╢реНрд░реЗрдгреА рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдорд╛рди рдФрд░ рдЕрдзрд┐рдХрддрдо рдорд╛рдЗрдирд╕ рдПрдХ рд▓реЗрдирд╛, рдлрд┐рд░ рдЙрдкрдпреБрдХреНрдд рд╣реЛрдиреЗ рдкрд░ рдХрд╛рд░реНрдп рдХреЛ рдПрдХ рдмрд╛рд░ рдФрд░ рдЪрд▓рд╛рдирд╛ред

рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдореЗрдВ + 1 рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрджрдд рдмрдирд╛рдирд╛ рдЬрд╣рд╛рдВ рдЗрд╕рдХрд╛ рдХреЛрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЙрджреНрджреЗрд╢реНрдп рдирд╣реАрдВ рд╣реИ, рдмрд╛рдж рдореЗрдВ cargo fuzz рдореЗрдВ рдЙрдирдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рддрд░реАрдХрд╛ рд╣реИ ... рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ + 1 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд╛рде "рдПрдХреНрд╕рдХреНрд▓реВрд╕рд┐рд╡ рд╕реЗ рд╕рдорд╛рд╡реЗрд╢реА рдмрдирд╛рдПрдВ" рдлрд╝рдВрдХреНрд╢рди рдпрд╣ рдЖрднрд╛рд╕ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рдПрдХ рдЕрд╕рд╛рдзрд╛рд░рдг рдЪреАрдЬрд╝ рд╣реИрдВ, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЖрдкрдХреЛ рдЖрджрддрди рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣реЛрдиреЗ рдХреЗ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реВрдВред рдпрд╣ рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рдПрдХ рд╣реИрдХ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЕрдирдиреНрдп рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЛ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

@ssokolow рд▓реЗрдХрд┐рди рдЙрд╕ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдкреНрд░реАрд▓реНрдпреВрдб рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдЖрд░рд╛рдо рд╕реЗ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреЛрдИ рднреА рдпрд╣ рд╕реНрдерд┐рддрд┐ рдирд╣реАрдВ рд▓реЗ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдмрд╕ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдХреНрдп рд░рдЪрдирд╛рддреНрдордХ рдЪреАрдиреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВред

рдореБрдЭреЗ рдкреНрд░реАрд▓реНрдпреВрдб рдлрдВрдХреНрд╢рди рдХрд╛ @withboats рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреВрд╕рд░реА рдЬрдЧрд╣ рдЬрд╣рд╛рдВ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рдЕрдзрд┐рдХ рдЖрдо рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЬрдм рдЖрдк рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА btree (рдпрд╛ рд╕рдорд╛рди рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛) рдкрд░ рдЦреЛрдЬ рдХреА рд╕реАрдорд╛рдПрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗред

рдЬрдм рдЖрдк рдЬрд╡рд╛рдм рджреЗ рд░рд╣реЗ рдереЗ рддреЛ @withboats рдореИрдВрдиреЗ рдЕрдкрдиреА рдкреЛрд╕реНрдЯ рдкрд░ рдереЛрдбрд╝рд╛ рд╕рд╛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЬреЛ рдЬреЛрдбрд╝рд╛ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЛ рджреНрд╡рд┐рддреАрдп рд╢реНрд░реЗрдгреА рдХреЗ рдирд╛рдЧрд░рд┐рдХ рдмрдирд╛рдирд╛, рд╡рд╛рдХреНрдп рд░рдЪрдирд╛рддреНрдордХ рд░реВрдк рд╕реЗ (рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╢реНрд░реЗрдгреА рдореЗрдВ + 1 рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде) ), рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рд╕реВрдХреНрд╖реНрдо рдирд┐рд░рд╛рд╢рд╛ рдХреА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд "рдореИрдВ рдЖрдкрдХреЛ cargo fuzz рдмрд╛рдж рдореЗрдВ рджреЗрдЦреВрдВрдЧрд╛" рдлрд╝реБрдЯрдЧрдиред

рдЕрдЧрд░ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ, рддреЛ рдпрд╣ рдПрдХ рд╢рд┐рдХреНрд╖рдг рдпреЛрдЧреНрдпрддрд╛ рдорд╕реНрд╕рд╛ рд╣реИред

рд░рд╕реНрдЯ рдЕрдкрдиреЗ рдЕрд╕реАрдорд┐рдд рдкреВрд░реНрдгрд╛рдВрдХ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде Python 3.x рдирд╣реАрдВ рд╣реИред рдЬрдВрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЯреНрд░реЗрдб-рдСрдл рдХреЛ рдЫрд┐рдкрд╛рддреА рдирд╣реАрдВ рд╣реИ, рдФрд░ рдореБрдЭреЗ ..= рдмрдЬрд╛рдп u32 рдФрд░ рджреЛрд╕реНрддреЛрдВ рдХреЗ рдмрдЬрд╛рдп int ред (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдУрд╡рд░рдлреНрд▓реЛ/рдЕрдВрдбрд░рдлреНрд▓реЛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ cargo fuzz рдХреЗ "рдЯреНрд░реЙрдлреА рдХреЗрд╕" рдкрд░ рдЕрдм рддрдХ рдХреА рд╕рдмрд╕реЗ рдЖрдо рдмрд╛рдд рд╣реИред)

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдХреГрдкрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдИ-рдореЗрд▓ рд╕реВрдЪрдирд╛рдУрдВ рдореЗрдВ рджреЗрдЦреЗ рдЧрдП рдХрд┐рд╕реА рднреА рдмрд┐рдЯ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВред рдореИрдВ рдЕрднреА рдЙрдард╛ рдФрд░ рдореИрдВ рдЕрднреА рддрдХ рд╕рднреА рд╕рд┐рд▓реЗрдВрдбрд░реЛрдВ рдкрд░ рдлрд╛рдпрд░рд┐рдВрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВ inclusive(n..m) рдХреЛ рдирд┐рд░рд╛рд╢рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рджреЗрдЦрддрд╛... рдореИрдВ рдЗрд╕реЗ рд▓рд┐рдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реНрдкрд╖реНрдЯ рдирд┐рд░реНрдорд╛рдг рд╣реИ рдЬреЛ рдореЗрд░реЗ рдХреЛрдб рдХреЛ n..(m + 1) рдФрд░ n..=m рджреЛрдиреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкрдврд╝рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ

n..=m inclusive(n..m) IMO рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рд┐рдЦрд╛рдиреЗ рдпреЛрдЧреНрдп рдорд╕реНрд╕рд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдЪ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреИрдЯрд░реНрди рдХреЗ рдмрдЬрд╛рдп рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕реАрдорд╛ рдХрд╛ рдкреВрд░реНрдг рдХрд╡рд░реЗрдЬ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реИред

рд╕рдВрднрд╡рддрдГ рдпрджрд┐ "рдкрд┐рдЫрд▓реЗ рд╕реЗ рдЬрд╛рд░реА рд░рдЦреЗрдВ" рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдерд╛, рддреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рднреА рдХрд░реЗрдЧрд╛ред

BTW, рдЪреВрдВрдХрд┐ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рдкреИрдЯрд░реНрди рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢реБрд░реБрдЖрддреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЕрдХреНрд╕рд░ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

    match offset {
        0 ... 0x01FF => {}
        0 ... 0x027C => { /* GICD_ISPENDR<n> */ }
        0 ... 0x02FC => { /* GICD_ICPENDR<n> */ }
        0 ... 0x037C => { /* GICD_ISACTIVER<n> */ }
        0 ... 0x03FC => { /* GICD_ICACTIVER<n> */ }
        0 ... 0x07FC => { /* GICD_IPRIORITYR<n> */ }
    }

рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рдХреА рдмрд╛рдд рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди:

  1. рдЬрдм рдореИрдВ .. рдФрд░ ..= рджреЗрдЦрддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ "рд╣реБрд╣ред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдЗрддрдиреЗ рдЫреЛрдЯреЗ рдЕрдВрддрд░ рдХреЗ рд▓рд┐рдП рджреЛ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреНрдпреЛрдВ рд╣реИрдВ", рдЬреЛ рдореБрдЭреЗ рдЙрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд░реЗрдЧрд╛ рдЬреЛ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ " 1..pivot рдФрд░ pivot..end " рдмрдирд╛рдо " x..=y рдЬрд╣рд╛рдВ y рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╡ рдореВрд▓реНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ"ред

  2. рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рдЕрдиреБрднрд╡реА рдкрд░реНрдпрд╛рдкреНрдд рдЖрджрддрди рдЪрд░ рдЖрдХрд╛рд░реЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ рдЧрдпрд╛, рдореИрдВ рд╕рд┐рд░реНрдл рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИ рдерд╛ + 1 рд╕реЗ рдЕрдзрд┐рдХ inclusive() , рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ (рдЕрдЧрд░ рдореИрдВ рднреА рдпрд╣ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛) + 1 рдкреНрд░рд╛рдердорд┐рдХ рд╡рд┐рджреНрдпрд╛рд▓рдп рдХреЗ рдмрд╛рдж рд╕реЗ, рдпрд╣ рдЫреЛрдЯрд╛ рдФрд░ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИ, рдФрд░ рдореЗрд░рд╛ рдЕрдиреБрднрд╡рд╣реАрди рд╕реНрд╡рдпрдВ рдкрд╛рдЗрдерди рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреИрд╕реА рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдХрд╛рд░рдг рд▓реЛрдЧреЛрдВ рдХреЛ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: ... рдФрд░ рдпрд╣ рдмрд┐рдВрджреБ 1 рдореЗрдВ рд╡реИрдЪрд╛рд░рд┐рдХ рднреЗрдж рд╣реИ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред (рдЕрд░реНрдерд╛рдд "рдПрдХреНрд╕ рд╕реЗ рдкрд┐рд╡рдЯ рддрдХ" рдФрд░ "рдПрдХреНрд╕ рд╕реЗ рдЕрдВрдд рддрдХ" рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЕрд▓рдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред)

@pornel
рдпрд╣ рднрдпрд╛рдирдХ рд╣реИ
рдЗрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЛрдб рдкрдврд╝рдиреЗ рд╡рд╛рд▓реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕реАрдорд╛ рдкреНрд░рд╛рд░рдВрдн рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдХрд┐рд╕реА рднреА рд╕рдорд╛рд╡реЗрд╢реА/рдЕрдирдиреНрдп рд╢реНрд░реЗрдгреА рдХреЗ рдореБрджреНрджреЛрдВ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

@ssokolow рдпрд╣ рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ +1 рдПрдХ рдореБрджреНрджрд╛ рдкрд╛рддреНрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдпрд╣ рдЗрд░рд╛рджреЗ рдХреЛ рднреА рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рддрд╛-рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд╕рдВрдШрд░реНрд╖ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпреЗ рд╕рднреА рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВред

рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЬреЛ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рд╡рд╣ рдПрдХ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ +1 рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рджреЛрдиреЛрдВ рдХреЛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ ..= рдПрдХ рдЪреАрдЬ рд╣реИ рдФрд░ рдпрд╣ рдХрд┐ inclusive() рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬреЛ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдЦрдиреЗ рдпреЛрдЧреНрдп рдХреНрд╖рдг рдкреЗрд╢ рдХрд░рддреА рд╣реИ рдХрд┐ рдЖрдк рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рдХреНрдпреЛрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

@рдкреЗрдЯреНрд░реЛрдЪреЗрдирдХреЛрд╡

рдореИрдВ рдЕрднреА рднреА рдЕрдирдиреНрдп рдкреИрдЯрд░реНрди рдФрд░ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рджреЛрдиреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВ (рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдирд╣реАрдВ, рдпрд╣ рдмрд╣реБрдд рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╣реЛрдЧрд╛) ред

рдХреНрдпрд╛ рдЖрдк рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрддрдиреА рджреГрдврд╝рддрд╛ рд╕реЗ рдХреНрдпреЛрдВ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВ? рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реВ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдирдиреНрдп рдкреИрдЯрд░реНрди рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдЗрд╕рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ 0...10 рдЙрдореНрдореАрдж рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рдЙрддрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ред

inclusive() рд╕рд╛рде рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ "рдмрд╕" рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдФрд░ рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдЬрдВрдЧ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЗрдВрдбреЗрдХреНрд╕ рдкрд░ рдЬрд╛рдиреЗ, "рд░реЗрдВрдЬ" рдпрд╛ "рдЗрдЯрд░реЗрдЯрд░" рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рдЕрдкрд░реНрдпрд╛рдкреНрдд рдЖрд░рдУрдЖрдИ рдорд╛рдирдиреЗ рдЬреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред "рджреЗрдЦреЗрдВ [рдЖрдИрдПрдирдЬреА] рдЗрдЯрд░реЗрдЯрд░реНрд╕" рдХреЗ рд▓рд┐рдПред

("рдЕрдЧрд░ рдореБрдЭреЗ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд▓рдЧреЗ рддреЛ рдореИрдВ рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ рдирд╣реАрдВ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддрд╛... рдореИрдВ рдмрд╕ рдПрдХ рд╕реАрдорд╛ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдкреНрд░рдЧрддрд┐ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред")

@withboats рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдорд╛рд╡реЗрд╢реА (рдП..рдмреА) рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдореИрдЪ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрдИрдПрдордУ рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред
рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рдЬрдм рдореИрдВ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдорд┐рд▓рд╛рди рдкреИрдЯрд░реНрди рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ!
рддреЛ рдХреНрдпреЛрдВ рди рд╣рдо ... рд╣рдЯрд╛ рджреЗрдВ рдФрд░ рдореИрдЪ рдХреЗ рдЕрдВрджрд░ рдФрд░ рдмрд╛рд╣рд░ рд╕рд┐рд░реНрдл ..= рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ?

@ рдмреЙрд╕реНрдХреЛрдк рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдореИрдЪ рдореЗрдВ ... рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдкреИрдЯрд░реНрди рдХреЛ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рд╣реИ рдЬреИрд╕реЗ рд╡реЗ рд╕реНрдерд┐рд░ рд╣реИрдВред

@ssokolow рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ .. рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдПрдХ рдиреЛрдЯ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

@withboats рд▓реЗрдХрд┐рди рдореИрдЪ рдореЗрдВ ... рдХреЛ рдХреНрдпреЛрдВ рди рд╣рдЯрд╛рдПрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп ..= рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реБрд╕рдВрдЧрдд рд╣реИ?
(рддрд╛рдХрд┐ рдпрд╣ рдореИрдЪ рдХреЗ рдЕрдВрджрд░ рдФрд░ рдмрд╛рд╣рд░ ..= рд╣реЛ)

рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдореЗрдВ рдиреНрдпреВрдореЗрд░рд┐рдХ рд░реЗрдВрдЬ рдХрд╡рд░реЗрдЬ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ рд╕реАрдорд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдврдХреА рд╣реБрдИ рд╣реИ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реА рдирд╣реАрдВ:

match x {
    0.0...3.141592653589792 => 1,
    3.141592653589793...6.283185307179585 => 2,
    6.283185307179586...10.0 => 3,
    _ => 4,
}

рдФрд░ рдЗрд╕реЗ рдУрд╡рд░рд▓реИрдк рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрдирд╛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп icky рд▓рдЧрддрд╛ рд╣реИ (рдФрд░ рдиреИрддрд┐рдХ рд░реВрдк рд╕реЗ "рдмрд╕ рд╕реЗ рд╕рдм рдХреБрдЫ рд╢реБрд░реВ рдХрд░реЗрдВ -тИЮ рдХреЗ рдмрд╛рдж рд╕реЗ рд╣рдерд┐рдпрд╛рд░реЛрдВ рдХрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ" рдХреЗ рд╕рдорд╛рди)ред рдбреЗрдЯрд╛рдЯрд╛рдЗрдо рднреА рджреЗрдЦреЗрдВ, рдЬреИрд╕реЗ рдХрд┐ рдХреИрд╕реЗ ISO8601 T24:00 рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рджрд┐рди [00:00, 24:00) рд╣реИ, рди рдХрд┐ [00:00, 23:59:59]ред рдпрд╛ рддрд╛рд░, рдпрд╛ рдкрд░рд┐рдореЗрдп, рдпрд╛ ...

рдХреЗрд╡рд▓ рдЕрдирдиреНрдп рдпрд╛ рдХреЗрд╡рд▓ рд╕рдорд╛рд╡реЗрд╢реА рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рд╣рд░ рдмрд╛рд░ рдЕрдирдиреНрдп рд▓реВрдВрдЧрд╛ред

(рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛: рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП 1 <= x <= N рдкреИрдЯрд░реНрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 0 < x <= N рд░реВрдк рдореЗрдВ рдмреЗрд╣рддрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЕрдирдиреНрдп рднреА рд╣реИ - рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдзреЗ рдЦреБрд▓реЗ рдХреЗ рдмрдЬрд╛рдп рдЖрдзрд╛ рдмрдВрдж - рдЙрдиреНрд╣реАрдВ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рджрд┐рдЬреНрдХреНрд╕реНрдЯреНрд░рд╛ рдиреЗ рдХрд╣рд╛, рдмрд╕ 0-рдЖрдзрд╛рд░рд┐рдд рдХреЗ рдмрдЬрд╛рдп 1-рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрдХреНрд░рдордг рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ред)

рдпрд╣ рдСрдкрд░реЗрдЯрд░ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдпрд╣рд╛рдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреНрд▓реИрдВрдк рдлрдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рд╣реЛрддрд╛: https://github.com/rust-lang/rfcs/pull/1961 рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЪреВрдВрдХрд┐ рдЗрд╕реЗ рд╕реНрдерд┐рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╢рд╛рдпрдж рдЙрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рджреЛ рдорд┐рдирдЯ рдФрд░ рдЕрдзрд┐рдХрддрдо рддрд░реНрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рднреА рд╕рдорд╛рд╡реЗрд╢реА рд░реЗрдВрдЬ рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ:

0.0..1.0+рдИрдкреАрдПрд╕рдЖрдИрдПрд▓рдУрдПрди

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдирдВрдмрд░реЛрдВ рдХреА рдПрдХ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ nextafter , рди рдХрд┐ рдПрдкреНрд╕рд┐рд▓реЙрдиред рдпрд╛рдиреА x...y == x..nextafter(y) ред ieee754 рдХреНрд░реЗрдЯ рдРрд╕реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЙрдЬрд╛рдЧрд░

рдУрд╣, рдореИрдВрдиреЗ inclusive(a..b) рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдХреА рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдпрд╣ рд╕рдЪ рдирд╣реАрдВ рдерд╛ред рд╡реИрд╕реЗ рднреА, рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рдмреЗрд╣рддрд░ рдирд╛рдо рдХреА рдмрд╛рдЗрдХ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

@durka рдирд╛рдо рдореБрдЭреЗ рд╕реНрдкрд╖реНрдЯ рд▓рдЧрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдЪрд┐рдВрддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ?

рддреЛ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ a ... b рдореЗрдВ match рдФрд░ inclusive(a..b) рдореИрдЪ рдХреЗ рдмрд╛рд╣рд░ рд╣реЛрдВрдЧреЗ?
рд╣рдо рд╕реБрд╕рдВрдЧрдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣рд░ рдЬрдЧрд╣ a ..= b ?

рдХреНрдпрд╛ ops::{RangeInclusive, RangeToInclusive} рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрдерд┐рд░ рд╣реЛрдиреЗ рд╕реЗ рдХреЛрдИ рд░реЛрдХ рд░рд╣рд╛ рд╣реИ?

рдЕрднреА рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рдореБрдЦ рдЕрд╡рд░реЛрдзрдХ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдкрд░ рдмрд╣рд╕ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрд╕ рдмрд╣рд╕ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛, рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдЕрдВрдд рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЪрд╛рд╣реЗ рдЬреЛ рднреА рд╣реЛ, рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рдореМрдЬреВрдж рд╣реЛрдВрдЧреАред

рд╕реНрдерд┐рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд░рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЙрдкрднреЛрдХреНрддрд╛ рдлреАрдЪрд░ рдзреНрд╡рдЬ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рд╡реЗ рд╡рд┐рд╢реЗрд╖ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдПрдХ рдмрд╛рдд рдореИрдВрдиреЗ рджреВрд╕рд░реЗ рджрд┐рди RangeInclusive рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреЗрдЦреА: рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рд╢реНрд░реЗрдгреА рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЗрд╕рдХреЗ рд╡рд┐рд░реБрджреНрдз рдХреЛрдб рдХрд░рдирд╛ рдПрдХ рджрд░реНрдж рд╣реИред рдХреНрд▓реИрдВрдк рдереНрд░реЗрдб рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рдерд╛ .clamp(1...9) , рд▓реЗрдХрд┐рди рдХреЛрдб рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ:

    fn clamp(self, r: RangeInclusive<Self>) -> Self where Self : Sized {
        match r {
            RangeInclusive::Empty { .. } =>
                panic!("Cannot clamp to an empty range"),
            RangeInclusive::NonEmpty { start, end } => {
                assert!(start <= end, "Cannot clamp to a degenerate range");
                if self < start { start }
                else if self > end { end }
                else { self }
            }
        }
    }

RangeInclusive::Empty рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдорд╣рд╕реВрд╕ рд╣реЛрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд▓рдХреНрд╖реНрдп рд╕рд┐рд░реНрдл рдЬреЛрдбрд╝реА рдХреЛ рдЕрдЪреНрдЫреЗ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдПрдХ рдПрдирдо рдирд╣реАрдВ рд╣реЛрддрд╛, рддреЛ рдпрд╣ рд╕рд┐рд░реНрдл fn clamp(self, RangeInclusive { start, end }: RangeInclusive<Self>) , рдФрд░ рдмрд╣реБрдд рд╕рд╛рдл рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдорд╛рд╡реЗрд╢реА рдкрд░ .into_iter() рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЕрдирдиреНрдп рдирд╣реАрдВ рднреА рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╣реЛрдЧрд╛ ...

рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд┐рдЪрд╛рд░: рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдХреИрд╕реЗ ... рдкреИрдЯрд░реНрди рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдкреНрд░рдХрд╛рд░реЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ, рд╣рдо рдпрд╣рд╛рдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд ... рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдкрджрд╛рд╡рдирдд рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЪреВрдВрдХрд┐ рдПрдХ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдкреИрдЯрд░реНрди | рдкреИрдЯрд░реНрди рд╕реЗ рдЕрдзрд┐рдХ рдирд┐рдХрдЯрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, |... рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдореНрдореАрджрд╡рд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

match {
    1 | 2 | 3 => ...
    1 |... 3  => ...
}

рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рд╕рдорд╛рд╡реЗрд╢реА рдФрд░ рдЕрдирдиреНрдп рд╢реНрд░реЗрдгреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЕрдм рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреИрдЯрд░реНрди рд╕реЗ рдХреЛрдИ 1:1 рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЗрд╕рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

@scottmcm

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдорд╛рд╡реЗрд╢реА рдкрд░ .into_iter() рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЕрдирдиреНрдп рдирд╣реАрдВ рднреА рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╣реЛрдЧрд╛ ...

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо range.nonempty() рдЬреИрд╕реЗ рд╕рд╣рд╛рдпрдХ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдЦрд╛рд▓реА рд╕реАрдорд╛ рдХреЗ рд▓рд┐рдП рдШрдмрд░рд╛рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдЬреЛрдбрд╝реА рд▓реМрдЯрд╛рддрд╛ рд╣реИ?

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рд╣рдо IntoIterator рдХреЛ RangeInclusive рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ IMHO рд╕реЗ рдмрд╣реБрдд рджреВрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рд░реЗрдВрдЬ рдЗрдиреНрдХреНрд▓реВрд╕рд┐рд╡ :: рдЦрд╛рд▓реА рд╕рд░реНрд╡ рдХрд┐рд╕ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд░рддрд╛ рд╣реИ? рдПрдХ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдХреЛ рд░рд┐рдХреНрдд рд╢реНрд░реЗрдгреА рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдЖрдк рдПрдХ рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВрдЧреЗ? (рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА "5 рд╕реЗ 4 рддрдХ рдХреА рд╕реАрдорд╛, рд╕рдорд╛рд╡реЗрд╢реА" рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЦрд╛рд▓реА рдорд╛рдиреА рдЬрд╛рдПрдЧреАред)

@joshtriplett рдореБрдЦреНрдп рдорд╛рдорд▓рд╛ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╣реИрдВред

@joshtriplett start > end рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рдорд▓реЗ рдореЗрдВ рдЦрд╛рд▓реА рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ: 0u8...255u8 ред рдЬрдм рдЖрдк 255u8...255u8 рдФрд░ рдЗрд╕реЗ .next() рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдпрд╛ рддреЛ рдШрдмрд░рд╛ рдЬрд╛рдПрдВрдЧреЗ рдпрд╛ 0u8...255u8 рд▓рдкреЗрдЯ рдЬрд╛рдПрдВрдЧреЗ, рдЬреЛ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣рдо рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ Empty рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВред

@solson рдЖрд╣, рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдБред рд╣рд╛рдБ, рдпрд╣ рдПрдХ рджрд░реНрдж рд╣реИ, рдФрд░ рдпрд╣ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред

(рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЖрдкрдХрд╛ рдорддрд▓рдм 255u8 рд╣реИред)

(рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЖрдкрдХрд╛ рдорддрд▓рдм 255u8 рд╣реИред)

рд╣рд╛рдБ рдзрдиреНрдпрд╡рд╛рджред рд╕рдВрдкрд╛рджрд┐рддред

@solson рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ 0 рдФрд░ 255 рдХреЛ рд╕реНрд╡реИрдк рдХрд░рдХреЗ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

@clarcharr рдпрд╣ рд╕рдЪ рд╣реИред рдЪреВрдВрдХрд┐ .next() рд╣рдореЗрд╢рд╛ Empty рд╢реНрд░реЗрдгреА рдХреА рдкреАрдврд╝реА рдХреЛ рд╡рд┐рд╢реЗрд╖-рдорд╛рдорд▓рд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдпрд╣ рд╣рдореЗрд╢рд╛ рдПрдХ рд╕реАрдорд╛ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЦрд╛рд▓реА рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореБрдЭреЗ рд╡рд╣ рддрд░реАрдХрд╛ рдмреЗрд╣рддрд░ рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдЦрд╛рд▓реА рд╕реАрдорд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред

рддреЛ рдпрд╣ рд╕рд┐рд▓рд╕рд┐рд▓рд╛ рдЕрдм рдбреЗрдврд╝ рд╕рд╛рд▓ рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕реЗ рдкрдврд╝рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдирдП рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкреБрдирд░реНрдХрдерди рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА:

рд░рд╕реНрдЯ рд╕реНрдЯреЗрдмрд▓ рдЖрдЬ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ:

0..5 рдПрдХ рдЕрд░реНрдз-рдЦреБрд▓реА рд╕реАрдорд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ, [0, 1, 2, 3, 4] рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
0...5 рдПрдХ рдмрдВрдж рд╢реНрд░реЗрдгреА рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ [0, 1, 2, 3, 4, 5] рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд▓реЛрдЬреНрдб рд░реЗрдВрдЬ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдХрдИ рд░реВрдкреЛрдВ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рдХреЗ рдмрд╛рд╣рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рд╣рд░ рдПрдХ рдФрд░ рдЙрдирдХреЗ рд▓рд╛рдн рдФрд░ рдХрдорд┐рдпреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░реВрдВрдЧрд╛ред

0...5

рдкреЗрд╢реЗрд╡рд░реЛрдВ: рдореМрдЬреВрджрд╛ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рдЕрдиреБрд░реВрдк, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рднрд╛рд╖рд╛ рдХреЛ рдЕрдзрд┐рдХ рд╕рд╛рдордВрдЬрд╕реНрдпрдкреВрд░реНрдг рдорд╣рд╕реВрд╕ рдХрд░рд╛рддрд╛ рд╣реИред

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

0..=5

рдкреЗрд╢реЗрд╡рд░реЛрдВ: рдЧрд▓рдд рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рдХрдард┐рди, рдЕрдзрд┐рдХ рдЕрд░реНрдердкреВрд░реНрдг рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯ

рд╡рд┐рдкрдХреНрд╖: рдореМрдЬреВрджрд╛ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрддред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдпрд╣ рдкреВрдЫрдиреЗ рдХрд╛ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИ ... рдпрд╣рд╛рдБ рд▓реЗрдХрд┐рди ..= рдпрд╣рд╛рдБ?

0..^5

..= рд╕рдорд╛рди рд╣реА рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдПрдХ рдШрд╛рддрд╛рдВрдХ рдСрдкрд░реЗрдЯрд░ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред

inclusive(0..5)

рдкреЗрд╢реЗрд╡рд░реЛрдВ: рдЕрддреНрдпрдзрд┐рдХ рдЕрд░реНрдердкреВрд░реНрдг рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯред рдЧрд▓рдд рдЯрд╛рдЗрдк рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╡рд┐рдкрдХреНрд╖: рд▓рдВрдмреЗ рд╕рдордп рдХреА рддрд░рд╣ред рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рднреА рдЕрд╕рдВрдЧрддред

0....5

рдкреЗрд╢реЗрд╡рд░реЛрдВ: ... рдХреА рдЧрд▓рдд рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рднреА рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ

рд╡рд┐рдкрдХреНрд╖: рдЦрд░рд╛рдм рд╢рдмреНрджрд╛рд░реНрде, рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рдФрд░ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рдорд╛рдиред

[0..5] рдЕрдиреБрдкрдпреЛрдЧреАред рдХреЛрд╖реНрдардХ рдХрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рднрд╛рд╖рд╛ рдореЗрдВ рд╡рд╛рдХреНрдпрд╛рддреНрдордХ рдорд╣рддреНрд╡ рд╣реИред

0..<=5 рдЕрдиреБрдкрдпреЛрдЧреАред рдХрд┐рд╕реА рдорд╛рди рдХреА рдХрд┐рд╕реА рд╢реНрд░реЗрдгреА рд╕реЗ рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╡рд┐рд░реЛрдз.

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

рдПрдХ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпреЛрдЬрди рд╢реНрд░реЗрдгреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдХреБрдЫ рдЪрд░реНрдЪрд╛ рд╣реБрдИ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдКрдкрд░реА рдФрд░ рдирд┐рдЪрд▓реА рджреЛрдиреЛрдВ рд╕реАрдорд╛рдУрдВ рдХреЛ рд╕рдорд╛рд╡реЗрд╢реА рдпрд╛ рдЕрдирдиреНрдп рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рд╢рд╛рдпрдж рдЙрд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдзрд╛-рдЦреБрд▓рд╛ рдФрд░ рдмрдВрдж рд╕реАрдорд╛ рд╕рдВрднрд╛рд╡рд┐рдд рдХрд╡рд░ рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ 99.9999% рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗред

рдореИрдВрдиреЗ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЖрдкрдХреА рдмрд╛рдд рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╡реНрдпрдХреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рддрд╛рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХреВрдВред

@Xaeroxe рдЙрддреНрдХреГрд╖реНрдЯ рд╕рд╛рд░рд╛рдВрд╢ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЙрдкрдХрд░рдг (рд╢рд╛рдпрдж rustfmt рдХрд╛ рдПрдХ рдкреНрд▓рдЧрдЗрди) рд╣реЛрдирд╛ рд╕рдВрднрд╡ рд╣реЛ, рдЬреЛ рдирдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреИрдЯрд░реНрди рдореЗрдВ ... рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╕реНрд╡рддрдГ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ..= ) рдЬрдм рдпрд╣ рддрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рддрд░рд╣ рд╣рдо "рдкреБрд░рд╛рдиреЗ рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рд╕рднреА рдХреЛрдб" рд╕реЗ рдкреАрдЫреЗ рдирд╣реАрдВ рд╣рдЯреЗрдВрдЧреЗред
рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓реЗрдЦрдХреЛрдВ рдХреЗ рдЗрд░рд╛рджреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╕рднреА рдЬрдВрдЧ рдорд╛рдзреНрдпрдореЛрдВ рдкрд░ рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛/рд╢реАрд░реНрд╖рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╕рднреА рдХреЛ рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдЪрд▓ рд╕рдХреЗред
рдЙрди рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ... рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдирдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреИрдЯрд░реНрди рдореЗрдВ рдмрджрд▓рдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЪреАрдЬ рдЬреЛ рд╣рдо рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореБрджреНрджреЗ рдкрд░ рдкрдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд╣ рд╣реИ рд░реЗрдВрдЬрдЗрдиреНрдХреНрд▓реВрд╕рд┐рд╡ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдирд╛, рдЬреИрд╕рд╛ рдХрд┐

рд╣рдо inclusive рдлрд╝рдВрдХреНрд╢рди рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╛ рддреЛ рдХреЗрд╡рд▓ std::range рдпрд╛ рд╕рдВрднрд╡рддрдГ рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдореЗрдВ рднреА); рдпрд╣ рдХрд┐рд╕реА рджрд┐рди рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рдПрдХ рд░реЗрдВрдЬ рд╕рдорд╛рд╡реЗрд╢реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпреЗ рд╕рднреА libs рдирд┐рд░реНрдгрдпреЛрдВ рдХреА рддрд░рд╣ рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд▓реИрдВрдЧ рдЯреАрдо рдХреЗ рдкрд╛рд╕ рдЗрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕реНрдерд┐рд░/рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ RangeInclusive рдХреЛ рдХрд┐рд╕реА рдРрд╕реА рдЪреАрдЬрд╝ рдореЗрдВ рдмрджрд▓рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдЬрд┐рд╕рдХрд╛ Empty рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рд╣реИ, рдлрд┐рд░ рдПрдХ IntoIter рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдПрдВред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ Empty { at } рдмрд┐рдирд╛ рдЦрд╛рд▓реА рд╕реАрдорд╛ рдмрдирд╛рдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЕрд╕рдВрднрд╡ рдХреИрд╕реЗ рд╣реИред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдПрдХ рдХрд┐рдирд╛рд░реЗ рдХреЗ рдорд╛рдорд▓реЗ рдкрд░ MAX рдФрд░ MIN рд╕реНрд╡реИрдк рдХрд░реЗрдВ рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛ред рдЗрд╕рд╕реЗ RangeInclusive рдЬреБрдбрд╝реЗ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдХрдард┐рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЙрдЪрд┐рдд рд╕рдорд╛рдзрд╛рди рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

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

@scottmcm рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╢рд╛рдпрдж рдПрдХ рдЕрд▓рдЧ рдзрд╛рдЧрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдЪрд░реНрдЪрд╛ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдореИрдВ рд╡рд╣ рдорд╛рд░реНрдЧ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдореИрдВ рд▓реЗрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

рдореБрдЭреЗ ..= рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╢реМрдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕ рд╡рд╛рдХреНрдпрд╛рддреНрдордХ рдЪреАрдиреА рдХреЛ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рдореЗрдВ ... рдмрд░рд╛рдмрд░ рдФрд░ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рдХреЗ рдмрд╛рд╣рд░ рдПрдХ рд╕рдорд╛рд╡реЗрд╢реА рд░реЗрдВрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд┐рд░ рднрд╛рд╖рд╛ рдХреЛ рд╕реБрд╕рдВрдЧрдд рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рдЙрдирдХреЗ рдХреЛрдб рдХреЛ ..= рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рдкреИрдЯрд░реНрди рдореЗрдВ, рдШреЛрд╖рдгрд╛рдУрдВ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЯреВрд▓рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдкрд░реНрдпрд╛рдкреНрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ ... рд╕реЗ рджреВрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдЪреЗрддрд╛рд╡рдиреА рдФрд░ рдлрд┐рд░ рдЕрдВрддрддрдГ (рд╕рдВрднрд╡рддрдГ рдЕрдм рд╕реЗ рд╡рд░реНрд╖реЛрдВ рдмрд╛рдж рднреА) рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рддреНрд░реБрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореЗрд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдкреНрд░рджрд╛рди рдХрд┐рдП 24 рджрд┐рди рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВ рдФрд░ рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рджреА рдЧрдИ рд╣реИред рдХреНрдпрд╛ рд╣рдореЗрдВ рдЙрд╕ рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореЛрдмрд╛рдЗрд▓ рдкрд░ рдореБрдЭреЗ рдердореНрд╕ рдбрд╛рдЙрдиреНрд╕ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣реЗ рдереЗ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдЕрд╕рд╣рдорддрд┐рдкреВрд░реНрдг рд░рд╛рдп рдереАред

@Xaeroxe рдореБрдЭреЗ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ред рдореИрдВ рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ ... рдХреЛ ..= рдкрдХреНрд╖ рдореЗрдВ рдкрджрд╛рд╡рдирдд рдХрд░рдирд╛ рдЙрди рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд╛ рдЙрддреНрддрд░ рдирд╣реАрдВ рджрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣реА рд╡рд┐рдЪрд╛рд░ рдкрд╣рд▓реЗ рд╣реА рд╕рд╛рдордиреЗ рд░рдЦрд╛ рдЬрд╛ рдЪреБрдХрд╛ рдерд╛ рдФрд░ рдЙрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛ рдЪреБрдХреА рдереАред рдпрд╣рд╛рдВ рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдмреАрдЪ рдЖрдо рд╕рд╣рдорддрд┐ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдордореЗрдВ рд╕реЗ рдХрдИ рд▓реЛрдЧ рдЪрд░реНрдЪрд╛ рд╕реЗ рдердХрд╛рди рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ ... рдХреЗ рдкрдХреНрд╖ рдореЗрдВ ..= рдХреЛ рдкрджрд╛рд╡рдирдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдХреНрдпреЛрдВрдХрд┐:

  • рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рд╣рдЯрд╛рдирд╛ рдордВрдерди рдореЗрдВ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рд▓рд╛рдЧрдд рд╣реИ; рднрд▓реЗ рд╣реА рдореБрдЭреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ ..= рдкрд╕рдВрдж рдЖрдпрд╛ рд╣реЛ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╕реНрдерд┐рд░ рдкрд░ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдпрд╣реНрд░рд╛рд╕ рдЪрдХреНрд░ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛрдЧрд╛ред
  • рдореБрдЭреЗ ..= рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ , рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдФрд░ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИ; рдЗрд╕рдХрд╛ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рдХрдо рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдЗрд╕реЗ рдкрд╣рд▓реА рдмрд╛рд░ рджреЗрдЦрдХрд░, рдЬрд╛рди рдЬрд╛рдПрдЧрд╛ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред
  • рдореИрдВ рдЗрд╕ рдЖрдзрд╛рд░ рд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдпрд╣рд╛рдВ рдкреИрдЯрд░реНрди рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдорд░реВрдкрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд░реВрдк рд╕рдВрд░рдЪрдирд╛/рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд╕рдВрдЪрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

(рдореИрдВ рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рджреМрд░рд╛рди рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓ рджреЗрддрд╛ рд╣реВрдВ, рдореИрдВрдиреЗ рдпрд╣ рд╕рдм рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧ рдореЗрд░реА рд╡рд┐рдЪрд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЗрдЦ рд╕рдХреЗрдВ рдФрд░ рдореИрдВ рдЙрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдХреНрдпреЛрдВ рдЖрдпрд╛ рдЬреЛ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ рдерд╛)

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕реА рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдмрд╣рд┐рд╖реНрдХрд░рдг рдХреА рд▓рд╛рдЧрдд рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЕрднреА рднреА ..= рд╕рдорд░реНрдерди рдореЗрдВ рд╣реВрдВред

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

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

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

рдореИрдВ рдЗрд╕ рд╕рдордп рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рдХреЗ рдмрд╛рд╣рд░ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП inclusive рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рдореЗрдВ ... рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рдорд░реНрдерди рдореЗрдВ рд╣реВрдВред

@ рдирд╛рд╡реЛрдВ рдХреЗ рдмрд┐рдирд╛

  1. рдпрджрд┐ рдЖрдк рдХрднреА рднреА рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреА рдЕрд╡рд╣реЗрд▓рдирд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк C ++ рдЬреИрд╕реЗ рд╕рднреА (рдЕрдзрд┐рдХ рдпрд╛ рдХрдо) рдмреБрд░реЗ рдирд┐рд░реНрдгрдпреЛрдВ рдХреЗ рдорд┐рд▓рди рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдирдП рд▓реЛрдЧреЛрдВ рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЪреАрдЬреЗрдВ рдЙрддрдиреА рд╕реБрд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИрдВ рдЬрд┐рддрдиреА рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
    рддреЛ рдХрднреА-рдХрднреА рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рди рдХреЛ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

  2. рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдЗрд╕реЗ рдкрд╣рд▓реА рдмрд╛рд░ рджреЗрдЦрдХрд░, рдЬрд╛рди рдЬрд╛рдПрдЧрд╛ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред

рдпрд╣ рдХрд┐рд╕реА рднреА рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реИред рд╣рдо (рдЬреЛ рд░рд╕реНрдЯ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ) рдореЗрдВ рдпрд╣ рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рд▓рд┐рдП, рд░рд╕реНрдЯ рдХреЛрдб рд╕реНрдкрд╖реНрдЯ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреЛ рдХреЛрдИ рднреА рджреВрд╕рд░реА рднрд╛рд╖рд╛ рд╕реЗ рд░рд╕реНрдЯ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдЙрд╕реЗ рдЕрдХреНрд╕рд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рджреЗрдЦрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП ..= рдпрд╛ ... рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рднрд╛рд╖рд╛рдПрдВ рд╡рд┐рд╢реЗрд╖ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП ... рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЗрд╕реЗ рд╡реИрд╕реЗ рднреА рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ .
рдХреЗрд╡рд▓ рд╕реНрдкрд╖реНрдЯ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдкреЗрд╢ рдХрд░рдирд╛ рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
рдпрджрд┐ рд╣рдо рдХреЗрд╡рд▓ рдРрд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рд╕реНрдкрд╖реНрдЯ рджрд┐рдЦреЗрдВ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд░рд╕реНрдЯ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдореМрдЬреВрджрд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред Newbies рдХреЗ рдбреЙрдХ рдкрд░ рд╡реИрд╕реЗ рднреА рджреЗрдЦрдирд╛ рд╣реИ, рдХреНрдпрд╛ рдЙрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддреЛ рдЧрд▓рдд рдХреНрдпрд╛ рд╣реИ? рдбреЙрдХреНрдЯрд░ рдЕрдЪреНрдЫрд╛ рд╣реИ!


  1. рдпрджрд┐ рдЖрдк рдЙрд╕ рд╕рдордп рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рдирдП рд▓реЛрдЧреЛрдВ рдХреЛ рдбреЙрдХреНрдЯрд░ рдХреЛ рджреЗрдЦрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдорд┐рд▓рд╛рди рдХреЗ рдмреАрдЪ рд╕рдорд░реВрдкрддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП! (рдФрд░ рдЕрдиреНрдп рдирд┐рд░реНрдорд╛рдг)

рдЬреИрд╕рд╛ рдХрд┐ @withboats рдиреЗ рдХрд╣рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЗрд╕ рдЪрд░реНрдЪрд╛ рд╕реЗ рдердХ рдЪреБрдХреЗ рд╣реИрдВ; рдореИрдВ рдПрдХ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдмреИрдард╛ рд░рд╣рд╛ рд╣реВрдВред рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдореБрдЭреЗ рдлрд┐рд░ рд╕реЗ рдкрдврд╝рдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрд╛ (рд╕рд╛рд░рд╛рдВрд╢ @Xaeroxe рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!)

IMO, рдЕрднреА рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЕрдзреВрд░рд╛ рд╕рдВрдпреЛрдЬрди рд╣реИ : ... рдкреИрдЯрд░реНрди рдореЗрдВ, .. рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдПред рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреА рдпрд╣ рдЬреЛрдбрд╝реА рдЖрдкрдХреЛ рджреГрдврд╝рддрд╛ рд╕реЗ рдпрд╣ рдЙрдореНрдореАрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ .. рдкреИрдЯрд░реНрди рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдФрд░ ... рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ - рдФрд░ рд╡реЗ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдореЗрдВ рдПрдХ рдЯрд┐рдХрд╛рдК рдбрд┐рдЬрд╛рдЗрди рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

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

  • рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ ... рдХреЛ рд╕реНрдерд┐рд░ рдХрд░реЗрдВ рдФрд░ рдкреИрдЯрд░реНрди рдореЗрдВ .. рдЬреЛрдбрд╝реЗрдВред рдпрд╣ рдХрдо рд╕реЗ рдХрдо рджрд░реНрджрдирд╛рдХ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдСрдл-рдмрд╛рдп-рд╡рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред рдлрд┐рд░ рднреА, рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдпрд╣ рд╕рдВрдпреЛрдЬрди рд╣реИ рдФрд░ рдореЗрд░реА рдЬрд╛рдирдХрд╛рд░реА рдореЗрдВ, рдРрд╕реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдзрд┐рдХ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред

  • рд╡рд┐рд░реЛрдз ... рдкреИрдЯрд░реНрди рдФрд░ рднрд╛рд╡ рдореЗрдВ, рдЬреЛрдбрд╝рдиреЗ ..= рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдФрд░ рдЬреЛрдбрд╝рдиреЗ .. рдкреИрдЯрд░реНрди рдХреЗ рд▓рд┐рдПред рдКрдкрд░ рдХреА рдХрдорд┐рдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдЕрдзрд┐рдХ рджрд░реНрджрдирд╛рдХ рд╣реИ (рдмрд╣рд┐рд╖реНрдХрд░рдг рдХреЗ рдХрд╛рд░рдг), рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ (рдЬреИрд╕реЗ рдмрд╛рдПрдВ-рдЕрдирдиреНрдп) рдХреЗ рд▓рд┐рдП рджреНрд╡рд╛рд░ рдЦреЛрд▓рддрд╛ рд╣реИред

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

рдлрд┐рд░ рднреА, рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдпрд╣ рд╕рдВрдпреЛрдЬрди рд╣реИ рдФрд░ рдореЗрд░реА рдЬрд╛рдирдХрд╛рд░реА рдореЗрдВ, рдРрд╕реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдзрд┐рдХ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред

рдореБрдЭреЗ рдпрд╣рд╛рдВ рдЪрдпрди рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ рдХреА рдЪрд┐рдВрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рдорд╛рдореВрд▓реА рд╣реИрдВ рдпрд╛ рдХреНрдпрд╛ рд╡реЗ рд╢рд╛рдпрдж рд╣реА рдХрднреА рд╣рдорд╛рд░реЗ рдзреНрдпрд╛рди рдореЗрдВ рдЖрддреА рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, ... рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд░рд╕реНрдЯ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рджрд░реНрд╢рди рдФрд░ рдЙрднрд░рддреА рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХреЗ "рдЬрдм рддрдХ рдЯреНрд░реЗрдб-рдСрдл рдмрд╣реБрдд рдЧрдВрднреАрд░ рдирд╣реАрдВ рд╣реИ" рдкрд╣рд▓реВ рдХреЗ рд╡рд┐рдкрд░реАрдд рдЪрд▓рддрд╛ рд╣реИред (рдЬреИрд╕реЗред рд╕рд▓рд╛рд╣ рдирдпрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП enum рдмрд▓реНрдХрд┐ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдкреНрд░рдХрд╛рд░ bool рддреЛ рдпрд╣ рдХрдард┐рди рдЕрдкрдиреЗ рд╕рдорд╛рд░реЛрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдорд┐рд╢реНрд░рдг рд╣реИред)

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реА рдиреЗ рд╕рд╛рдмрд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдХрд┐ if рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдЙрдкрдпреЛрдЧреА рд╣реИ рдпрджрд┐ рдХрд┐рд╕реА рднрд╛рд╖рд╛ рдореЗрдВ while let , рд▓реЗрдХрд┐рди рдпрд╣ рдорд╛рдирд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдк рдХрд░рдирд╛ = рдЬрдм рдЖрдкрдХрд╛ рдорддрд▓рдм == рдПрдХ рдлреБрдЯрдЧрди рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рдкрд╛рдпрдерди рдЬреИрд╕реА рднрд╛рд╖рд╛рдПрдВ рдЗрд╕реЗ рдордирд╛ рдХрд░ рджреЗрддреА рд╣реИрдВ, рддрдм рднреА рдЬрдм рдРрд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдореМрдЬреВрдж рд╣реЛрдВ рдЬрд╣рд╛рдВ рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рдЕрд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдмрджрд╕реВрд░рдд рд╣реЛрдВред

рджреВрд╕рд░реА рджрд┐рд╢рд╛ рдореЗрдВ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрд▓рд┐рдкреНрдкреА рдХреЛ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдорд╛рдорд▓рд╛ рдкрдХрдбрд╝ рд▓рд┐рдпрд╛ рдерд╛ рдЬрдм рдореИрдВ рд▓рдЧрднрдЧ рдПрдХ рд╣рдлреНрддреЗ рдкрд╣рд▓реЗ рдердХреЗ рд╣реБрдП рдХреЛрдбрд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ ...

foo == bar;  // This should be `foo = bar;`

... рдЬреЛ "рдХреБрдВрдЬреА рдХреЛ рдХрдИ рдмрд╛рд░ рджрдмрд╛рдпрд╛" рдЧрд▓рддреА рдХрд╛ рдПрдХ рдЖрджрд░реНрд╢ рдЙрджрд╛рд╣рд░рдг рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдпрд╣рд╛рдВ рдЪрд┐рдВрддрд┐рдд рд╣реИрдВ ... рдФрд░, " == рд╡рд┐рдкрд░реАрдд рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реИ", рд╡рд╣рд╛рдВ рд╣реИ .. рдмрдирд╛рдо ... рд▓рд┐рдП рд▓рд┐рдВрдЯ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

@ssokolow рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ ..= рднреА рдареАрдХ рд╣реВрдВ; рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдмрд╣рд┐рд╖реНрдХрд░рдг рдЗрддрдирд╛ рджрд░реНрджрдирд╛рдХ рд╣реЛрдЧрд╛, рдФрд░ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдЖрд╕рд╛рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реБрдзрд╛рд░ рд╣реИред рдЬреНрдпрд╛рджрд╛рддрд░ рдореИрдВ рд╕рд┐рд░реНрдл рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕реБрд▓рдЭрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдореИрдВ рд╢рд╛рдпрдж .. / ... (рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░рд╛рдд рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд░рд╣ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВ @aturon рд╕реЗ рд╕рд╣рдордд

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛ рд╣реИ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ libstd рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬрдм rust-lang/rfcs#1980 рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЪрд░реНрдЪрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдЧреБрдЬрд░рддрд╛ рд╣реИред

@aturon рдиреЗ рдЬреЛ рдмрддрд╛рдпрд╛,

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

18 рдордИ, 2017 рдХреЛ 9:55:30 рдкреВрд░реНрд╡рд╛рд╣реНрди рдкреАрдбреАрдЯреА рдкрд░, рд╣рд╛рд░реВрди рдЯреНрдпреВрд░реЙрди рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

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

рдореИрдВ рдПрдХ рд╕рдореНрдореЗрд▓рди рдХреЗ рдХрд╛рд░рдг рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдХреА рдмреИрдардХ рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБред рдпрджрд┐ рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдХреА рдмреИрдардХ рдореЗрдВ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдореИрдВ ... рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рднреА рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕рдорд░реНрдерди рджреВрдВрдЧрд╛, рдЪрд╛рд╣реЗ ..= , inclusive , рдпрд╛ рдЕрдиреНрдпред

рдЬрдм рд╣рдо рдЗрд╕ рдкрд░ рд╣реЛрдВ рддреЛ рд░реЗрд╕реНрдЯ/рд╕реНрдкреНрд░реЗрдб рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реЛрдЧрд╛ред
рдореИрдВ рд╡реЛрдЯ .. рд╡рд┐рд╢реЗрд╖ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП, ... рд╕рдорд╛рд╡реЗрд╢реА рдХреЗ рд▓рд┐рдП, .... рдмрд╛рдХреА / рдкреНрд░рд╕рд╛рд░ рдХреЗ рд▓рд┐рдПред

take_range(..max); // exclusive range
take_range(...max); // inclusive range
take_multiple_args(....tuple); // spread
if let 0..10 = get_num() {} // exclusive range pattern
if let 0...9 = get_num() {} // inclusive range pattern
if let [first, ....rest] = get_slice() {} // rest pattern

рдореИрдВ рджреЛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдмрд╛рдХреА рд╕реНрд▓рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП ... рд╡реЛрдЯ рджреВрдВрдЧрд╛:

  1. рд▓реЛрдЧреЛрдВ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА ... рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рдХреЙрдлреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреИрд╕реА рднрд╛рд╖рд╛рдУрдВ рд╕реЗ "рдЖрд░рд╛рдо" рд╣реИ (рдХреЙрдлрд╝реАрд╕реНрдХреНрд░рд┐рдкреНрдЯ varargs рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рд╣рд╕реНрддрд╛рдХреНрд╖рд░реЛрдВ рдореЗрдВ rest... рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ "рд╕реНрдкреНрд▓реИрдЯреНрд╕" рдХрд╣рддрд╛ рд╣реИ) рдФрд░ рдЕрдВрдЧреНрд░реЗрдЬреА (рд╕рд╣реА рдпреВрдирд┐рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХреЛрдбрдкреЙрдЗрдВрдЯ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рддреАрди рдЕрд╡рдзрд┐рдпрд╛рдБ рд╣реИрдВ рдЬреЛ рдПрдХ рдЗрд▓рд┐рдкреНрд╕рд┐рд╕ рдХреА рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИрдВ, рдЪрд╛рд░ рдирд╣реАрдВ, рдФрд░ рд▓реЛрдЧ рдЗрд▓рд┐рдкреНрд╕рд┐рд╕ рдХреЛ рд╕рдордЭрдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рд▓рдЧрднрдЧ рдорддрд▓рдм рд╣реИ "рдФрд░ рдФрд░ рднреА рд╣реИ рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдЬрд╝реЛрд░ рд╕реЗ рдирд╣реАрдВ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ" рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ, рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдореЗрдВред)

  2. рдЬрдм рддрдХ рдореИрдВ рд░реЗрдВрдЬ рдХреЗ рд▓рд┐рдП .. рдФрд░ ..= рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рд╕реНрдЯ рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдпрд╛рдж рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдмрд╛рдХреА рд╕реНрд▓рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП ... рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐, рд╣рд░ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, ... рдЯрд╛рдЗрдк рдХрд░рдирд╛ .. рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдЕрднреА рднреА рдПрдХ рд╕рдВрдХрд▓рди-рд╕рдордп рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреАред

    рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрдВ рджреЛ рдзрд╛рд░рдгрд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:

    1. рдЕрдХреЗрд▓реЗ рдмрд╛рдХреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (рдПрдХ рдЕрдиреБрдХреНрд░рдо-рдЕрдирдкреЕрдХрд┐рдВрдЧ рд╕рдВрджрд░реНрдн рдХреЗ рдмрд╛рд╣рд░) рдХреЛ рдЯрд╛рдЗрдкреЛ-рдкреНрд░рд╡рдг рдиреЛ-рдСрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред (рдпрд╛рдиреА for _ in ...rest рдХреА рдЕрдиреБрдорддрд┐ рд╣реЛрдиреЗ рдкрд░ for _ in rest рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд▓рдЧрднрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЯрд╛рдЗрдкреЛред

    2. рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреИрдЯрд░реНрди рдХреЗ рд░реВрдк рдореЗрдВ рдУрдкрди-рдПрдВрдбреЗрдб рд░реЗрдВрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдорд╛рдиреНрдп рд╣реЛрдЧрд╛ред (рдпрд╛рдиреА let [first, ..rest] = рдЕрдорд╛рдиреНрдп рд╣реЛрдЧрд╛ред)

@ssokolow рдЯреНрд░рд┐рдкрд▓ рдбреЙрдЯ рдХрд╛ рдорддрд▓рдм рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреИрдЯрд░реНрди рдореЗрдВ рдПрдХ рд╕реАрдорд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕реЗ рдмрд╛рдХреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдмрджрд▓рд╛рд╡ рд╣реЛред

@ рдлрд╛рдХреНрд╕ рдкреНрд╡рд╛рдЗрдВрдЯред рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рднреВрд▓ рдЧрдпрд╛ рдерд╛ред

рд╢рд╛рдпрдж "рдЕрдЧрд░ рд╣рдо рдХрднреА рдЬрдВрдЧ 2.0 рдмрдирд╛рддреЗ рд╣реИрдВ" рдЯреИрдЧ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫред

рдЯреНрд░рд┐рдкрд▓ рдбреЙрдЯ рдХрд╛ рдорддрд▓рдм рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреИрдЯрд░реНрди рдореЗрдВ рдПрдХ рд╕реАрдорд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рдмрд╛рдХреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдмрджрд▓рд╛рд╡ рд╣реЛрдЧрд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкреИрдЯрд░реНрди рдореЗрдВ ... рджреЛрдиреЛрдВ рдкрдХреНрд╖реЛрдВ рдкрд░ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ ( a...b ), рдЬрдмрдХрд┐ рдмрд╛рдХреА рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ ... рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдирд╣реАрдВ?

рд▓реИрдВрдЧ рдЯреАрдо рдиреЗ рдЖрдЬ рд╣рдорд╛рд░реА рдмреИрдардХ рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рдлрд┐рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА, рдФрд░ рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкрд░ рдкрд╣реБрдВрдЪреЗ:

  • рд╕рд╣рд╛рдпрдХ ... рдкреИрдЯрд░реНрди рдореЗрдВ рдФрд░ .. рднрд╛рд╡ рдореЗрдВ, рдФрд░ рдХреБрдЫ рдирд╣реАрдВ, рдПрдХ рдЕрд╕реНрдерд┐рд░ рдбрд┐рдЬрд╛рдЗрди рд╣реИ, рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

  • рджреЛрдиреЛрдВ рдЬрдЧрд╣реЛрдВ рдкрд░ ... рдФрд░ .. рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рд╕реЗ рдорджрдж рдорд┐рд▓реЗрдЧреА, рд▓реЗрдХрд┐рди рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдорд╕реНрдпрд╛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЪрд┐рдВрддрд╛ рд╣реИ; рд╣рдо рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЧрд▓рдд рдЕрд╡рдзрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рдШрдВрдЯреЛрдВ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рдирд╣реАрдВ рд╣реИред

  • ..= рдФрд░ .. рдЬрд╛рдирд╛ рд╕реМрдВрджрд░реНрдп рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ рдХрдо рдЖрдХрд░реНрд╖рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдкрд░реЛрдХреНрдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЗрд╕реЗ рдмрд╣реБрдд рд╣реА рд╕реМрдореНрдп рддрд░реАрдХреЗ рд╕реЗ рднреА рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдкрд╣рд▓реЗ ..= рдХреЛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдкреЗрд╢ рдХрд░реЗрдВ (рдЬрд┐рд╕реЗ rustfmt рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИ), рдФрд░ рдЗрд╕рдХреЗ рдореБрд╣рд╛рд╡рд░реЗрджрд╛рд░ рдмрдирдиреЗ рдХреЗ рдмрд╛рдж рд╣реА, ... рд╣рдЯрд╛ рджреЗрдВред

рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЯреАрдо рдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ..= рдФрд░ .. рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХрд╛ рд╣рдорд╛рд░рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд░рд╛рд╕реНрддрд╛ рд╣реИред рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рднреА рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдирдП рддрд░реНрдХ рдЙрдард╛рдП рдЬрд╛рдПрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ: рд╣рдо рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП ..= рдЕрдВрдХрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдЧрд╛ред рдкреИрдЯрд░реНрди рдФрд░ рднрд╛рд╡, рдФрд░ рдмрд╛рдж рдореЗрдВ рд╣рдо рдЬрд╛рдПрдБрдЧреЗ FCP!

рдЗрд╕рдХреЗ рд▓рд┐рдП, рд╣рдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА (рдпрд╛ рдХреБрдЫ рд▓реЛрдЧреЛрдВ) рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╕рдВрднрд╡рддрдГ рдпрд╣ рдХрдИ рдЫреЛрдЯреЗ рдкреАрдЖрд░ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЗ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ..= рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдирд╛рдо рдХреЗ рд░реВрдк рдкрд╛рд░реНрд╕рд░ рдХреЗ рд▓рд┐рдП ... рдФрд░ рдореМрдЬреВрджрд╛ рдкрд░реАрдХреНрд╖рдг рдХрдиреНрд╡рд░реНрдЯред

    • ... рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ "рдореМрди" рдмрд╣рд┐рд╖реНрдХрд░рдг рд╣реЛ, рдЗрд╕рд▓рд┐рдП рдЪреЗрддрд╛рд╡рдиреА рдЖрджрд┐ (рдЕрднреА рддрдХ) рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

    • рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ ... рдкреИрдЯрд░реНрди рдкрд░ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА

    • рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢рд╛рдпрдж рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ DotDotEquals рдЯреЛрдХрди рдЬреЛрдбрд╝рдХрд░ рд▓реЗрдХреНрд╕рд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдпрд╣рд╛рдВ рдореМрдЬреВрджрд╛ DotDotDot ) рдФрд░ рдлрд┐рд░ рд╣рд░ рдЬрдЧрд╣ DotDotEquals рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд░реНрд╕рд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд DotDotDot рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ ( рдЙрджрд╛рд╣рд░рдг )

    • ripgrep DotDotDot рдпрд╣рд╛рдВ рдЖрдкрдХрд╛ рдорд┐рддреНрд░ рд╣реИ;)

  • рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ ... рдХрднреА рднреА рд╕реНрдерд┐рд░ рдирд╣реАрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рдХреЗрд╡рд▓ ..= рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреБрд░рд╛рдиреЗ рд╕рдорд░реНрдерди рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

    • рдЬрдВрдЧрд▓реА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдмрд╣рд┐рд╖реНрдХрд░рдг рдЕрд╡рдзрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рд╡рд┐рдЪрд╛рд░?)

рдмрд╕ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐, рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рд╕рд┐рдВрдЯреИрдХреНрд╕ extern fn foo(a: u32, ...) рдХреЛ ..= рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕реЗ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЛрдб рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкрд╣рд▓рд╛ рдХрджрдо рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдЧрд▓реЗ 2 рд╣рдлреНрддреЛрдВ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХреЛрдИ рдЗрд╕реЗ рдЪреБрдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдмреЗрдЭрд┐рдЭрдХ!

рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ ..^ рддреБрд▓рдирд╛ рдореЗрдВ ..= рдкрдХреНрд╖ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ a operator= b рдкрд╣рд▓реЗ рд╕реЗ рд╣реА, рдХреБрдЫ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рд▓рд┐рдП, a = a operator b рд▓рд┐рдП рдПрдХ рдЙрдкрдирд╛рдо рд╣реИред рджреВрд╕рд░реА рдУрд░ ^ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╣реБрдд рдХрдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ XOR рдХреЗ рд▓рд┐рдП, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдХрдо рднреНрд░рдо рдкреИрджрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

.. рд▓рд┐рдП рдмрд╛рдПрдВ рдФрд░ рджрд╛рдПрдВ рдСрдкрд░реЗрдВрдб рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ ..= рд▓рд┐рдП рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╕рдВрджрд░реНрдн рднреА рдСрдкрд░реЗрдЯрд░ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ += () рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрдерди рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рдЕрдкрдиреА рд▓рд╛рдЗрди рдкрд░ред рдЬрдмрдХрд┐ ..= рд╕рдорд╛рд╡реЗрд╢реА рд░реЗрдВрдЬ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдиреНрдп рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ..^ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕реАрдорд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдШрд╛рддрд╛рдВрдХ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдХрд░рдирд╛ рд╣реИред

@Xaeroxe ^ рдХрд╛ рдШрд╛рддрд╛рдВрдХ рдХреЗ рд╕рд╛рде рд░рд╕реНрдЯ рдореЗрдВ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдЬрдмрдХрд┐ += , -= , *= рд╕рднреА рдЬрдВрдЧ рдореЗрдВ рдореМрдЬреВрдж рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ ^= рдореМрдЬреВрдж рд╣реИред

рд▓реЗрдХрд┐рди idk, рдЗрд╕рдХрд╛ рдареАрдХ ..= рднреА рд╣реИред

рдЪреВрдВрдХрд┐ #42134 рдХрд╛ рд╡рд┐рд▓рдп рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпрд╛ рдЕрдм рд╣рдо рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдерд╛, рдпрд╣ рдЬрд▓реНрдж рд╣реА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ред

@clarcharr рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рд╣рдо рдЙрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде-рд╕рд╛рде ..= рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрдгрдп рдкрд░ рдЖрдП рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреАрдЖрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдУрд╣, рдореИрдВ рдЧрд▓рдд рдерд╛ред рд╣рдо рдЗрд╕реЗ рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рдЯрд┐рдкреНрдкрдгреА рдЕрд╡рдзрд┐ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреА рд╣реЛрдЧреАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕ рд╕рдордп рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдореЗрд░рд╛ рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдЗрд╕ рд╡рд┐рд╖рдп рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдерд╛, рдЬрдм рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрд╛ рдХрд┐ ... рдЖрдо рд╕рд╣рдорддрд┐ рдмрдирд╛ рд░рд╣рд╛ рд╣реИред ..= рдореБрдЭреЗ рдмрд┐рд▓реНрдХреБрд▓ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реА рдирдЬрд░ рдореЗрдВ рдПрдХ рдкреНрд░рднрд╛рд╡ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдмрд╛рдЗрдХрд╢реЗрдбрд┐рдВрдЧ рдореМрдЬреВрджрд╛ рдкреИрдЯрд░реНрди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рдпрд╣ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдмреЗрдХрд╛рд░ рд╣реИ!
= рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХрд╛ рдЕрд░реНрде рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ +=, -=, *= рдореЙрдбрд▓ рдореЗрдВ рднреА, рд▓реЗрдХрд┐рди ..= рдХреБрдЫ рдкрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдЗрддрдирд╛ рднреНрд░рдорд┐рдд рдФрд░ рдмрджрд╕реВрд░рддред
рдЬреИрд╕реЗ рдПрд░реЗ рдЗрдВрдбреЗрдХреНрд╕ 0 рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, '...' рдЕрдЪреНрдЫрд╛ рдФрд░ рд╕реБрдВрджрд░ рд╣реИ, рд▓реЛрдЧреЛрдВ рдХреЛ рдЗрд╕рдХреА рдЖрджрдд рд╣реЛ рдЬрд╛рдПрдЧреАред

@zengsai
..= рдЕрд╡рдзрд╛рд░рдгрд╛рддреНрдордХ рд░реВрдк рд╕реЗ == рдФрд░ <= рдЬреИрд╕реЗ рдСрдкрд░реЗрдЯрд░реЛрдВ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрдВрдЧ рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВ рдФрд░ рд╕рдорд╛рдирддрд╛ рддреБрд▓рдирд╛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдирд╣реАрдВред

(рдпрд╛рдиреА 1..=5 "рд░реЗрдВрдЬ рдУрд╡рд░ рд╡реИрд▓реНрдпреВрдЬ 1 <= x <= 5 " рдХреЗ рд▓рд┐рдП рд╢реЙрд░реНрдЯрд╣реИрдВрдб рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ 1..5 рд╡рд┐рдкрд░реАрдд рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ "рд░реЗрдВрдЬ рдУрд╡рд░ рд╡реИрд▓реНрдпреВрдЬ 1 <= x < 5 ")

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ "рдЗрд╕рдХреА рдЖрджрдд рдбрд╛рд▓рдиреЗ" рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рдРрд╕рд╛ рдорд╛рдорд▓рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдкрдврд╝рдирд╛ рдпрд╛ рдЧрд▓рдд рдЯрд╛рдЗрдк рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдердХреЗ рд╣реБрдП рдпрд╛ рд╡рд┐рдЪрд▓рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреА рдСрдл-рдмрд╛рдп-рд╡рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкреНрд░рд╕рд┐рджреНрдз рдлреБрдЯрдЧрди-рд╡рд╛рдИ рд╣реИрдВред

рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрд▓рддреА рд╕реЗ ... рдЯрд╛рдЗрдк рдХрд░ рджрд┐рдпрд╛ рдерд╛ рдЬрдм рдореЗрд░рд╛ рдорддрд▓рдм рдкрд╣рд▓реЗ рд╕реЗ рд╣реА .. ред рд╢реБрдХреНрд░ рд╣реИ, рдореИрдВ рд╣рдореЗрд╢рд╛ рд╕реНрдерд┐рд░ рдЬрдВрдЧ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд╕рдВрдХрд▓рдХ рдиреЗ рдЗрд╕реЗ рдкрдХрдбрд╝ рд▓рд┐рдпрд╛ред (рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдпрд╣ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рдВрд╕рдкреЗрд╢рд┐рдпреЛрдВ рдореЗрдВ рдРрдВрдарди рдереА рдпрд╛ рдорд╛рдВрд╕рдкреЗрд╢рд┐рдпреЛрдВ рдХреА рд╕реНрдореГрддрд┐, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдореИрдВ рдПрдХ рдЫрджреНрдо-рджреАрд░реНрдШрд╡реГрддреНрдд рдЯрд╛рдЗрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЧреИрд░-рдХрдерд╛ рд▓реЗрдЦрди рдХрд░рддрд╛ рд╣реВрдВред)

@zengsai ... рдмрд╣реБрдд рд╕реВрдХреНрд╖реНрдо рд╣реИ, .. рд╕рдорд╛рди рджрд┐рдЦрддрд╛ рд╣реИ

рдХрд┐рд╕реА рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдЕрд░реНрде рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪреАрдЬреЛрдВ рдХрд╛ рд╣реЛрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реЛрдЧрд╛

рд╕реМрдВрджрд░реНрдп рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ рдЖрдХрд░реНрд╖рдХ рд╣реЛрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдлреБрдЯ рдЧрди рдХреЛ рд╣рдЯрд╛рдирд╛ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рдирд╡рд╛рдЧрдВрддреБрдХ: рдореИрдВрдиреЗ рдПрдХ рдЯреАрдПрд▓; рдбреАрдЖрд░ рдмрдирд╛рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рд▓рдВрдмрд╛ рдзрд╛рдЧрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ: https://github.com/rust-lang/rust/issues/28237#issuecomment -296310123

"рдСрдл-рдмрд╛рдп-рд╡рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЬреИрд╕реЗ рдХрд┐ рдкреНрд░рд╕рд┐рджреНрдз рдлреБрдЯрдЧрди-рд╡рд╛рдИ" рдХреЗ рд▓рд┐рдП рдмреЛрд▓рддреЗ рд╣реБрдП, рдореЗрд░рд╛ рдХрд╣рдирд╛ рд╣реИ: рдЯрд╛рдЗрдкреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдкреНрд░рдореБрдЦ рдХрд╛рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕ рддреБрд▓рдирд╛ рдХреЛ рджреЗрдЦреЗрдВ, ".." рдФрд░ "..." рдмрдирд╛рдо "=" рдФрд░ "==", рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЯрд╛рдЗрдкреЛ рдореБрджреНрджреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП "==" рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП? рдЕрдЧрд░ "=" рдФрд░ "==" рдареАрдХ рд╣реИ, рддреЛ ".." рдФрд░ "..." рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореИрдВ рджреЛ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рд░рд╕реНрдЯ-рд▓реИрдВрдЧ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЪреАрдВрдЯреА рдпрд╣ рдореЗрд░реЗ рдХрдИ рдирд┐рдЬреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдЕрд╕рд╣рдЬ рдорд╣рд╕реВрд╕ рдХрд░рд╛рддреА рд╣реИред рди рдХреЗрд╡рд▓ рд╕реМрдВрджрд░реНрдп рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ рдЖрдХрд░реНрд╖рдХ, рдпрд╣ рдХреЛрдб рдХреЗ рд▓реЗрдЦрди рдФрд░ рдкрдврд╝рдиреЗ рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред

@zengsai рдпрд╣ рдореЗрд░реА рд╕рдордЭ рдереА рдХрд┐ рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ _writing_ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдХреЛрдб рдХреА рд╕рдореАрдХреНрд╖рд╛, рдкрдврд╝рдиреЗ рдФрд░ рд╕рдордЭрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕рдХреА рддрд▓рд╛рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк .. рдмрдирд╛рдо ... рдХреЛ рдПрдХ-рдПрдХ-рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдпрд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ ..= рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд╣рд░ рдЦрдбрд╝рд╛ рд╣реИ рдФрд░ рдЬреАрддрд╛ рд╣реИ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд╕реМрдВрджрд░реНрдп рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ ..= рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд╕рдВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╣рд░ рдХреЛрдИ рд▓рдЧрднрдЧ .. рдФрд░ ... рдмрд╣реБрдд рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдкрдврд╝ рд░рд╣рд╛ рд╣реИред

@zengsai рдХреНрдпреЛрдВрдХрд┐ = рдмрдирд╛рдо == рдореЗрдВ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬреЛ .. рдмрдирд╛рдо ... ред

рдЬрд╝рд░реВрд░, рдЖрдк рд╕реА рдореЗрдВ = рдФрд░ == рдХреЛ рднреНрд░рдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ...

  1. рдпрджрд┐ рдЖрдк рдЯрд╛рдЗрдк рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИ if x = y рдмрдЬрд╛рдп if x == y (рдЗрд╕ рд╕реБрдзрд╛рд░ рдореЗрдВ рдЬрдВрдЧ рдФрд░ рдЕрдЬрдЧрд░ рдмрдирд╛ рд╣реИ)
  2. рдЬрдм рдореИрдВрдиреЗ рдЧрд▓рддреА рд╕реЗ x == y; рдмрдЬрд╛рдп x = y; рдЯрд╛рдЗрдк рдХрд░ рджрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рдПрдХ рдРрд╕реЗ рд╡реНрдпрдВрдЬрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдорд┐рд▓реА рдЬрд┐рд╕рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реИред

рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП рдпрд╣ рднреА рдкрд╣рдЪрд╛рдирдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ .. рдмрдирд╛рдо ... рднреНрд░рдо рдЧрдбрд╝рдмрдбрд╝ рд╣реИ , рдЧрд▓рдд рд╣реЛрдиреЗ рджреЗрдВред

@zengsai .. рдФрд░ ... рдЙрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕рднреА рд╕рдорд╛рди рд▓рдХреНрд╖рдгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╣ рдбрд┐рдЬрд╝рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рд╣реИ)ред рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ рддреНрд░реБрдЯрд┐ рдПрдХ рдмрд╣реБрдд рд╣реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореБрджреНрджрд╛ рд╣реИред

рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рднреА рдЗрд╕ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рд╕реЗ рдирдлрд░рдд рдХрд░рддрд╛ рд╣реВрдВ, рдЗрддрдирд╛ рдХрд┐ рдореИрдВ @aturon рдХреА рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдЬрд╣рд╛рдВ рд╣рдо .. рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдФрд░ ... рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдкреИрдЯрд░реНрди "рдЕрд╕реНрдерд┐рд░" рд╣реИ; рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

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

рдпрджрд┐ рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ рдЗрд╕рдХрд╛ рдХреЛрдИ рд╕рд╛рдВрддреНрд╡рдирд╛ рд╣реИ рддреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЖрдкрдХреЗ рдкреВрд░реЗ рдХреЛрдб рдореЗрдВ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдЧреАред

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

рдмрд╛рдХреА рд▓реИрдВрдЧ рдЯреАрдо рджреГрдврд╝рддрд╛ рд╕реЗ рдорд╣рд╕реВрд╕ рдХрд░рддреА рд╣реИ рдХрд┐ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдФрд░ рдкреИрдЯрд░реНрди рдХреЗ рдмреАрдЪ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛрдирд╛ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ, рдФрд░ рдЬрдм рддрдХ рдореИрдВ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдВ, рд╣рдо рд╕рднреА рдиреЗ рдЕрдкрдиреЗ рддрд░реНрдХ рджрд┐рдП рд╣реИрдВ рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдЧрддрд┐рд░реЛрдз рдореЗрдВ рд░рд╣рдирд╛ рд╕реНрд╡рд╕реНрде рд╣реИред

@ssokolow рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рдЕрднреА рднреА рдЖрдкрд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрдкрдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯрд╛рдЗрдкреЛ рдХреА рдЪреЗрддрд╛рд╡рдиреА рджреЗ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк "x=5" рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдпрд╣ "x=6" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?

рдЯрд╛рдЗрдкреЛ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдкрд╛рдЗрд▓рд░ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реИред

рдЕрдЧрд░ рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХрд╛ рдХреЛрдИ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рд╣реВрдВред рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рднрд╛рд╖рд╛ рдХрд╛ рд╕реМрдВрджрд░реНрдп, рд▓реЗрдЦрди рдФрд░ рд╡рд╛рдЪрди рдкреНрд░рд╡рд╛рд╣ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдореЗрд░реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред

рдЖрдЬ рдХреА рдЬрдВрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реА рд╣реИ, рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдЕрд╕рд╛рдорд╛рдиреНрдп рдФрд░ рдкреНрд░рддрд┐рд╡рд╛рджрд╛рддреНрдордХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рд╕реАрдЦрдиреЗ рдХреА рдЕрд╡рд╕реНрдерд╛ рд╣реЛрдЧреА, рдЗрд╕реЗ рдПрдХ рдФрд░ рдкрд░реНрд▓ рди рдмрдирд╛рдПрдВред

@withboats рд╣рдо рдЗрд╕рдХреЗ рд╕рд╛рде рдмрд╣рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рдЗрд╕ рддрд░реНрдХ рдореЗрдВ рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ, рдФрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддрд╛, рдмрд╕...

@zengsai

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЯреНрд░реЗрдб-рдСрдл рдХрд┐рдП рдЬрд╛рдиреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЙрди рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рд╕рд░реНрд╡реЛрддреНрддрдо рд╕рдВрддреБрд▓рди рдмрд┐рдВрджреБ рдкрд░ рдХрднреА рд╕рд╣рдордд рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реНрд╡рд╛рдж рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдореИрдВ ..= рдХреЛ рдПрдХ рдЫреЛрдЯреА рд╕реА рдХреАрдордд рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдЬрд┐рд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЧ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдмрд╣реБрдд рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕рдордп рдмрд░реНрдмрд╛рдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

(рдореЗрд░рд╛ рдлреЛрдХрд╕ рдХрд╛ рдХреНрд╖реЗрддреНрд░ UI/UX рдбрд┐рдЬрд╝рд╛рдЗрди рд╣реИ рдФрд░ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдирд┐рдпрдореЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рд╡реЗ рдЖрдкрдХреЛ рд╕рд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдЧрд▓рддреА рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреЛ рдиреБрдХрд╕рд╛рди рдФрд░/рдпрд╛ рд╕рдордп-рд╕рдордп рдкрд░ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдиреБрдкрд╛рддрд┐рдХ рд░реВрдк рд╕реЗ рдЖрдиреБрдкрд╛рддрд┐рдХ рдмрдирд╛рдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред )

рдореЗрд░реА рдЫреЛрдЯреА рд░рд╛рдп рдореЗрдВ, 5 рдмрдирд╛рдо 6 .. рдмрдирд╛рдо ... рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реИред

@zengsai рдореБрдЭреЗ рдЗрд╕ рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдИрдореЗрд▓ рдкреНрд░рд╛рдкреНрдд рд╣реЛ рд░рд╣реЗ рд╣реИрдВ, рдЕрдкрдиреА рднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП IRC рдЪреИрдирд▓ рдХреЛ рд░рд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ рдЬрд╛рдирд╛ рдЬрд╛рдП?

@daiheitan рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдЪрд╛рд░ рд╣реИред рдЕрдЧрд░ рдЖрдкрдХреЛ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдИрдореЗрд▓ рдХреА рдЕрдкрдиреА

рдЬрдм рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рд░рд╕реНрдЯ рдХреЛ рджреЗрдЦрд╛, рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .. рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрд░рд╛рди рдерд╛ред (1..10).sum() рд╣реИ... 1 рд╕реЗ 9 рддрдХ рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХрд╛ рдпреЛрдЧ? рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдирд╡рд╛рдЧрдВрддреБрдХ рдХреЛ рдпрд╣ рд╡рд╛рдХреНрдп-рд╡рд┐рдиреНрдпрд╛рд╕ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рд╕реЗ рдкреВрдЫрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ, рддреЛ рдЗрд╕рдХреА рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдЗрд╕реЗ 1 рд╕реЗ 10 рддрдХ рдЬрд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░реЗрдЧрд╛ред рдФрд░ рд╡рд╣ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╕рдордорд┐рдд рд╡рд╛рдХреНрдп-рд╡рд┐рдиреНрдпрд╛рд╕ рд╕реЗ рд╕рдордорд┐рддрд┐ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗред рдкрд░реНрд╡рддрдорд╛рд▓рд╛ред 1 рдХреЛ рдХреНрдпреЛрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди 10 рдХреЛ рдирд╣реАрдВ?

рдПрдХ рд╕рдордорд┐рдд рд╢реНрд░реЗрдгреА рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЕрд╕рдордорд┐рдд рд░реВрдк ..= рдЬреЛрдбрд╝рдирд╛ рдЗрд╕реЗ рдФрд░ рднреА рдЕрдзрд┐рдХ рдЕрд╕рдВрдЧрдд рдмрдирд╛рддрд╛ рд╣реИред рдХреЛрдИ рдпрд╣ рдкреВрдЫ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдмрд╛рдИрдВ рдУрд░ рдХреЛ рд╕рдорд╛рд╡реЗрд╢реА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП = рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рджреЛрдиреЛрдВ рдкрдХреНрд╖реЛрдВ рдХреА рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП =..= ред

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

@rkarp рдХреБрдЫ рд╣рдж рддрдХ, рдпрд╣ рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рд╕реНрдЯ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкрд╛рдпрдерди рдкреНрд░рднрд╛рд╡ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкрд╛рдпрдерди рдЙрд╕реА рддрд░рд╣ рдХреА рдЖрдзреА-рдЦреБрд▓реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред (рдпрд╛рдиреАред рдкрд╛рдпрдерди рдХреЗ range(1, 5) рдпрд╛ myList[1:5] рджреЛрдиреЛрдВ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд░рд╕реНрдЯ рдХреЗ 1..5 рдХреЗ рд╕рдорд╛рди рд╣реА рд╣реИ)

рдкрд╛рдпрдерди рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдФрдЪрд┐рддреНрдп рдХреЗрд╡рд▓ рдПрдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реЛрдиреЗ рд╕реЗ рдЬреБрдбрд╝рд╛ рдерд╛ рдФрд░ рдЖрдзреЗ-рдЦреБрд▓реЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдиреЗ head, tail = myList[:pivot], mylist[pivot:] рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреЛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджрд┐рдпрд╛ред

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд░рд╕реНрдЯ 1.0 рдкрд╛рд╕ рдХрд░ рдЪреБрдХрд╛ рд╣реИ, рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЛ рдирд╣реАрдВ рддреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╛рдлреА рд╕рдЦреНрдд рдирд┐рдпрдо рд╣реИрдВред .. рдЕрдирдиреНрдп рдмрд╛рд╣рд░реА рдкреИрдЯрд░реНрди рдХреЗ рд▓рд┐рдП рдФрд░ ... рдЕрдирдиреНрдп рдЕрдВрджрд░реВрдиреА рдкреИрдЯрд░реНрди рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рд░рд╣рдирд╛ рд╣реЛрдЧрд╛ред

..= рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк .. (рдЕрдирдиреНрдп) рдФрд░ ..= (рд╕рдорд╛рд╡реЗрд╢реА) рдХреЛ рд╣рд░ рдЬрдЧрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ ... рдХреЛ .. рд▓рд┐рдП рдкрджрд╛рд╡рдирдд рдкрд░реНрдпрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВред рдкреИрдЯрд░реНрди рдореЗрдВред

рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣рдирд╛, рдЯреЛрдХрди рдХреЗ рд░реВрдк рдореЗрдВ ..= рд╣реЛрдирд╛ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдПрдХ рдЕрд╕рдВрдЧрдд рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореИрдХреНрд░реЛрдЬрд╝ рдореЗрдВ :tt рдирд┐рдпрдореЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╢рд╛рдпрдж рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ рдПрдХ рд╢рд╛рдВрдд рдмрджрд▓рд╛рд╡ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред (рд╡рд┐рдХрд▓реНрдк .. /* why not */ = рдЕрдиреБрдорддрд┐ рджреЗ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ)

@ssokolow рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдпрд╣ рд░рд╕реНрдЯ рдореЗрдВ рдЯрд╛рдЗрдк рдПрд░рд░ рд╣реИ, рдкрд╛рд░реНрд╕ рдПрд░рд░ рдирд╣реАрдВред a = 2 рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ рдЬреЛ () рд▓реМрдЯрд╛рддреА рд╣реИ, рдФрд░ if bool рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрд╕рдВрдЧрдд рд╣реИрдВред

рдзреАрд░реЗ-рдзреАрд░реЗ рдирд┐рдпрдо рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВред рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ ..= 3 рдЯреЛрдХрди рд╣реИрдВ рдЬрд╣рд╛рдВ рдкрд╣рд▓реЗ 2 рдХреЗ рдмрд╛рдж рдХреЛрдИ рд╕реНрдерд╛рди рдирд╣реАрдВ рд╣реИред

@eddyb : рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ, рдореИрдВ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВред рдХреНрдпрд╛ рдмрд┐рдирд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдПрдХ рдирдпрд╛ рдЯреЛрдХрди рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ: tt рдЗрд╕реЗ рдХреИрд╕реЗ рдкрд╛рд░ рдХрд░рддрд╛ рд╣реИ?

рдпрд╣ рдХреЛрдб рд╡рд░реНрддрдорд╛рди рдореЗрдВ "рдирд┐рдпрдо 2" рдФрд░ "рдирд┐рдпрдо 4" рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ рддреЛ рдЗрд╕реЗ "рдирд┐рдпрдо 2" рдФрд░ "рдирд┐рдпрдо 5" рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

macro_rules! ex {
    ( . . )   => { "Rule 1: . ." };
    ( .. )    => { "Rule 2: .."};
    { . . = } => { "Rule 3: . . = " };
    { .. = }  => { "Rule 4: .. = " };
    { ..= }   => { "Rule 5: ..=" };
}

macro_rules! show {
    ( $($t:tt)* ) => { println!("{}", ex!($($t)*)) };
}

fn main() {
    show!(..);
    show!(..=);
}

рдирд╣реАрдВ, рдпрд╣ рдПрдХ рдмрджрд▓рд╛рд╡ рд╣реИ рдХрд┐ рдЯреЛрдХрди рдХреЛ рдХреИрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред @jseyfried рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИред

рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдпрд╣ рд░рд╕реНрдЯ рдореЗрдВ рдЯрд╛рдЗрдк рдПрд░рд░ рд╣реИ, рдкрд╛рд░реНрд╕ рдПрд░рд░ рдирд╣реАрдВред рдП = 2 рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ рдЬреЛ () рд▓реМрдЯрд╛рддреА рд╣реИ, рдФрд░ рдпрджрд┐ рдмреВрд▓ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рд╣реИ, рддреЛ рд╡реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрд╕рдВрдЧрдд рд╣реИрдВред

@xfix рдзрдиреНрдпрд╡рд╛рджред рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рд╡рд╣ рдЯрд╛рдЗрдкреЛ рдмрдирд╛рдпрд╛ рдерд╛ рддреЛ рдореИрдВ рдЙрдЪрд┐рдд рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рдерд╛ рдФрд░ рдореИрдВ рдЕрднреА рднреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐-рдЙрдиреНрдореБрдЦ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрднреНрдпрд╕реНрдд рдирд╣реАрдВ рд╣реВрдВред

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

рдореБрдЭреЗ ..= рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ рдФрд░ рдореИрдВ рдкреИрдЯрд░реНрди рдореЗрдВ ... рдХреЛ рдкрджрд╛рд╡рдирдд рдХрд░рдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣реВрдВред рдпрджрд┐ рд╣рдо рдЯрд╛рдЗрдкреЛ рддреНрд░реБрдЯрд┐ рд╕реЗ рдбрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕рдХреЗ рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдХреЗ рд▓рд┐рдП ... рдпрд╛ ..= рдХреЗ рдмрдЬрд╛рдп рд╣рдореЗрд╢рд╛ RangeInclusive { start, end } рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рдВрднрд╛рд╡рд┐рдд рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрднреА рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рд╣реИ:

if let 5..=x { ... }

@clarcharr рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рд╣реИред

rustc 1.17.0 (56124baa9 2017-04-24)
error: unexpected token: `=`
 --> <anon>:3:13
  |
3 |     if let 5..=x {
  |             ^^

error: aborting due to previous error

@clarcharr @kennytm
рдЬрдм рд╣рдо рдПрдХ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ ..= рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА:

error: expected one of `::` or `=`, found `{`
 --> <anon>:3:13
  |
3 |     if let 5..=x {
  |                  ^

error: aborting due to previous error

рдЕрднреА рдХреА рддрд░рд╣ let x=10; if let 5..x {}

рддреЛ рдпрд╣ "рдЕрд╕реНрдкрд╖реНрдЯрддрд╛" рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧреА рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ if let 5..x {} рд╕реЗ рдЕрдзрд┐рдХ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред

@Boscop рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐, рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрджрд┐ рд╣рдо 5.. рдХреЛ Some(5) рдЬреИрд╕реЗ рдкреИрдЯрд░реНрди рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ if let 5.. = x рд╕рдорд╛рди рд╣реЛрдЧрд╛ let Some(5) = x , рдФрд░ рдмрд╛рдж рд╡рд╛рд▓рд╛ рд╕рдВрдХрд▓рдиред рдореЗрд░реЗ рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ 5.. рдПрдХ рдкреИрдЯрд░реНрди рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡рд╣рд╛рдБ рд╕реЗ рдХреЛрдИ рд╕рдВрдЧрддрддрд╛ рдЦрддрд░рд╛ рд╣реИ if let рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ..= ред

рдЕрдЧрд░ рд╣рдо рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреИрдЯрд░реНрди рдореЗрдВ ..= рдФрд░ .. рджреЛрдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рддреЛ if let 5..=x рд╣рдореЗрд╢рд╛ if let 5.. = x рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: if let (single expression) рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЛрдИ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рд╣реИред

@kennytm рддреЛ рд╣рдо рджреЛрдиреЛрдВ рдиреЗ 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рд╡реЗ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред (рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдерд╛ рдХрд┐ рдЙрдирдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рдерд╛ред рдпрд╣ рдереЛрдбрд╝реЗ рдЕрд╕реНрдкрд╖реНрдЯ рдерд╛, рд╣реЗред)

@daboross Like kennytm рдиреЗ рдХрд╣рд╛, 5.. рдПрдХ рдкреИрдЯрд░реНрди рдирд╣реАрдВ рд╣реИ рдФрд░ рдЕрдм рднреА рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЕрдЧрд░ рд╣рдо рдПрдХ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ ..= рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ред рдХреЛрдИ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдирд╣реАрдВ рд╣реИред рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЕрдм, ..= рдХреЛ рдПрдХ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░реНрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рд╣рдо рдЗрд╕реЗ рдПрдХ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдИ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдирд╣реАрдВ рд╣реИред

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

рдЗрд╕рд▓рд┐рдП рдЬрдм рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╛рдХрд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ @ clarcharr рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╕рдВрднрд╛рд╡рд┐рдд рднрд╡рд┐рд╖реНрдп рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рд╣реИ рдЬреЛ рдкреИрдЯрд░реНрди рдХреЗ рд▓рд┐рдП ..= рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕ рдмрд╛рдд рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдореИрдВ рдпрд╣рд╛рдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рддреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ред ^ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдлреА рдареАрдХ рд▓рдЧрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЖрдИрдЖрдИрдЖрд░рд╕реА рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

(рдпрд╣ рдПрдХ рдФрд░ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдФрд░ рдмрд╛рдж рдореЗрдВ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ред)

@nagisa if let рд╕рдВрдмрдВрдз рдореЗрдВ рдХреЛрдИ рд╡рд┐рд░реЛрдз рдирд╣реАрдВ рд╣реИ рдпрджрд┐ рд░реЗрдВрдЬрдлреНрд░реЙрдо рдкреИрдЯрд░реНрди рд╕рдорд░реНрдерд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЯреЛрдХрди ..= рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреЛрдИ рднреА .. рдФрд░ = рдмреАрдЪ рдПрдХ рд╕реНрдерд╛рди рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ x <- y (рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рдЗрди) рдмрдирд╛рдо x < -y (+ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕реЗ рдХрдо)ред

(рдЪреВрдВрдХрд┐ ^ рдЕрдирдиреНрдп -рдпрд╛ рдСрдкрд░реЗрдЯрд░ рд╣реИ, ^ рдореБрдЭреЗ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдХреЗ рд▓рд┐рдП ..^ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡рд┐рдбрдВрдмрдирд╛рдкреВрд░реНрдг рд▓рдЧрддрд╛ рд╣реИ)

рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреА рдЧрдИ рд╣рдЬрд╝рд╛рд░реЛрдВ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрдВрдж рд╣реИрдВ, рд╢рд╛рдпрдж рдПрдХ рдпрд╛ рджреЛ рдЖрдзреЗ-рдЕрдзреВрд░реЗ рд░рд╛рд╕реНрддреЗ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдЦреБрд▓реЗ рд╣реИрдВ, рдореБрдЭреЗ рдЕрднреА рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣реА рд╣реИред 1..(n+1) рд▓рд┐рдЦрдирд╛ рдЗрддрдирд╛ рдХрдард┐рди рдирд╣реАрдВ рд╣реИред

рдпрд╣ рдЕрдВрдд = рдЯреА :: max_value() рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

29 рдордИ, 2017 рдХреЛ 16:33 рдкрд░, "рдбрд┐рдЧрд░реА рд╣рд╛рд░реНрдбреА" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореИрдВрдиреЗ рдЬрд┐рди рд╣рдЬрд╛рд░реЛрдВ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ, рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрдВрдж рд╣реИрдВ,
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдпрд╛ рджреЛ рдЖрдзреЗ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдЦреБрд▓реЗ рд╣реЛрдВ, рдореИрдВ рдЕрднреА рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рд╣реВрдВ
рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рджреЗрдЦреЗрдВред 1..(n+1) рд▓рд┐рдЦрдирд╛ рдЗрддрдирд╛ рдХрдард┐рди рдирд╣реАрдВ рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/rust-lang/rust/issues/28237#issuecomment-304662258 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AApc0ipynL_qrZqUBldOJOX046RNY2H_ks5r-skwgaJpZM4F4LbW
.

рдореИрдВ рдЖрдзрд╛ рдмрдВрдж рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдкрд░ ..= рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рд╡рд┐рдзрд┐ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

29 рдордИ 2017 рдХреЛ 16:35 рдХреЛ, "рд╕рд╛рдЗрдореЛрдирд╕ рдХрдЬрд╝рд▓реМрд╕реНрдХрд╕" [email protected] рдиреЗ рд▓рд┐рдЦрд╛:

рдпрд╣ рдЕрдВрдд = рдЯреА :: max_value() рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

29 рдордИ, 2017 рдХреЛ 16:33 рдкрд░, "рдбрд┐рдЧрд░реА рд╣рд╛рд░реНрдбреА" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореИрдВрдиреЗ рдЬрд┐рди рд╣рдЬрд╝рд╛рд░реЛрдВ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ, рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣реИрдВ
рдмрдВрдж, рд╢рд╛рдпрдж рдПрдХ рдпрд╛ рджреЛ рдЖрдзреЗ-рдЕрдзреВрд░реЗ рд░рд╛рд╕реНрддреЗ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдЦреЛрд▓реЗрдВ, рдореИрдВ рдЕрднреА рднреА рдирд╣реАрдВ рдХрд░рддрд╛
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рджреЗрдЦреЗрдВред 1..(n+1) рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ
рд▓рд┐рдЦреЛред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/rust-lang/rust/issues/28237#issuecomment-304662258 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AApc0ipynL_qrZqUBldOJOX046RNY2H_ks5r-skwgaJpZM4F4LbW
.

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдЙрдирдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рдХреНрд╖рдгреЛрдВ рдФрд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░ рджреЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрд╕рд╣рдорддрд┐ рдирд╣реАрдВ рд╣реИред рдХреГрдкрдпрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд░ рдмрд╛рдЗрдХрд╢реЗрдбрд┐рдВрдЧ рдХреЛ рдореВрд▓ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕реНрдерд┐рд░реАрдХрд░рдг рдХреЛ рд░реЛрдХрдиреЗ рди рджреЗрдВред

рдпрд╣ рдЕрдВрдд = рдЯреА :: max_value() рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рд╡рд╛рдХрдИ 2^64 рдорд╛рдиреЛрдВ рдпрд╛ 2^8 рдорд╛рдиреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рдорд╛рдиреЛрдВ рдЬреИрд╕реЗ u32 рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд▓реВрдк рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЬреЛрдбрд╝рдирд╛ рдЕрдХреНрд╕рд░ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рдЕрд╕реНрдкрд╖реНрдЯ рдХрд╛рд░рдг рд╕реЗ 2^B-1 рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд▓реВрдк рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣рдореЗрд╢рд╛ if i == END { break; } рдЪрд┐рдкрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдорд╛рдирдХ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреВрд░реНрдгрд╛рдВрдХ 2^32 рдпрд╛ 2^64 рдорд╛рдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдЪреНрдЪрддрдо рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдпреЛрдЧреНрдп рдореВрд▓реНрдп рдмрд╣реБрдд рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдпрджрд┐ рдЖрдк u8 рд╕рд╛рде рдХреБрдЫ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рди рднреВрд▓реЗрдВ рдХрд┐ рд╕реАрдкреАрдпреВ рдХреЗ рд▓рд┐рдП рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рд▓рд┐рдП u32 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдпрдж рдЖрд╕рд╛рди рд╣реИред

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

рдЗрди рдЪрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рд╕рдорд╛рд╡реЗрд╢ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП?

1...10
1>..10
1..<10
1>.<10

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡реЗ рдЖрдЧреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рдмрд┐рдирд╛ рдХреНрдпрд╛ рдХрд╣рддреЗ рд╣реИрдВ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЕрд╕рдорд╛рдирддрд╛ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рдХрд┐рдВрдбрд░рдЧрд╛рд░реНрдЯрди рд╕реЗ рд╣рд░ рдХрд┐рд╕реА рдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЕрдВрдХрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ... рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпреЗ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рд╕реЗ рджрд░реНрдж рд╣реЛрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдо рдЕрд╕рдорд╛рдирддрд╛рдУрдВ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ:

1...10
1<..10
1..>10
1<.>10

... рдмрд╕ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЖрдЦрд┐рд░реА рд╡рд╛рд▓рд╛ рдирд╛рд░рд╛рдЬ рдХрд╛рд░реНрдЯрдореИрди рдХреА рддрд░рд╣ рди рджрд┐рдЦреЗред

@vegai рдФрд░ рдореМрдЬреВрджрд╛ a..b рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдирд╣реАрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдирдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдиреЗ рд╕реЗ рдХреБрдЫ рднреА рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рд╣рдореНрдо, рдЗрд╕рд▓рд┐рдП рджреЛ "рд╕рдВрднрд╛рд╡рд┐рдд рдЕрд╕реНрдкрд╖реНрдЯрддрд╛рдПрдВ" рдЙрдард╛рдИ рдЧрдИ рд╣реИрдВ:

  • if let 5..= x -- рдЬреИрд╕рд╛ рдХрд┐ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдм рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рддрд░рд╣ рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░реА рдУрд░, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдЕрдХреНрд╕рд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ, рдФрд░ рдЯреЛрдХрдирдирд╛рдЗрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдпрджрд┐ рд╣рдо рдЕрдкрдиреЗ рдкрд╛рд░реНрд╕рд░ рдореЗрдВ ..= рдХреЛ рдПрдХ рдЯреЛрдХрди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рднрд▓реЗ рд╣реА рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ 5.. рдкреИрдЯрд░реНрди рдЬреЛрдбрд╝ рджреЗрдВ; рдЖрдкрдХреЛ рдмрд╕ .. рдФрд░ = (рдЬреИрд╕реЗ, let 5.. = x ) рдХреЗ рдмреАрдЪ рдПрдХ рд╕реНрдкреЗрд╕ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред
  • рдореИрдХреНрд░реЛ-рдирд┐рдпрдореЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рджрд░реНрдж рдФрд░ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдо "рдореИрдХреНрд░реЛрдЬрд╝ 2.0" рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рдУрд░ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рд╣рдо рдПрдВрдб-рдпреВрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП "рдХрдВрдкрд╛рдЙрдВрдб рдЯреЛрдХрди" рдХреЗ рд╕реЗрдЯ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВред

    • рдЕрдВрдд рдореЗрдВ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рд╣рдо рдХреБрдЫ рд╡рд┐рд╢реЗрд╖-рдХреЗрд╕ рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ macro_rules! back-compat рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ; рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ... рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдмрдЪрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕рдорд╕реНрдпрд╛ # 42401 рдХреЛ рднреА рдЗрдореЛ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдерд┐рд░реАрдХрд░рдг рдХреЗ рдмрд╛рдж рдлрд┐рдХреНрд╕ рдПрдХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдЧрд╛ред

@ est31 рдЕрдЪреНрдЫрд╛ рдмрд┐рдВрджреБ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдореБрджреНрджреЗ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЪреЗрдХрд▓рд┐рд╕реНрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛

рдЪреЗрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ str рд╕реНрд▓рд╛рдЗрд╕рд┐рдВрдЧ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдЕрд╕реНрдерд┐рд░ рд╣реИ рдФрд░ рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдУрд╣, @nagisa рд╕рд╣реА рд╣реИ, рдЗрд╕рдХрд╛ рд░реЗрдВрдЬ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╕рд┐рд░ рд╕реЗ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ? рдореЗрд░реА рдЧрд▓рддреАред рдмрдЧ рдмрд▓реНрдХрд┐ get рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП str_checked_slicing рд╕реБрд╡рд┐рдзрд╛ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИ:

    impl SliceIndex<str> for ops::RangeToInclusive<usize> {
        type Output = str;
        #[inline]
        fn get(self, slice: &str) -> Option<&Self::Output> {
            if slice.is_char_boundary(self.end + 1) {
                Some(unsafe { self.get_unchecked(slice) })
            } else {
                None
            }
        }
    [...]

рдирд┐рдХрд╛рд▓рд╛ рдЧрдпрд╛

рдПрдХ рдФрд░ рдЪреЗрдХрдмреЙрдХреНрд╕ рдЕрдкрдбреЗрдЯ: рдкреАрдЖрд░ https://github.com/rust-lang/rust/pull/42134 рдиреЗ https://github.com/rust-lang/rfcs/pull/1980 рдЯреНрд╡реАрдХ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛

рдЯрдХреНрдХрд░: рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╣рдо 1.20 рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо structs рдХреЛ рд╕реНрдерд┐рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╣рдо рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕рд┐рджреНрдз рдЧреЛ-рдЯреВ рдСрдкрд░реЗрдЯрд░ рдХреЛ C++ рд╕реЗ рдХреИрд╕реЗ рдЙрдзрд╛рд░ рд▓реЗрддреЗ рд╣реИрдВ? рдореИрдВ

@nikomatsakis рдФрд░ @

cc @rust-lang/libs (рдХреЗрд╡рд▓ рдПрдХ рдЯреАрдо рдХреЗ рд▓реЛрдЧ рд╣реА рдЕрдкрдиреА рдпрд╛ рдЕрдиреНрдп рдЯреАрдореЛрдВ рдХреЛ рдЯреИрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)

рдзрдиреНрдпрд╡рд╛рдж, @eddyb!

@clarcharr https://github.com/rust-lang/rust/pull/42275#discussion_r119211211 рдкрд░ рдЖрдзрд╛рд░рд┐рдд, рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреАред

рдХреНрдпрд╛ рдореБрдЭреЗ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЯреНрд░реЗрди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ?
рдХрд░рдВрдЯ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХреЛрдИ рд╕реНрд▓рд╛рдЗрд╕ рдХреЛ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред

for i in a..b {} // [a..b) 
for i in a..+b {} //[a..b] 
for i in a-..b {} //(a..b) 
for i in a-..+b {} // (a..b]

рдпрд╣ рд╕рд┐рдВрдЯреИрдХреНрд╕ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА Add рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЕрд╕рдВрднрд╡ рдмрдирд╛ рджреЗрдЧрд╛ред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ Add рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреНрдпрд╛ рдХрд░реЗрдЧрд╛ред

рдЕрдиреБрдЧрд╛рдореА рдкреНрд▓рд╕ рдХреЗ рд▓рд┐рдП рд╕рд╣рдордд рд╣реИрдВред рдЙрдкрд╕рд░реНрдЧ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ред

рдХреНрдпреЛрдВрдХрд┐ a.. , ..b рдФрд░ .. рдЬрдВрдЧ рдореЗрдВ рдорд╛рдиреНрдп рдирд┐рд░реНрдорд╛рдг рд╣реИрдВ, рдпрд╣ рдЕрднреА рднреА рдЧрдгрд┐рддреАрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИ: /

a... / a..= / a..+ рд╕рд╣реА рд╣рд╛рд▓рд╛рдВрдХрд┐ рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реЛрдЧрд╛? рдЪреВрдВрдХрд┐ рдПрдХ рдЕрд╕реАрдорд┐рдд рд╕реАрдорд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЕрдВрдд рдмрд┐рдВрджреБ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред

рдореИрдВ Add рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЪрд┐рдВрддрд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрдо рд╣реЛрдЧрд╛, рдФрд░ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк (x..+y) + z ?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ, рдмрд╕ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рдпрд╣ a..+b рдЬреЛ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛, рд╣реИ рдирд╛? рдЪреВрдВрдХрд┐ рдЕрднреА рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ a.. + b ред

@daboross рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдпрд╛ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдпрд╛ рдЗрд╕ рдкрд░ рдХреБрдЫ рдмрджрд▓рд╛рд╡) рдХреБрдЫ рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЪрд╛рд╣рддреЗ рд╣реИрдВ:

impl<T> Add<T> for RangeFrom<T> where T: Add<T> {
    type Output = RangeFrom<T>;
    fn add(self, rhs: T) -> RangeFrom<T> {
        (self.start + rhs)..
    }
}

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

рдореЗрд░реА рджреВрд╕рд░реА рдЪрд┐рдВрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ ... рдХреЛ рдЦрд╛рд░рд┐рдЬ рдХрд░рдиреЗ рдХрд╛ рдкреВрд░рд╛ рдмрд┐рдВрджреБ рдЯрд╛рдЗрдкреЛ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдореЗрдВ рдХрдард┐рдирд╛рдИ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ рд╣реИ рдФрд░ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рдЕрдореВрд░реНрдд a..+b рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрд░реНрдереЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред рдЙрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рд╡рд╛рдкрд╕ рдЬрд╛ рд░рд╣реЗ рд╣реЛрдВрдЧреЗред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдЕрднреА рддрдХ a-..b рдФрд░ a-..+b рдХреЗ рд▓рд┐рдП "рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛" рд╕реЗ рдкрд░реЗ рдПрдХ рдареЛрд╕ рдФрдЪрд┐рддреНрдп рджреЗрдЦрдирд╛ рдмрд╛рдХреА рд╣реИ, рдЬрдмрдХрд┐ рд╡рд░реНрддрдорд╛рди .. рдФрд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд ..= рджреЛрдиреЛрдВ рдХреЛ рдЬреНрдЮрд╛рдд, рдорд╛рдиреНрдп рддрд░реНрдХ рд╣реИрдВред

рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП + рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдЕрд╕реНрдкрд╖реНрдЯ рдмрдирд╛рддрд╛ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджреЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк <Range as Add<{integral}>>::Output = InclusiveRange рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдВрдЧреЗред

рдореИрдВ ..! рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВред рдЗрд╕рдореЗрдВ .. рд╕рд╛рде рдЙрддреНрдкрд╛рджрдХ рддреБрдХрдмрдВрджреА рд╣реИ рдФрд░ рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреЛрд░ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдмреЗрд╢рдХ рдпрд╣ рдСрдкрд░реЗрдЯрд░ ! рдЯрдХрд░рд╛рдПрдЧрд╛ рд▓реЗрдХрд┐рди, рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдХрд╣реВрдВ рддреЛ, рдореИрдВ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛ рдЬрд╣рд╛рдВ рдХрд┐рд╕реА рдХреЛ ! рдХреЛ рдмрд╛рдзреНрдп рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

..! рдореЗрдВ рд╕рд╣рдЬрддрд╛ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдПрдХ рдирд╡рд╛рдЧрдВрддреБрдХ рдЬреЛ рдЕрднреА рддрдХ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рдЖрд╕рд╛рдиреА рд╕реЗ ..! рдХрд╛ рдЕрд░реНрде "рдЕрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдирд╣реАрдВ ..." рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЧрд▓рдд рд╕рдордЭ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ "рд░реЗрдВрдЬ рдЕрдк рдЯреВ рдмрд┐рдЯрд╡рд╛рдЗрдЬ рдХреЙрдореНрдкреНрд▓реАрдореЗрдВрдЯ..." рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕реЗ рднреА рдЯрдХрд░рд╛рддрд╛ рд╣реИ (рдЬреЛ рдЗрд╕реЗ + рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬреИрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдбрд╛рд▓ рджреЗрдЧрд╛)

рд╕рд╣рдорддред рд▓реЗрдХрд┐рди рджреВрд╕рд░реА рдУрд░ ..= рдХреЛ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЧрд▓рдд рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпрджрд┐ рдпрд╣ рдПрдХ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░ рд╣реЛрддрд╛ рддреЛ рдЖрдк рдХреНрдпрд╛ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ?

@ snuk182 рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рдЖрдзрд╛рд░ рдкрд░:

a...b // [a; b] shorthand for RangeIncusive
a..-b // [a; b) new Range shorthand 
a..b // [a; b) old Range shorthand exists for compatibility

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдореЗрдВ рдЕрдиреНрдп рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

a-..b // (a; b]
a-.-b // (a; b)  

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдЦрд┐рд░реА рд╡рд┐рдХрд▓реНрдк рдереЛрдбрд╝рд╛ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИред ^_^

рдХреГрдкрдпрд╛ рдХрд┐рд╕реА рднреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджреЗрдирд╛ рдмрдВрдж рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдпреВрдирд░реА рдСрдкрд░реЗрдЯрд░ рд╣реЛ, рдЬреИрд╕реЗ a..-b , a..!b , a..*b , a..&b рдпрд╛ a?..b , рдпреЗ рдХрднреА рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

..! рдЕрдВрддрд░реНрдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╣реИред рдПрдХ рдирд╡рд╛рдЧрдВрддреБрдХ рдЬреЛ рдЕрднреА рддрдХ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рдЖрд╕рд╛рдиреА рд╕реЗ рдЧрд▓рдд рд╕рдордЭ рд╕рдХрддрд╛ рд╣реИ ..! рдХрд╛ рдЕрд░реНрде рд╣реИ "рдЕрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдирд╣реАрдВ ..."

..= рдореЗрдВ рд╕рд╣рдЬрддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЬреЛ рдХреЛрдИ рднреА = рджреЗрдЦрддрд╛ рд╣реИ, рд╡рд╣ рдкреНрд░рднрд╛рд╡ рдпрд╛ рддреБрд▓рдирд╛ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВ ..= рджреЗрдЦрддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЦреБрдж рдХреЛ рдпрд╣ рд╕реЛрдЪрдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ рд╕рдорд╛рди рдЪрд┐рд╣реНрди рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдПрдХрдорд╛рддреНрд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЬреЛ рд╡рд░реНрддрдорд╛рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╣рдЬ рдФрд░ рд╕реБрд╕рдВрдЧрдд рджреЛрдиреЛрдВ рд╣реИ ... ред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрд╣рд╛рдЬ рд░рд╡рд╛рдирд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред

рдирд╡рд╛рдЧрдВрддреБрдХреЛрдВ рдХреЛ рд╡реИрд╕реЗ рднреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ ... рд╡реЗ рдбреЙрдХреНрд╕ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред рдпрд╣ рдЯрд╛рд▓рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди ..= рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдирд┐рдореЛрдирд┐рдХ ( up to рдФрд░ equal to ) рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рдСрдкрд░реЗрдЯрд░ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ ... рдСрдкрд░реЗрдЯрд░ рдЬреИрд╕рд╛ рд╣реИ рд╡реИрд╕рд╛ рд╣реА рд░рд╣реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣рдо .. рдСрдкрд░реЗрдЯрд░ рдХреЛ ..тО╡ , рдпрд╛рдиреА рджреЛ рдмрд┐рдВрджреБ рдФрд░ рдПрдХ рд╕реНрдерд╛рди (рдореБрдЭреЗ рд╡рд╣ рд░рдЦрдирд╛ рдерд╛ 'тО╡ ' рд╡рд╣рд╛рдБ рдЪрд░рд┐рддреНрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╡реЗрдмрдкреЗрдЬ рдкрд░ рдПрдХ рдирд┐рдпрдорд┐рдд рд╕реНрдерд╛рди рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛)ред рдпрд╣ рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рд╕реНрдерд╛рди рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рд╕рдлреЗрдж рд╕реНрдерд╛рди рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдмрджрд▓рд╛рд╡ рднреА рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ a..b рдЬреИрд╕реЗ рд╕рднреА рдХреЛрдб рд╢рд┐рдХрд╛рдпрдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ .. рдЬреИрд╕рд╛ рдХреЛрдИ рдСрдкрд░реЗрдЯрд░ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдбреЙрдЯреНрд╕ рдХреЗ рдмрд╛рдж рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕реНрдерд╛рди рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдВрддрд░рд┐рдХреНрд╖ рдЙрдиреНрд╣реЗрдВ рджреГрд╖реНрдЯрд┐ рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдмрдирд╛рддрд╛ рд╣реИ:

a.. b
a...b

@tommit рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛ред

рд╕рдлреЗрдж рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдСрдкрд░реЗрдЯрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдлреА рд▓рдЪреАрд▓рд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: a..b рдФрд░ a .. b рд╕рдорд╛рди рд╣реИрдВред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЗрд╕реЗ рдЕрдиреНрдп рдСрдкрд░реЗрдЯрд░реЛрдВ, рдЬреИрд╕реЗ a+b рдФрд░ a + b рдЕрдиреБрд░реВрдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рдпреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд╣реА рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╢реИрд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдЕрдЧрд░ рдЖрдк рдореБрдЭрд╕реЗ рдкреВрдЫреЗрдВ рддреЛ рдпрд╣ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИ!

рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, ..= рдиреЛрдЯреЗрд╢рди <= рдФрд░ >= рдиреЛрдЯреЗрд╢рди (рдЬрд┐рдиреНрд╣реЗрдВ _inclusive_ рднреА рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИред

рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рд╣рдореЗрд╢рд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдХреНрдпрд╛ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдпрдж рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред

рд╕рд╣рдорддред <= рдФрд░ >= , ..= рдкреНрд░рд╢рдВрд╕рдиреАрдп рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рддрд╛рд░реНрдХрд┐рдХ рднреАред

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

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

рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрднреА рднреА рдмрд╣реБрдд рд╕рд╛рд░реЗ рдмрд╛рдЗрдХрд╢реЗрдб рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред рдореИрдВрдиреЗ рдХрдо рд╕реЗ рдХрдо рд╕рдВрд░рдЪрдирд╛рдУрдВ рдФрд░ рд▓рдХреНрд╖рдгреЛрдВ рдФрд░ рдирд┐рд╣рд┐рддрд╛рд░реНрдереЛрдВ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП # 43086 рджрд╛рдпрд░ рдХрд┐рдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ (рдорд╛рдВрдЧ рд▓рдЧрддреА рд╣реИ, рдКрдкрд░ @ retep998 рджреНрд╡рд╛рд░рд╛ рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВ)ред

рдХрдорд░реЗ рдореЗрдВ рд╣рд╛рдереА рдпрд╣ рд╣реИ рдХрд┐ .. рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рд╕рдордорд┐рдд рд░реВрдк рд▓реЗрдХрд┐рди рдЕрд╕рдордорд┐рдд рдЕрд░реНрде рдХреЗ рдХрд╛рд░рдг рдпрд╣рд╛рдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред "рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдХрд╛рдо" рд╢рд╛рдпрдж рдЗрд╕реЗ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЗрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрддрдирд╛ рдХреЛрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрд╕рдВрдЧрдд ... (рд╕рдордорд┐рдд рд░реВрдк, рд╕рдордорд┐рдд рдЕрд░реНрде) рдХреЛ рд╣рдЯрд╛рдирд╛ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди ..= рдореЗрдВ рдПрдХ рдФрд░ рдЕрд╕рдВрдЧрдд рдСрдкрд░реЗрдЯрд░ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреАрдордд рдкрд░ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдЦрд░рд╛рдм рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦрд░рд╛рдм рдбрд┐рдЬрд╝рд╛рдЗрди рдЬреЛрдбрд╝рдирд╛ред

рдЗрд╕ рджреЛрд╣рд░реА рдЕрд╕рдВрдЧрддрд┐ рдХреЗ рдХрд╛рд░рдг рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдЕрдВрддрд┐рдо рджреЛ рд╢реЗрд╖ рд╕рдорд╛рд╡реЗрд╢рди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ (рджреЛрдиреЛрдВ рдкрдХреНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдирдиреНрдп рдФрд░ рдХреЗрд╡рд▓ рдмрд╛рдИрдВ рдУрд░ рдЕрдирдиреНрдп)ред рдЪреВрдВрдХрд┐ .. рдФрд░ ..= рджреЛрдиреЛрдВ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╛рдИрдВ рдУрд░ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд = рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд╕рдВрднрд╡рддрдГ < ред рддреЛ рдЙрдиреНрд╣реЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рд╣реЛрдЧрд╛:

  • <..= рд▓рд┐рдП (a; b]
  • <.. рд▓рд┐рдП (a; b)

рдЧреБрдб рд▓рдХ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдПрдХ рдирд╡рд╛рдЧрдВрддреБрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдирдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИред рддреЛ рд╡реЗ рд╢рд╛рдпрдж (рд╕рд╣реА рдврдВрдЧ рд╕реЗ) рдХрднреА рднреА рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

рдпрджрд┐ .. рдЗрддрдирд╛ рдЧрд╣рд░рд╛ рдирд╣реАрдВ рдерд╛ рдпрд╛ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рднреА рдирд╣реАрдВ рдерд╛, рддреЛ рдЦрд░реЛрдВрдЪ рд╕реЗ рдЗрд╕ рд╕рдм рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╕рдВрдЧрдд рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд╕рд╛рде рдЖрдирд╛ рдЗрддрдирд╛ рдХрдард┐рди рдирд╣реАрдВ рд▓рдЧрддрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

  • .. (рдпрд╛ ... ) [a; b]
  • ..< рд▓рд┐рдП [a; b)
  • <.. рд▓рд┐рдП (a; b]
  • <..< рд▓рд┐рдП (a; b)

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рджреЛ рдкреНрд░рдХрд╛рд░ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпрд╛ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдирдХреЗ рд▓рд┐рдП рдкрде рдХреЛ рдЗрддрдиреА рдЬрд▓реНрджреА рдЕрд╡рд░реБрджреНрдз рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, ..= рдХреЛ рдкрджрд╛рд╡рдирдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп .. рдХреЛ рдЪреБрдирдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рдмрд╣реБрдд рдХрдо рдкреБрд░рд╛рдиреЗ рдХреЛрдб рдХреЛ рддреЛрдбрд╝рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдмреБрд░рд╛рдИ рд╣реЛрдЧреА, рдХреБрдЫ рднреА рдирд╣реАрдВ рдордирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

_рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЬреЛрдбрд╝реА рдЧрдИрдВред_

рдореИрдВ @rkarp рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ .. рдпрд╣рд╛рдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, ... рдпрд╛ ..= ред рдЕрд╕рдордорд┐рдд рдЕрд░реНрде рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмреБрд░рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдп (рдЕрдзрд┐рдХ рд▓реЛрдХрдкреНрд░рд┐рдп) рднрд╛рд╖рд╛рдПрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдПрдХ рд╕рдордорд┐рдд рдЕрд░реНрде рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреЛрдЯрд▓рд┐рди, рд░реВрдмреА рдФрд░ рд╣рд╛рд╕реНрдХреЗрд▓ рджреЛрдиреЛрдВ 5 рдХреЛ 3.5 рдХреА рд╕реАрдорд╛ рдореЗрдВ рдорд╛рдирддреЗ рд╣реИрдВред рдЧрдгрд┐рдд рдХреЗ рдкреЗрдкрд░ рднреА рдЗрд╕рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдирдЬрд░ рдЖ рд░рд╣реЗ рд╣реИрдВред рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдмреБрд░реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рд░рд╕реНрдЯ рдореЗрдВ 3.5 рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдореМрдХрд╛ рдирд╣реАрдВ рд╣реИ: рдЖрдк рдпрд╛ рддреЛ рддрдп рдХрд░реЗрдВрдЧреЗ рдХрд┐ 4 рдФрд░ рдХреЗрд╡рд▓ 4 рд░реЗрдВрдЬ 3.5 (рдбреЙрдЯреНрд╕ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐) рдХрд╛ рд╕рджрд╕реНрдп рд╣реИ рдпрд╛ рджреЛрдиреЛрдВ рдЗрд╕рдореЗрдВ 3 рдФрд░ 5 рднреА рд╣реИрдВ ('рд╕рдм рдХреБрдЫ рдЬреЛ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ' рдФрд░ рдбреЙрдЯреНрд╕ рдХреЗ рдПрдХреНрд╕рдЯреНрд░рдкрд▓реЗрд╢рди рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐)ред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдХрдард┐рдирд╛рдИ рдкрд░ рдЕрд╕рд╣рдордд рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @adelarsq рд╕реБрдЭрд╛рд╡ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рджрд░реНрдж рд░рд╣рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдиреНрджрд░реНрдн рдХреЗ рд▓рд┐рдП:

[1..4] // 1, 2, 3, 4
[1..4[ // 1, 2, 3
]1..4] // 2, 3, 4
]1..4[ // 2, 3

x..y (рд╡рд░реНрдЧ рдХреЛрд╖реНрдардХ рдХреЗ рдмрд┐рдирд╛) рдХреА рдХрд┐рд╕реА рднреА рдШрдЯрдирд╛ рдХрд╛ рдЕрдиреБрд╡рд╛рдж [x..y[ рдФрд░ рдПрдХ рд╕рдВрдХрд▓рдХ рдЪреЗрддрд╛рд╡рдиреА рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдХреБрдЫ рд░рд┐рд▓реАрдЬ рдХреЗ рдмрд╛рдж рдХрдВрдкрд╛рдЗрд▓рд░ "рдирдВрдЧреЗ" рд╢реНрд░реЗрдгреА рдиреЛрдЯреЗрд╢рди рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЗрдВрдХрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╢рд╛рдпрдж рдирдП рдиреЛрдЯреЗрд╢рди рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрдирд╡рд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреВрд▓ рднреА рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред

https://github.com/rust-lang/rust/issues/28237#issuecomment -274216603 рдпрд╣ рдХреЛрдИ рдирдпрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред

рдореИрдВ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐, рдЕрдЧрд░ рд╣рдо рджреГрд╖реНрдЯрд┐ рдХреЗ рд▓рд╛рдн рдХреЗ рд╕рд╛рде рднрд╛рд╖рд╛ рдХреЛ рдЦрд░реЛрдВрдЪ рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд░ рд░рд╣реЗ рдереЗ, рддреЛ рд╣рдо рдЕрдирдиреНрдп рдФрд░ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕реЛрдВ рдкрд░ рдПрдХ рд╕рд╛рде рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ..= рдПрдХ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рдСрдкрд░реЗрдЯрд░ рдирд╣реАрдВ рд╣реИ; рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореЗрдЬ рдкрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред рд▓реЗрдХрд┐рди рдореМрдЬреВрджрд╛ рдПрдХреНрд╕рдХреНрд▓реВрд╕рд┐рд╡ рд░реЗрдВрдЬ рдСрдкрд░реЗрдЯрд░ рдХреЛ рдкрджрд╛рд╡рдирдд рдХрд░рдирд╛ рдЕрддреНрдпрдзрд┐рдХ рджрд░реНрджрдирд╛рдХ рд╣реЛрдЧрд╛, рдФрд░ рдореМрдЬреВрджрд╛ рд░рд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрдВрдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдХрдИ рдЕрдиреНрдп рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИрдВ рдЬреЛ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ ..@ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ, рдФрд░ x..@y рд╡рд┐рдЪрд╛рд░реЛрддреНрддреЗрдЬрдХ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХреА рдХрдореА рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП, рд╡рд░реНрддрдорд╛рди рдкреНрд░рд╕реНрддрд╛рд╡ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреБрдЫ рдЕрдзрд┐рдХ рд╕рдореНрдореЛрд╣рдХ рдЦреЛрдЬрдиреЗ рдХреА рдЪреБрдиреМрддреА рд╣реИред

рдореИрдВ рд╕рдорд░реВрдкрддрд╛ рдХреЗ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рджреГрд╢реНрдп рдХреЗ рд░реВрдк рдореЗрдВ 2 рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ @ssokolow рдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛:

  • ..4 рдореЗрдВ рдЪреАрдЬреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ < 4
  • ..=4 рдореЗрдВ рдЪреАрдЬреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ <= 4

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╣ рдЕрдзрд┐рдХ рд╕рд░рд▓ рд╣реИред
рд╢реНрд░реЗрдгреА рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╣рдореЗрд╢рд╛ + 1 рдпрд╛ -1 рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдФрд░..рдмреЗрд╣рддрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐..рд╕реЗ рдЖрд╕рд╛рди рд╣реИ...!

@AlexanderChen1989 рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рдереНрд░реЗрдб рдкрд░ рдкрд╣рд▓реЗ рдХрдИ рдкреЛрд╕реНрдЯ рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ .. рдХрд╛ рдЕрд░реНрде рдмрджрд▓рдиреЗ рд╕реЗ рдореМрдЬреВрджрд╛ рдХреЛрдб рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рд╕рдмрд╕реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, +1 рдФрд░ -1 рдкреВрд░реНрдгрд╛рдВрдХ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣/рдЕрдВрдбрд░рдлреНрд▓реЛ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддреЗ рд╣реИрдВред)

рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ nightly (рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдкреБрд░рд╛рдиреЗ рдЙрдореНрдореАрджрд╡рд╛рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ...

  • ...рдЖрдк рдЬреЛ рднреА рд▓реВрдк рдкрд╣рд▓реЗ рдбрд╛рд▓рддреЗ рд╣реИрдВ рд╡рд╣ рдбрд┐рдмрдЧ рдмрд┐рд▓реНрдб рдореЗрдВ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣/рдЕрдВрдбрд░рдлреНрд▓реЛ рд╕реЗ рдШрдмрд░рд╛рдПрдЧрд╛
  • ...рд╡реЗ рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рдореЗрдВ рдЗрдЪреНрдЫрд┐рдд рдХреЗ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд┐рдкрд░реАрдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдВрдЧреЗ (рдЕрд░реНрдерд╛рдд "0 рд╕реЗ 0" 256 рдмрд╛рд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░реЗрдЧрд╛ рдФрд░ "0 рд╕реЗ 255" рдмрд┐рд▓реНрдХреБрд▓ рднреА рдкреБрдирд░рд╛рд╡реГрддрд┐ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛)
#![feature(inclusive_range_syntax)]
fn main() {
    let max = 255u8;
    let user_provided = 0u8;

    for x in 0...user_provided-1 {
        println!("(0 to 0, exclusive via 'inclusive - 1'): {}", x);
    }

    for x in 0..max+1 {
        println!("(0 to 255, inclusive via 'exclusive + 1'): {}", x);
    }
}

рднрд╛рд╖рд╛ рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдЕрдкрдирд╛ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдЖрдЧрдорди рдкрд░ 8 рдореГрдд рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдирд╡рд╛рдЧрдВрддреБрдХ рдХреГрдкрдпрд╛ рдзрд╛рдЧрд╛ рдкрдврд╝реЗрдВред рд╣рдордиреЗ рдЬреЛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛, рдЙрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рдереЗред

рдЖрдИрдПрдордПрдЪрдУ рдУрдкреА рдХреЛ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдХреЛрдИ рдФрд░ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЕрдирдиреНрдп рд╢реНрд░реЗрдгреА рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ (рдпрд╛рдиреА (рдП, рдмреА) рдФрд░ (рдП, рдмреА] рд╢реНрд░реЗрдгрд┐рдпреЛрдВ) рдХреЗ рдХрд┐рд╕реА рднреА рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ рджреВрд╕рд░реЗ рдзрд╛рдЧреЗ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдХреЗрд╡рд▓ рдЙрди рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╡рд░реНрддрдорд╛рди рдпреЛрдЬрдирд╛ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

@clarcharr рдореИрдВрдиреЗ рдЬреНрдпрд╛рджрд╛рддрд░ рдПрдХрддрд░рдлрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдУрдкреА рдореЗрдВ рдЬреЛрдбрд╝рд╛, рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ред рдЕрдЧрд░ рд╢реЛрд░ рдЬрд╛рд░реА рд░рд╣рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдзрд╛рдЧреЗ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рджреВрдВрдЧрд╛ред

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

@ рдмреИрдбреЗрд▓ 2 рдХреВрд▓ред рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢реБрд░реБрдЖрдд рдХрд░ рджреА рд╣реИ -- рдореИрдВ рдЬрд▓реНрдж рд╣реА рдЕрдкрдиреА рд╢рд╛рдЦрд╛ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдКрдВрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдпрд╣рд╛рдВ рд▓рд┐рдВрдХ рдХрд░реВрдВрдЧрд╛ред

@durka рд╕рд┐рд░реНрдл рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдХреНрдпрд╛ рдЖрдк @ Badel2 рдХреЛ рдЕрдкрдиреА рд╢рд╛рдЦрд╛ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдирд┐рд╣рд┐рдд рдЕрд╡рдзрд┐ рдХреЗ рдХрд╛рдо рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ? рд╡реЗ Gitter рдЪреИрдирд▓ рдореЗрдВ рд╣реИрдВред

рдореИрдВ рдпрд╣ рднреА рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ .. ред рддреЛ, рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓ рд╕рдорд╛рдзрд╛рди рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░ рд░рд╣рд╛ рд╣реИ (рдПрдХ рдмрд╛рд░ рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЛ рддреЛрдбрд╝ рджреЗрдЧрд╛) .. ..< рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ ( a..<b рдмреАрдЪ рдХреЛрдИ рднреНрд░рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛) (a..)<b , рдХреНрдпреЛрдВрдХрд┐ .. рдХрд╛ рдЕрд╕реНрддрд┐рддреНрд╡ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛)ред

@ hyst329 рдХреГрдкрдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рдмрдиреА рдкреЛрд╕реНрдЯ рдХреЛ рдкрдврд╝реЗрдВред

рдкрд╣рд▓реА рдкреЛрд╕реНрдЯ рдмреЛрд▓реНрдбрдлреЗрд╕ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдХрд╣рддреА рд╣реИ, "рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рдХреЛрдИ рдФрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред"

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдЬреЛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдИ рдмрд╛рд░ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдореМрдЬреВрджрд╛ рдЪрд░реНрдЪрд╛ рдХреЛ рдирд╣реАрдВ рдкрдврд╝рд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдХрдИ рдХрд╛рд░рдг рджрд┐рдП рдЧрдП рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╡рд┐рдХрд▓реНрдк рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдпрд╣ рдмрд╣реБрдд рд░рдЪрдирд╛рддреНрдордХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВ ..= рджреЗрдЦрддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ += рдпрд╛ <<= рд╕рдорд╛рди рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрджрд░реНрдн рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП " ..= рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдорд░реНрдерди" https://this-week-in-rust.org/blog/2017/10/03/this-week- рдЗрди-рдЬрдВрдЧ-202/)

@SimonSapin рдореИрдВрдиреЗ рдКрдкрд░ рдФрд░ рдЕрдзрд┐рдХ рд░рдЪрдирд╛рддреНрдордХ рдлреИрд╢рди рдореЗрдВ рдЙрд╕реА рдЖрд▓реЛрдЪрдирд╛ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп ..^ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ: https://github.com/rust-lang/rust/issues/28237#issuecomment -304325663

рдореЗрд░реЗ рд▓рд┐рдП, рдПрдХ рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреЗ рд▓рд┐рдП рдмреЛрд▓рддрд╛ рд╣реИ ..= рддреЗрдЬ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрд┐ рддрд░рд╣-рдХреА (рдЬреЛ рд╣реИ ..< рд╡рд┐рд╢реЗрд╖ рдХреЗ рд▓рд┐рдП рдФрд░ .. рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП)ред рдЗрд╕рдиреЗ рдореБрдЭреЗ ..= рдХреА рдкрд╕рдВрдж рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд░ рджрд┐рдпрд╛ред

@SimonSapin рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдРрд╕рд╛ рдХреЛрдИ рд╣реИ рдЬреЛ рдЗрд╕рд╕реЗ рдкреВрд░реА рддрд░рд╣ рдЦреБрд╢ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕реИрдХрдбрд╝реЛрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдиреЗ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдкреБрд╖реНрдЯрд┐ рдХреА рд╣реИ рдХрд┐ рдХреЛрдИ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред

рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдореБрдЭреЗ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдпрд╣ рдкреИрдЪ рдХреЗрд╡рд▓ рдХрд┐рдирд╛рд░реЗ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдкреИрдЯрд░реНрди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдЧрдбрд╝рдмрдбрд╝рд╛рдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред

.. рдкреИрдЯрд░реНрди рдореЗрдВ рдмрд╣реБрдд рдХрдо рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдФрд░ рдЖрдк рд╣рдореЗрд╢рд╛ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рд╕реМрджрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

... рдХреЛ RangeInclusive рдпрд╛ (Bound<T>, Bound<T>) рдЙрди рднрд╛рд╡реЛрдВ рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рдирдХреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдЕрдзрд┐рдХ рд╡рд░реНрдмреЛрдЬрд╝ рд╣реИ рд▓реЗрдХрд┐рди рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИред

@UtherII

... рдФрд░ рдореИрдВ рдЖрд╢реНрд╡рд╕реНрдд рдерд╛ рдХрд┐ ... рд╕рдВрдХрд▓рдХ рдХреЗ "рдЖрдк рд╕реНрдерд┐рд░ рдкрд░ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ" рд╕рдВрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рд╕реВрдХреНрд╖реНрдо рдмрдЧ рд╕реЗ рд╕рд╣реЗрдЬреЗ рдЬрд╛рдиреЗ рдХреЗ рд╕рдордп рддрдХ рдЕрд╕реНрдерд┐рд░ рд╣реИред

рдЬрдм рдЖрдк рддреЗрдЬреА рд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рдХрдИ рдмрд╛рд░ рджрдмрд╛ рд░рд╣реЗ рд╣реЛрдВ рддреЛ рдЧрд▓рддреА рд╕реЗ . рдПрдХ рдмрд╛рд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ (рдпрд╛, рд╢рд╛рдорд┐рд▓ рдпрд╛рдВрддреНрд░рд┐рдХреА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдПрдХ рдмрд╛рд░ рдмрд╣реБрдд рдХрдо) рд╣рд┐рдЯ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред

рдореИрдВрдиреЗ "рдмрджрд▓рд╛рд╡ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ..= рдХреЛ рдкреИрдЯрд░реНрди рдореЗрдВ ... рдкрд░реНрдпрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ ..= рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреЗрдХ рдХрд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА #44709 рдХреЗ рдмрд╛рдж рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реИ рдХреНрд░рдорд╢рдГ dotdoteq_in_patterns рдФрд░ inclusive_range_syntax рд╕реБрд╡рд┐рдзрд╛рдПрдБред рдЬреЛ рдХреБрдЫ рдмрдЪрд╛ рд╣реИ рд╡рд╣ рд╕рд┐рд░реНрдл рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдФрд░ рд╕реНрдерд┐рд░реАрдХрд░рдг рд╣реИред

рд╕реНрдерд┐рд░реАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз

рдореИрдВ рд╕рдорд╛рд╡реЗрд╢реА рд╕реАрдорд╛ рдХреЛ 1.26 (30 рдорд╛рд░реНрдЪ рдХреЛ рдмреАрдЯрд╛, 11 рдордИ рдХреЛ рд╕реНрдерд┐рд░) рдпрд╛ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдерд┐рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдПрдХ рд╕реНрдерд┐рд░реАрдХрд░рдг рдкреАрдЖрд░ #47813 рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕рд╛рд░рд╛рдВрд╢

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд 3 рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╕реНрдерд┐рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

  • inclusive_range_syntax тАФ рдПрдХ рд╡реНрдпрдВрдЬрдХ рдореЗрдВ a..=b рдФрд░ ..=b рд╕рд┐рдВрдЯреИрдХреНрд╕:

    for i in 1..=10 {
        println!("{:?}", &a[..=i]);
    }
    
  • dotdoteq_in_patterns тАФ рдПрдХ рдкреИрдЯрд░реНрди рдореЗрдВ a..=b рд╕рд┐рдВрдЯреИрдХреНрд╕:

    match c {
        b'0'..=b'9' => c - b'0',
        b'a'..=b'z' => c - b'a' + 10,
        b'A'..=b'Z' => c - b'A' + 10,
        _ => unreachable!(),
    }
    

    (рдиреЛрдЯ: a...b рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЕрднреА рднреА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)

  • inclusive_range тАФ std::ops::{RangeInclusive, RangeInclusiveTo} рдкреНрд░рдХрд╛рд░ рдФрд░ рдЙрдирдХреЗ рдХреНрд╖реЗрддреНрд░:

    let r = 1..=10;
    assert_eq!(r.start, 1);
    assert_eq!(r.end, 10);
    

рдкреНрд░рд▓реЗрдЦрди

@alercah рджреНрд╡рд╛рд░рд╛ рдХрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ

рдкрд░реАрдХреНрд╖рдг

рдЖрдк рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдорд▓реЗ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВ:

  • run-pass/range_inclusive.rs тАФ
    рдмреБрдирд┐рдпрд╛рджреА рдкрд░реАрдХреНрд╖рдг рдЬреИрд╕реЗ рдлреЙрд░-рд▓реВрдк рдореЗрдВ a..=b рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рд╕реНрд▓рд╛рдЗрд╕ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рдФрд░ ..= рдСрдкрд░реЗрдЯрд░ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛, рдФрд░ рдЯрд╛рдЗрдк-рдЪреЗрдХрд┐рдВрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ред
  • libcore/tests/iter.rs тАФ
    рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддрдХ рдХреЗ рд░реВрдк рдореЗрдВ a..=b рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдг; рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ nth() , min() , max() рдФрд░ last() рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдФрд░ (5..=5).next() рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реАрдорд╛ 1..=0 рд╣реЛ рдЬрд╛рддреА рд╣реИ
  • liballoc/tests/str.rs , liballoc/tests/btree/map.rs рдФрд░ liballoc/tests/vec.rs тАФ
    рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ a..=b рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдЧреНрд░рд╣ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
  • parse-fail/range_inclusive.rs рдФрд░ ui/impossible_range.rs тАФ
    рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ a..= рдФрд░ ..= рдЬреИрд╕реЗ рдмрдХрд╡рд╛рд╕ рдирд┐рд░реНрдорд╛рдг рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
  • parse-fail/range_inclusive_dotdotdot.rs тАФ
    рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдкрджрд╛рд╡рдирдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕рд┐рдВрдЯреИрдХреНрд╕ a...b рдФрд░ ...b рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
  • run-pass/inc-range-pat.rs тАФ
    рдПрдХ рдкреИрдЯрд░реНрди рдореЗрдВ a..=b рдФрд░ a...b рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ, рджреЛрдиреЛрдВ рд╕реНрд╡реАрдХреГрдд рд╣реИрдВ рдФрд░ рд╕рдордХрдХреНрд╖ рд╣реИрдВред
  • compile-fail/range_traits-1.rs рдФрд░ compile-fail/range_traits-6.rs тАФ
    рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ RangeInclusive рдФрд░ RangeInclusiveTo PartialOrd (рдЕрдиреНрдп рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреА рддрд░рд╣) рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ RangeInclusive Copy рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреЙрдкреА рд▓рд╛рдЧреВ рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЗрдЯрд░реЗрдЯрд░ рд╣реИрдВ)ред
  • libcore/tests/ops.rs тАФ
    рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдорд┐рдд RangeInclusive рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрд░рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЕрдирд╕реБрд▓рдЭреЗ рд╕рд╡рд╛рд▓

  • рдлреЙрд░-рд▓реВрдк рдореЗрдВ a..=b рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ a..(b+1) рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рдкреНрд░рджрд░реНрд╢рди рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ next() рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдФрд░ рдХрдо рдЕрдиреБрдХреВрд▓рдХ-рдЕрдиреБрдХреВрд▓ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдгред рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ #45222 рдореЗрдВ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдлрд╝реЛрд░-рд▓реВрдк рдХреЗ рдмрдЬрд╛рдп рдЗрдЯрд░реЗрдЯрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЗрд╕реЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ #48012 рджреНрд╡рд╛рд░рд╛ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

    рдЕрдЧрд░ рд╣рдо рдЕрднреА рддрдХ рд░рд╕реНрдЯ-рд▓реИрдВрдЧ/рдЖрд░рдПрдлрд╕реАрдПрд╕#1980 рдореЗрдВ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╣рдореЗрдВ RangeInclusive рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЕрд╕реНрдерд┐рд░ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЕрдЧрд░ рд╣рдо рдЕрднреА рддрдХ рд░рд╕реНрдЯ-рд▓реИрдВрдЧ/рдЖрд░рдПрдлрд╕реАрдПрд╕#1980 рдореЗрдВ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рд░реЗрдВрдЬрдЗрдирдХреНрд▓реВрд╕рд┐рд╡ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЕрд╕реНрдерд┐рд░ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

+1
рдХреНрдпрд╛ рдХреБрдЫ рд╡рд┐рдзрд┐-рдЖрдзрд╛рд░рд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдмрдЬрд╛рдп рд╕реАрдзреЗ рд╢реНрд░реЗрдгреА рдлрд╝реАрд▓реНрдб рдХреЛ рдмреЗрдирдХрд╛рдм рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

@rfcbot fcp рдорд░реНрдЬ

@kennytm рдХреЗ рд╕рд╛рд░рд╛рдВрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореЗрд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ рдХрд┐ рд╣рдо рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рд╕рд┐рдВрдЯреИрдХреНрд╕ ( ..= ) рдХреЛ рд╕реНрдерд┐рд░ рдХрд░реЗрдВред

(рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдореБрдЭреЗ ..= рдХреЗ рдирд┐рдЪрд▓реЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рд╣рд▓реНрдХреЗ рдврдВрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ ..= рдХреЛ рд╕реАрдзреЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ Iterator рдлрд┐рд▓рд╣рд╛рд▓, рдореЗрдВ рдЗрд╕реЗ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред)

рдЯреАрдо рдХреЗ рд╕рджрд╕реНрдп @nikomatsakis рдиреЗ рдЗрд╕реЗ рдорд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛ рд╣реИред рдЕрдЧрд▓рд╛ рдЪрд░рдг рдмрд╛рдХреА рдЯреИрдЧ рдХреА рдЧрдИ рдЯреАрдореЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдореАрдХреНрд╖рд╛ рд╣реИ:

  • [x] @ рдмрд░реНрдирдЯрд╕реБрд╢реА
  • [x] @рдХрд┐рдореБрдВрдбреА
  • [ ] @KodrAus
  • [рдПрдХреНрд╕] @ рдПрд▓реЗрдХреНрд╕рдХреНрд░рд┐рдЪрдЯрди
  • [x] @ рдПрдЯреНрдпреВрд░реЙрди
  • [рдПрдХреНрд╕] @ рдХреНрд░реИрдорд░реНрдЯрдЬ
  • [x] @dtolnay
  • [x] @eddyb
  • [x] @nikomatsakis
  • [рдПрдХреНрд╕] @ рдПрдирдЖрд░рд╕реА
  • [x] @pkfelix
  • [x] @sfackler
  • [ ] @ рдирд╛рд╡реЛрдВ рдХреЗ рдмрд┐рдирд╛

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЛрдИ рдЪрд┐рдВрддрд╛ рд╕реВрдЪреАрдмрджреНрдз рдирд╣реАрдВ рд╣реИред

рдПрдХ рдмрд╛рд░ рдЬрдм рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдореАрдХреНрд╖рдХреЛрдВ рдиреЗ рд╕реНрд╡реАрдХреГрддрд┐ рджреЗ рджреА (рдФрд░ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ), рддреЛ рдпрд╣ рдЕрдкрдиреА рдЕрдВрддрд┐рдо рдЯрд┐рдкреНрдкрдгреА рдЕрд╡рдзрд┐ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рдорд┐рд▓рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрд┐рд╕реА рднреА рдмрд┐рдВрджреБ рдкрд░ рдирд╣реАрдВ рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдмреЛрд▓реЗрдВ!

рдЯреИрдЧ рдХреА рдЧрдИ рдЯреАрдо рдХреЗ рд╕рджрд╕реНрдп рдореБрдЭреЗ рдХреНрдпрд╛ рдЖрджреЗрд╢ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ ..= рдЗрд╕реЗ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдордп рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдЗрдЯрд░реЗрдЯрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпреЗ рд╕реНрдерд┐рд░ рд▓рдХреНрд╖рдг RangeInclusive<T> рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдирд╛рдЗрдЯрд▓реА рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ T s рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рд╣реИрдВ: Iterator , FusedIterator , ExactSizeIterator , Debug , Clone , Eq , PartialEq , Hash , TrustedLen ред

@SimonSapin рдореИрдВ рднреВрд▓ рдЧрдпрд╛, рдХреНрдпрд╛ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░ рджрд┐рдпрд╛ рд╣реИ? (рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдХреНрдпрд╛ рдпрд╣ рджреЗрдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ?) рдореИрдВ рдорд╛рди рд░рд╣рд╛ рдерд╛ рдХрд┐ рдпрд╣ рдирд╣реАрдВ рдерд╛ред

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдореИрдВ рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реЛрдЪрддрд╛ рд╣реВрдВ рдХрд┐ 1..2 рдФрд░ 1..=2 рд╕рднреА рд╕рдорд╛рди рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдпрд╣рд╛рдВ рдХреЛрдИ рднреА рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рддрд░реНрдХ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣рдореЗрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рд╢рдорди рдФрд░ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЕрдиреБрдХреВрд▓рдиред

рд╡рд┐рд╢реЗрд╖-рдорд╛рдорд▓рд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ end == MAX ? рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдЕрдирдиреНрдп рдХреЛрдб рдХреЗ рд╕рдорд╛рди рдХреЛрдб рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдХрд┐ рдЬреЛ рд╕реАрдзреЗ рд╕реАрдорд╛ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рдХреЛрдб рд╣реЛрддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ end != Max рд╢рд╛рдЦрд╛ рдХрднреА рднреА end рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧреА, рдЗрд╕реЗ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЗрдирд▓рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

@nikomatsakis рдирд╣реАрдВ, рдЗрд╕ рд╕рдордп

@SimonSapin

рдирд╣реАрдВ, рдЗрд╕ рд╕рдордп рд╕рдВрд░рдЪрдирд╛рдПрдВ рдЕрд╕реНрдерд┐рд░ рд╣реИрдВред рд▓реЗрдХрд┐рди @ kennytm рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд┐рд░ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред

рд╕рдордЭрд╛; рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ Iterator impl рдЕрднреА рдирд╣реАрдВ рддреЛ рдХрднреА рдирд╣реАрдВ рд╣рдЯрд╛рдирд╛ рд╣реЛрдЧрд╛ред =)

@SimonSapin рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдо рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕реНрдерд┐рд░ рдХрд┐рдП рдмрд┐рдирд╛ a..=b рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╣рдо рдЦреЗрддреЛрдВ рдХреЛ рдЕрд╕реНрдерд┐рд░ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдареАрдХ рд╣реИ, рдореЗрд░реЗ рдХрд╣рдиреЗ рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рдерд╛ рдХрд┐ рдЗрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рддреЗ рд╕рдордп рд╣рдореЗрдВ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╕реНрдерд┐рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд░реЗрдВрдЬ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдмрд╛рдЗрдХрд╢реЗрдб рдФрд░ рд╕реНрдерд┐рд░реАрдХрд░рдг рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реБрдЬрд╝рд╛рд╣! рдЯрд╛рдбрд╛:

рдПрдХ рдЯрд╛рдЗрдо рдорд╢реАрди рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рддрд░реНрдХ рджреВрдВрдЧрд╛ рдХрд┐ рд░реЗрдВрдЬ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА :Iterator , рдФрд░ рд╡реЗ рд╕рд┐рд░реНрдл :IntoIterator ред рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЕрднреА рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░реЗрдВрдЬ рдХреЗ рд╕рд╛рде рдирд┐рд░рдВрддрд░рддрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред рд╣рдо рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ Chain рдХреЗ рд╕рд╛рде "рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЖрдВрддрд░рд┐рдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрднреА-рдХрднреА

рдПрдХ рдФрд░ рдмрд╛рдд рдЬреЛ рдЕрдирд╕реБрд▓рдЭреА рдереА, рд╡рд╣ рднреА рдкреБрдирд░рд╛рд╡реГрддрд┐ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ: рдХреНрдпрд╛ рд╣рдо рдПрдХ рдмрд╛рд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд░реЗрдВрдЬрдЗрдиреНрдХреНрд▓реВрд╕рд┐рд╡ рдХреЗ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдЕрднреА рдпрд╣ 1..=0 рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ , рд▓реЗрдХрд┐рди рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рднреА рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдереА ред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдЗрд╕ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрдХреНрддрд┐ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реАрдорд╛ рдХреЛ рдХрд╛рдлреА рдмреЗрдХрд╛рд░ рдмрдирд╛ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдХрдо рд╕реЗ рдХрдо рдЗрд╕реЗ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред

рд╣рдо рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рдЪреЗрди рдХреЗ рд╕рд╛рде "рдХреБрдПрдВ рдореЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЖрдВрддрд░рд┐рдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрднреА-рдХрднреА рддреЗрдЬ рд╣реЛрддреА рд╣реИ" рдмрд╛рд▓реНрдЯреАред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╢реНрд░реЗрдгреА рд╕реЗ рдХрдо рдкреНрд░рджрд░реНрд╢рди рди рд╣реЛ; рд╣реЛрдиреЗ рдХрд╛ рдХреЛрдИ рдореМрд▓рд┐рдХ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред

рдЗрд╕рдХреЗ рд╣реЛрдиреЗ рдХрд╛ рдХреЛрдИ _рдореМрд▓рд┐рдХ_ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред

рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рди рдЗрдирд╡реЗрд░рд┐рдПрдВрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд░рд╛рдЬреНрдп рдХреЗ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд┐рдЯ рдХреЗ рд╕рд╛рде рдкрд┐рдЫрд▓реЗ рджреЛ рдлреЙрд░реНрдореВрд▓реЗрд╢рди рдореЗрдВ, рдРрд╕рд╛ рдХреБрдЫ рднреА рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдмрд┐рдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрдм рд╣рдо рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░ рд░рд╣реЗ рдереЗ (рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ 100..=0 рдЬреИрд╕реЗ рдЕрдХреНрд╖рд░ рдкрд░ рд╕реЗрдЯ рдирд╣реАрдВ рдерд╛), рдЗрд╕рд▓рд┐рдП рд▓реВрдк рдирд┐рдХрд╛рд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдЬрдЯрд┐рд▓ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ LLVM рдЕрдм рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЦрд░рд╛рдм рдкреНрд░рджрд░реНрд╢рди рдорд┐рд▓рддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рдХреНрд╕рд┐рдВрдЧ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╛ рддреЛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмрдбрд╝рд╛ рдмрдирд╛рдирд╛ рдФрд░ рдкрдм рдлрд╝реАрд▓реНрдб рдирд╣реАрдВ рд╣реЛрдирд╛, RangeInclusive: !Iterator , рдпрд╛ рдПрд▓рдПрд▓рд╡реАрдПрдо рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓реВрдк рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдмреЗрд╣рддрд░ рдмрдирд╛рдирд╛ред

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдореИрдВрдиреЗ RangeInclusive::next рд▓рд┐рдЦрдиреЗ рдХреЗ рдХреБрдЫ рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Option<Ordering> рдкрд░ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рдкрд┐рдЫрд▓реА рд╕реНрд╡рдпрдВ рдХреА рдкрд╕рдВрдж рдПрд▓рдПрд▓рд╡реАрдПрдо рдХреЛ рдмрд╣реБрдд рджреБрдЦреА рдХрд░ рд░рд╣реА рд╣реИ - рдмрд╕ рддреБрд▓рдирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рджреЗ рд░рд╣рд╛ рд╣реИ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ред рдкреАрдЖрд░ рдЕрдк рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ : https://github.com/rust-lang/rust/pull/48057

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

рдореИрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред

:рдШрдВрдЯреА: рдЙрдкрд░реЛрдХреНрдд рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдЕрдм рдЕрдкрдиреА рдЕрдВрддрд┐рдо рдЯрд┐рдкреНрдкрдгреА рдЕрд╡рдзрд┐ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ ред рдШрдВрдЯреА:

:рдШрдВрдЯреА: рдЙрдкрд░реЛрдХреНрдд рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдЕрдм рдЕрдкрдиреА рдЕрдВрддрд┐рдо рдЯрд┐рдкреНрдкрдгреА рдЕрд╡рдзрд┐ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ ред рдШрдВрдЯреА:

@rfcbot FCP рд░рджреНрдж рдХрд░реЗрдВ

@withboats рдФрд░ @CodrAus рдиреЗ рдЕрдкрдиреЗ рдмреЙрдХреНрд╕ рдЪреЗрдХ рдирд╣реАрдВ рдХрд┐рдП рд╣реИрдВред

@cramertj рдкреНрд░рд╕реНрддрд╛рд╡ рд░рджреНрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред

рдЯреАрдо рдХреЗ рд╕рджрд╕реНрдп @cramertj рдиреЗ рдЗрд╕реЗ рдорд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛ рд╣реИред рдЕрдЧрд▓рд╛ рдЪрд░рдг рдмрд╛рдХреА рдЯреИрдЧ рдХреА рдЧрдИ рдЯреАрдореЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдореАрдХреНрд╖рд╛ рд╣реИ:

  • [рдПрдХреНрд╕] @ рдПрд▓реЗрдХреНрд╕рдХреНрд░рд┐рдЪрдЯрди
  • [x] @ рдПрдЯреНрдпреВрд░реЙрди
  • [рдПрдХреНрд╕] @ рдХреНрд░реИрдорд░реНрдЯрдЬ
  • [x] @dtolnay
  • [x] @eddyb
  • [x] @nikomatsakis
  • [рдПрдХреНрд╕] @ рдПрдирдЖрд░рд╕реА
  • [x] @pkfelix
  • [x] @sfackler
  • [ ] @ рдирд╛рд╡реЛрдВ рдХреЗ рдмрд┐рдирд╛

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЛрдИ рдЪрд┐рдВрддрд╛ рд╕реВрдЪреАрдмрджреНрдз рдирд╣реАрдВ рд╣реИред

рдПрдХ рдмрд╛рд░ рдЬрдм рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдореАрдХреНрд╖рдХреЛрдВ рдиреЗ рд╕реНрд╡реАрдХреГрддрд┐ рджреЗ рджреА (рдФрд░ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ), рддреЛ рдпрд╣ рдЕрдкрдиреА рдЕрдВрддрд┐рдо рдЯрд┐рдкреНрдкрдгреА рдЕрд╡рдзрд┐ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рдорд┐рд▓рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрд┐рд╕реА рднреА рдмрд┐рдВрджреБ рдкрд░ рдирд╣реАрдВ рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдмреЛрд▓реЗрдВ!

рдЯреИрдЧ рдХреА рдЧрдИ рдЯреАрдо рдХреЗ рд╕рджрд╕реНрдп рдореБрдЭреЗ рдХреНрдпрд╛ рдЖрджреЗрд╢ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП

:рдШрдВрдЯреА: рдЙрдкрд░реЛрдХреНрдд рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдЕрдм рдЕрдкрдиреА рдЕрдВрддрд┐рдо рдЯрд┐рдкреНрдкрдгреА рдЕрд╡рдзрд┐ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ ред рдШрдВрдЯреА:

@rfcbot fcp рдЪрд┐рдВрддрд╛ рд░реЗрдВрдЬ рдкреИрдЯрд░реНрди рдореЗрдВ рдПрдХ рдСрдкрд░реЗрдЯрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдореБрджреНрджрд╛ рд╣реИ - https://github.com/rust-lang/rust/issues/48501ред

( @petrochenkov рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ <strong i="6">@rfcbot</strong> concern KEYWORD , рдмрд┐рдирд╛ fcp ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдЯреИрдЧ рдХреА рдЧрдИ рдЯреАрдо рд╕рджрд╕реНрдп рд╣реА рдЪрд┐рдВрддрд╛ рджрд░реНрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реИред)

рдЕрдВрддрд┐рдо рдЯрд┐рдкреНрдкрдгреА рдЕрд╡рдзрд┐ рдЕрдм рдкреВрд░реА рд╣реЛ рдЧрдИ рд╣реИред

рдпрджрд┐ #48501 рд╕реНрдерд┐рд░реАрдХрд░рдг рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ #48500 рдХреЗ рд╡рд┐рд▓рдп (рдФрд░ рд╕реНрдерд┐рд░) рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛? рдЙрд╣, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рддреЗрдЬрд╝ рд░рд╛рд╕реНрддрд╛ рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЖрдиреЗ рдореЗрдВ рдЗрддрдирд╛ рд╕рдордп рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрдм рдпрд╣ рдПрдХ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ рдЬрд╣рд╛рдБ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрд╕реНрдерд┐рд░ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реИрдВред

@рджреБрд░реНрдХрд╛
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕ рд╕реНрдерд┐рд░реАрдХрд░рдг рдХреЗ рд▓рд┐рдП https://github.com/rust-lang/rust/pull/48500 рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
... рдкреИрдЯрд░реНрди рдореЗрдВ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИ рдФрд░ рдЗрд╕рдХреА рдЕрднреА рднреА рдкреБрд░рд╛рдиреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреИрдЯрд░реНрди рдореЗрдВ &BEGIN ... END рд╣реИ (рдпрд╣ рдмрд╣реБрдд рджреБрд░реНрд▓рдн рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ) рдЗрд╕реЗ ..= рдирд╣реАрдВ рдмрджрд▓рдиреЗ рдХрд╛ рд╣рдореЗрд╢рд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реЛрддрд╛ рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо #48500 рдХреЛ рдмрд╣реБрдд рдЬрд▓реНрджреА рд╕реНрдерд┐рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореИрдВ рдЗрд╕реЗ "рдЗрдВрд╕реНрдЯрд╛-рд╕реНрдерд┐рд░" w/рд▓реИрдВрдбрд┐рдВрдЧ рдареАрдХ рдХрд░ рджреВрдВрдЧрд╛

inclusive range рдХреЛ рд╕реНрдерд┐рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ #47813 рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреЛ рдорд░реНрдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ 1.25 рд░рд┐рд▓реАрдЬ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВ? рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкреБрд▓ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдХреЛ 16 рдорд╛рд░реНрдЪ рдХреЛ рдорд░реНрдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

@mominul рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╡рд┐рд▓рдп рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ ..= 1.26 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ, рди рдХрд┐ 1.25 рд╕реЗред

рдЗрд╕ рддрд░рд╣ рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдХреЗрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдмреАрдЯрд╛ рдФрд░ рд░рд╛рдд рдореЗрдВ рдЙрдирдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@kennytm рдФрд░ @clarcharr рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рд▓рд┐рдП рд░рд╕реНрдЯ 1.26 рд░рд┐рд▓реАрдЬ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдмрд╛рдК рдирд╣реАрдВ рд╣реИ! :рдореБрд╕реНрдХреБрд░рд╛рдУ:

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

рд╕реНрдХреИрд▓рд╛ рдореЗрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ 1 to 4 рдЬреЛ [1, 2, 3, 4] , 1 until 4 рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ [1, 2, 3] рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ by рдХреАрд╡рд░реНрдб рдЬреЛ рдЪрд░рдг рдЖрдХрд╛рд░ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ : 1 to 10 by 2 = [1, 3, 5, 7, 9] ред

рдпрд╣ рджреЛрдиреЛрдВ рдЗрд░рд╛рджреЗ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ "рдСрдл-рдмрд╛рдп-рд╡рди" рддреНрд░реБрдЯрд┐ рд╕реЗ рдмрдЪрд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рд░ рдХреЛрдИ рдЗрддрдирд╛ рдЪрд┐рдВрддрд┐рдд рд▓рдЧрддрд╛ рд╣реИред

рджреА, рдпрд╣ рд╕рднреА рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЛ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рдЕрдЧрд░ рдореВрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд░рд╣рддрд╛ рд╣реИред

@ElectricCoffee рд░рд╕реНрдЯ рд░реЗрдВрдЬ рдореЗрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЗрд╡рд▓ рд╕рдВрдЦреНрдпрд╛рдПрдВ рдирд╣реАрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП to рдФрд░ until рдХреЛ рдХреАрд╡рд░реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рдкреЗрд╢ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдпрд╣ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдмреНрд░реЗрдХрд┐рдВрдЧ рдмрджрд▓рд╛рд╡ рд╣реЛрдЧрд╛ред

рдпрд╣ рд╕реНрдХрд╛рд▓рд╛ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд░рд╕реНрдЯ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рд╡рд┐рдХрд▓реНрдк рдХрд╛рдлреА рд╣рдж рддрдХ рднрд┐рдиреНрди рд╣реИрдВред

@ElectricCoffee рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдЗрд╕рдХреА рднрд╛рд╡рдирд╛ рдЪрд╛рд╣рд┐рдП, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдХреАрд╡рд░реНрдб рдЬреЛрдбрд╝рдирд╛ рд╡рд╛рдВрдЫрд┐рдд рд╣реИред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдмрд┐рд▓реНрдЯ-рдЗрди рд▓реИрдВрдЧреНрд╡реЗрдЬ рдХреАрд╡рд░реНрдбреНрд╕ рдХреЛ рдХрдо рд╕реЗ рдХрдо рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдлрдВрдХреНрд╢рди рдпрд╛ рд╡реЗрд░рд┐рдПрдмрд▓ рдирд╛рдореЛрдВ рд╕реЗ рдЯрдХрд░рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐ to рдФрд░ until std (рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ) рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рд╢рдмреНрдж рдирд╣реАрдВ рд╣реИрдВ, рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╡реЗ рдЕрдиреНрдп рдХреНрд░реЗрдЯреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрдж рд╣реИрдВ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ.

@daboross рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЙрдЪрд┐рдд рдмрд┐рдВрджреБ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдореИрдВрдиреЗ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, a .. b рдЕрд░реНрде a to b , рдЪрд╛рд╣реЗ a рдФрд░ b рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИрдВред

рдФрд░ рд╣рд╛рдБ, @timvisee рд╡реЗ рд╢рд╛рдпрдж рд╣реИрдВред

@ElectricCoffee рд▓реЗрдХрд┐рди рдЕрдЧрд░ to рдорддрд▓рдм ..= рдФрд░ until рдорддрд▓рдм .. рддреЛ рдЖрдкрдХреЛ a until b рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рди рдХрд┐ a to b a .. b a to b рдмрдЬрд╛рдп a .. b ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрди рд╢рдмреНрджреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдЕрдзрд┐рдХ" рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реИ .. рд▓реЗрдХрд┐рди until рд╣рд░ рдЬрдЧрд╣ рд▓рд┐рдЦрдирд╛ рдЕрдзрд┐рдХ рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд╣реЛрдЧрд╛ рдХрд┐ .. рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрд╕рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ ..= (рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╢рдмреНрджреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ .. рдХреЛ рдЫреЛрдЯрд╛ рд╢рдмреНрдж рд╕реМрдВрдкрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП)ред

рдФрд░ рдЖрдк рдЙрд╕ @Boscop рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЙрджрд╛рд╣рд░рдг рдерд╛ рдХрд┐ рд╢рдмреНрджреЛрдВ рдХреЛ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдореИрдВрдиреЗ to рд╡рд┐рд╢реЗрд╖ рдХреЗ рд▓рд┐рдП рдФрд░ рдХреБрдЫ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕рдорд╛рд╡реЗрд╢реА рдХреЗ рд▓рд┐рдП upto ред
рдпрд╣ рд╕рдм рдПрдХ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдерд╛ред

рд╕реНрдХрд╛рд▓рд╛ рдореЗрдВ, рд╕рдорд╛рд╡реЗрд╢реА рд╢реНрд░реЗрдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдирдиреНрдп рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЗрд╕реЗ рдЫреЛрдЯрд╛ рд╢рдмреНрдж рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

@timvisee рдПрдХ рдмрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ a.to(b) рдФрд░ a.until(b) , рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреАрд╡рд░реНрдб рдХреА рдЬрд░реВрд░рдд рд╣реИ (рдФрд░ рдпрд╣ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рднреА рдмрд╣реБрдд рдХреБрдЫ рдЕрдирд╛рдбрд╝реА рдирд╣реАрдВ рд╣реИ)ред

@ hyst329 рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ рднреА рдирд╣реАрдВ рдерд╛ред рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛, рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИ! рдЖрдк рд╡рд╛рдХрдИ рд╕рд╣реА рд╣реИрдВред

рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд░реНрддрдорд╛рди (/ рдирдпрд╛) рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рдкреВрд░реНрдг рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЬреЛрдбрд╝ рд╣реЛрдЧрд╛ред

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

рдЬрдм рддрдХ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ "рдП рд╕реЗ рдмреА" рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдХреНрдпрд╛ "рдП рд╕реЗ рдмреА" рдХрд╛ рдЕрд░реНрде рджрдХреНрд╖рд┐рдгреА рдУрдВрдЯрд╛рд░рд┐рдпреЛ, рдХрдирд╛рдбрд╛ рдореЗрдВ рджрд┐рди-рдкреНрд░рддрд┐рджрд┐рди рдХреЗ рднрд╛рд╖рдг рдореЗрдВ рдПрдХ рд╕рдорд╛рд╡реЗрд╢реА рдпрд╛ рдЕрдирдиреНрдп рд╢реНрд░реЗрдгреА рд╣реИ, рдФрд░ "рдЬрдм рддрдХ" рд╕рдВрдмрджреНрдз рд╣реИ рд╕рдордп рдХреЗ рд╕рд╛рде рджреГрдврд╝рддрд╛ рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐, рдЬрдм рдЗрд╕ рд╢рд┐рдерд┐рд▓ рдЕрд░реНрде рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ "рдШрдЯрдирд╛" рдЬреЛ "рдЬрдм рддрдХ" рдХреЗ рд╕рд╛рде рд╕рдВрдмрджреНрдз рд╣реИ "рдЬрдм рддрдХ рд╣рдо рдПрдХреНрд╕ рдирд╣реАрдВ рджреЗрдЦрддреЗ " рдпрд╛ "рдЬрдм рддрдХ рд╣рдо рдПрдХреНрд╕ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ"ред

@ hyst329 рдЙрдиреНрд╣реЗрдВ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрдиреЗ рд╕реЗ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЛ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рддрдХ рд╕реАрдорд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╣рд╛рд▓рд╛рдБрдХрд┐ред рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рджреВрд╕рд░рд╛ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд░реЗрдВрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдореЗрдВ рдПрдХ рдирдпрд╛ рдХреИрдЪ-рдСрд▓ рдлреАрдЪрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдЙрди рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдмрджрд▓рд╛рд╡ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрд┐рдирдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ to рдФрд░ until рддрд░реАрдХреЗ рд╣реИрдВред

рдореИрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдХреАрд╡рд░реНрдб рдХрд╛ рд╕реБрдЭрд╛рд╡ рдПрдХ рдЕрдкреНрд░реИрд▓ рдлреВрд▓ рдордЬрд╛рдХ рдерд╛ред
..= рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЧреБрд░реБ, 5 рдЕрдкреНрд░реИрд▓, 2018 рдХреЛ рджреЛрдкрд╣рд░ 1:53 рдмрдЬреЗ, рдбреЗрд╡рд┐рдб рд░реЙрд╕ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

@ hyst329 https://github.com/hyst329 рдЙрдиреНрд╣реЗрдВ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрдиреЗ рд╕реЗ рд╕реАрдорд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛
рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдПред рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдирд╣реАрдВ рд╣реЛрдЧрд╛
рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рд╢реНрд░реЗрдгреА рдФрд░ рджреВрд╕рд░рд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдореЗрдВ рдПрдХ рдирдпрд╛ рдХреИрдЪ-рдСрд▓ рдлреАрдЪрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
рд░реЗрдВрдЬ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдЙрди рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдмрджрд▓рд╛рд╡ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╣реИ
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрдХ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рддрдХред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/rust-lang/rust/issues/28237#issuecomment-379021814 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAC3nwBj-b985q1Ez0OHDEHkG6DWV_5nks5tlloZgaJpZM4F4LbW
.

рд╣рд╛рдБ, рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╣рдорд╛рд░реА 300+ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╣реИрдВ, рдФрд░ рдкрд╣рд▓реА рд╣реА рдЯрд┐рдкреНрдкрдгреА рдХрд╣рддреА рд╣реИ:

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

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрдВрдж рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдЕрдЧрд░ рдореИрдВ рдХрд┐рд╕реА рднреА рдкреИрд░ рдХреА рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдкрд░ рдХрджрдо рд░рдЦ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ!

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

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

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

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

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

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

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

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