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
F3794505: D1950.diff
Wed, Nov 27, 23:34
F3792735: D1950.id4932.diff
Wed, Nov 27, 18:06
Unknown Object (File)
Mon, Nov 18, 02:54
Unknown Object (File)
Mon, Nov 18, 02:21
Unknown Object (File)
Wed, Nov 13, 06:52
Unknown Object (File)
Wed, Nov 13, 06:52
Unknown Object (File)
Wed, Nov 13, 06:27
Unknown Object (File)
Wed, Nov 13, 06:06
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.