Skip to content

Commit

Permalink
RFC: deriving -> derive
Browse files Browse the repository at this point in the history
  • Loading branch information
bstrie committed Dec 19, 2014
1 parent 951ff1a commit f57d108
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions text/0000-deriving2derive.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
- Start Date: 2014-19-19
- RFC PR: (leave this empty)
- Rust Issue: (leave this empty)

# Summary

Rename the `#[deriving(Foo)]` syntax extension to `#[derive(Foo)]`.

# Motivation

Unlike our other verb-based attribute names, "deriving" stands alone as a present participle. By convention our attributes prefer "warn" rather than "warning", "inline" rather than "inlining", "test" rather than "testing", and so on. We also have a trend against present participles in general, such as with `Encoding` being changed to `Encode`.

It's also shorter to type, which is very important in a world without implicit Copy implementations.

Finally, if I may be subjective, `derive(Thing1, Thing2)` simply reads better than `deriving(Thing1, Thing2)`.

# Detailed design

Rename the `deriving` attribute to `derive`. This should be a very simple find-and-replace.

# Drawbacks

Participles the world over will lament the loss of their only foothold in this promising young language.

0 comments on commit f57d108

Please sign in to comment.