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
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
Unknown Object (File)
Mon, Nov 11, 02:00
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 Passed
Unit
No Test Coverage
Branch
map_map_err (branched from master)
Build Status
Buildable 3038
Build 3286: arc lint + arc unit

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.