Description
Because we sometimes feed small text fragments into extract_messages
, we can end up in a situation where a reference link (such as [foo][1]
) is parsed in isolation without the corresponding link definition (the [1]: http://example/
part).
The result is an unescaped link. When parsing, pulldown-cmark
will call the broken_link_callback
(if any), but this callback does not have a way to pass-through the reference (1
above), it must return a proper URL (http://example/
above).
There are already problems with translating reference links: the translation can easily go out of sync with the link definitions (this is documented in the Comprehensive Rust style guide).
For this reason, we will probably end up forbidding using reference links when translating.