summaryrefslogtreecommitdiffstats
path: root/src/tools/rustfmt/tests/target/issue_5399.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/rustfmt/tests/target/issue_5399.rs')
-rw-r--r--src/tools/rustfmt/tests/target/issue_5399.rs48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/tools/rustfmt/tests/target/issue_5399.rs b/src/tools/rustfmt/tests/target/issue_5399.rs
new file mode 100644
index 000000000..17364c389
--- /dev/null
+++ b/src/tools/rustfmt/tests/target/issue_5399.rs
@@ -0,0 +1,48 @@
+// rustfmt-max_width: 140
+
+impl NotificationRepository {
+ fn set_status_changed(
+ &self,
+ repo_tx_conn: &RepoTxConn,
+ rid: &RoutableId,
+ changed_at: NaiveDateTime,
+ ) -> NukeResult<Option<NotificationStatus>> {
+ repo_tx_conn.run(move |conn| {
+ let res = diesel::update(client_notification::table)
+ .filter(
+ client_notification::routable_id.eq(DieselRoutableId(rid.clone())).and(
+ client_notification::changed_at
+ .lt(changed_at)
+ .or(client_notification::changed_at.is_null()),
+ ),
+ )
+ .set(client_notification::changed_at.eq(changed_at))
+ .returning((
+ client_notification::id,
+ client_notification::changed_at,
+ client_notification::polled_at,
+ client_notification::notified_at,
+ ))
+ .get_result::<(Uuid, Option<NaiveDateTime>, Option<NaiveDateTime>, Option<NaiveDateTime>)>(conn)
+ .optional()?;
+
+ match res {
+ Some(row) => {
+ let client_id = client_contract::table
+ .inner_join(client_notification::table)
+ .filter(client_notification::id.eq(row.0))
+ .select(client_contract::client_id)
+ .get_result::<Uuid>(conn)?;
+
+ Ok(Some(NotificationStatus {
+ client_id: client_id.into(),
+ changed_at: row.1,
+ polled_at: row.2,
+ notified_at: row.3,
+ }))
+ }
+ None => Ok(None),
+ }
+ })
+ }
+}