Skip to content

Commit

Permalink
Rewrite #[derive(Identifiable)] in derives2
Browse files Browse the repository at this point in the history
The actual derive itself is pretty straightforward (this isn't exactly a
complex trait). Most of the tests were brought over from the macro
tests. I dropped a few that were obviously redundant (that were testing
our struct parser not the derive). I've added a few for things that
weren't working before (and were actually broken) like tuple structs.

This does contain what is technically a breaking change in behavior. The
old implementation would look for the PK fields by field name rather
than column name. I consider this a bug. Everything else links by column
name, and if we actually went by field name, tuple structs couldn't
work.

I didn't add explicit UI tests for the table not being in scope, or for
bad syntax, as those are redundant with AsChangeset. We did have to do a
little bit of dancing to work around
rust-lang/rust#47941 when the PK names cause
an error.
  • Loading branch information
sgrif committed Feb 2, 2018
1 parent 0b0b1e8 commit b76df56
Show file tree
Hide file tree
Showing 16 changed files with 318 additions and 414 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ for Rust libraries in [RFC #1105](https://github.com/rust-lang/rfcs/blob/master/
old and new timestamp formats. (The migrations were always run in the correct
order, this only affects the display logic of `migration list`)

* `#[derive(Identifiable)]` now correctly associates `#[primary_key]` with the
column name, not field name.

## [1.1.1] - 2018-01-16

### Added
Expand Down
365 changes: 0 additions & 365 deletions diesel/src/macros/identifiable.rs

This file was deleted.

2 changes: 0 additions & 2 deletions diesel/src/macros/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1143,8 +1143,6 @@ mod static_cond;
#[macro_use]
mod ops;

#[macro_use]
mod identifiable;
#[macro_use]
mod insertable;

Expand Down

This file was deleted.

Loading

0 comments on commit b76df56

Please sign in to comment.