• anlumo@feddit.de
    link
    fedilink
    English
    arrow-up
    18
    arrow-down
    2
    ·
    11 months ago

    Oh, inspect has finally arrived! That will help a ton with debug logging.

      • anlumo@feddit.de
        link
        fedilink
        English
        arrow-up
        14
        arrow-down
        2
        ·
        11 months ago
        let bar: Result<T, E> = ...;
        let foo = bar.inspect(|value| log::debug("{}", value));
        

        is equivalent to

        let bar: Result<T, E> = ...;
        let foo = bar.map(|value| {
            log::debug("{}", value);
            value
        });
        
      • GissaMittJobb@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        11 months ago

        Looks vaguely like Stream::peek from Java, I think? There’s an equivalent method in Iterator::inspect.

      • owsei@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        11 months ago

        it’s just a way to use map with a reference instead of the value, by what I understood.

        could be usefull for logging values in a Result so you can see it. However I think you can already do that by just mapping and returning the variable.