Finally, as a whole, it is referring to the associated type specified by impl FromStr for F.
This could also be expressed as F::Err, but the longer form is generally used to prevent the possibility of ambiguity. That could arise if e.g. F implemented a second trait Derp that also has an associated type Err.
I'm not entirely sure what the syntax is officially called, but it seems to share some DNA with UFCS.
cause it is strange to see this at function declaration side instead of call expression, but seem this is it. Mb some kind of rust doc generation rule.
Because apparently rustdoc automatically emits fully-qualified syntax, presumably for increased clarity. (As you can observe, it also replaced the inline bound with a where-clause.)
If you spelled out the fully-qualified syntax in actual Rust source code, it would work too.
Never made an accent on that, now will take into account, reading docs
Now its 100% clear. Tnx for clarification and example(tbh I tried to made it myself before asking but seems mistyped somewhere cause got compiler claiming "as" misuse)