Feature Request: rustdoc inline compilation errors for `rust,compile_fail`-style blocks

I sometimes want to include compilation-failing code examples in API documentation to motivate features to a given approach. Using a rust,compile_fail code block header gets met half of what I want: the code is displayed with an indicator to the reader that it fails to compile.

The missing piece is that it does not include the error message. In these cases where I want to motivate solutions to the given code, I often want the reader to see the compiler error, because rustc error messages are very informative!

So I often end up copying the failing example into the main code, running cargo build to generate an error, then cutting and pasting that error into a text code block in the documentation.

If this could be automated, it would help with this pedagogical technique.

One challenge is that error cases and descriptions may be sensitive to rustc versions.

Does anyone else use this kind of technique?

The latest example that prompted this post is that I have a trait with method names colliding with Iterator and also a blanket impl of my trait for any Iterator type. So in some cases this causes method resolution ambiguity. The universal solution is to use method name disambiguation, but in my project I'm providing a convenient short-hand to resolve these specific cases.

So I want an example of an ambiguous call site, and I want to display the error to the doc reader, which explains the ambiguity and the two distinct trait methods it could refer to.


LGTM, maybe such examples can be enabled to run as normal examples and then we can get the error outputs.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.