Go to file
CasualX 69de2351f2 Fix a few nits with the replace idiom.
Change the match guard to be part of the pattern.

Change `"".to_string()` to a more idiomatic `String::new()` to create a new `String` without memory allocation.
2016-10-09 15:35:57 +02:00
anti_patterns Deref polymorphism anti-pattern 2015-11-01 21:31:24 -05:00
idioms Fix a few nits with the replace idiom. 2016-10-09 15:35:57 +02:00
patterns Add the badly-named fold pattern 2016-01-06 10:47:07 +13:00
intro.md Initial commit 2015-08-31 10:06:10 +12:00
LICENSE Initial commit 2015-08-31 10:06:10 +12:00
README.md Adressed comments 2016-10-08 19:14:05 +02:00
template.md Added a few idioms and patterns - some are still WIP 2015-10-23 09:53:16 +13:00

Rust Design Patterns

An open source repository of design patterns and idioms in the Rust programming language.

Contents

Introduction

Idioms

Design patterns

Anti-patterns

  • TODO thread + catch_panic for exceptions
  • TODO Clone to satisfy the borrow checker
  • Deref polymorphism
  • TODO Matching all fields of a struct (back compat)
  • TODO wildcard matches
  • TODO taking an enum rather than having multiple functions
  • TODO unwrap()ing every Result instead of forwarding it

Contributing

Contributions are very welcome!

You should start with the template. Copy it into the appropriate directory, edit it, and submit a PR. You might not want every section, and you might want to add extra sections.

We suggest leaving a comment on the issue tracker so that other people don't start working on the same topic.

Correction and elaboration PRs are very welcome.