Page MenuHomeDevCentral

Map result values instead to use a match block
ClosedPublic

Authored by dereckson on Oct 21 2018, 21:47.
Tags
None
Referenced Files
F10154561: D1950.diff
Fri, Jun 20, 22:09
Unknown Object (File)
Tue, Jun 17, 14:50
Unknown Object (File)
Tue, Jun 17, 09:10
Unknown Object (File)
Thu, Jun 12, 05:55
Unknown Object (File)
Sun, Jun 8, 16:11
Unknown Object (File)
Fri, May 23, 20:42
Unknown Object (File)
Fri, May 23, 16:26
Unknown Object (File)
Fri, May 23, 14:54
Subscribers
None

Details

Summary

To map a result, ie a success T or an error E, into another result,
ie a success U or an error F means the code focus on T -> U, without
regard it's an Ok, and E -> F, without regard it's an Err value.

As such, it's seems more natural to express the idea with
methods manipulating tbe values than to recreate the enum container too.

The Serde library uses those map and map_err methods.

Test Plan
#[get("/player/<name>")]
pub fn get_player(connection: DatabaseConnection, name: String) -> ApiJsonResponse<Player> {
    players
        .filter(username.eq(&name))
        .first::<Player>(&*connection)
        .into_json_response()
}

Diff Detail

Repository
rLF Limiting Factor
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

dereckson created this revision.
This revision is now accepted and ready to land.Oct 21 2018, 21:50
This revision was automatically updated to reflect the committed changes.