-
-
Notifications
You must be signed in to change notification settings - Fork 285
Docs for interpreting "Unsatisfiable requirement" #1798
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Maybe something like that, or just assume errors are intentional. For For this example you can maybe use a hidden try-catch, and end with something like |
|
Thanks @fredrikekre, that was super-helpful. I've adopted a slightly more complicated example that is hopefully more typical of the most common kind of errors, and added a section on how one goes about resolving these errors. |
|
Preview: https://julialang.github.io/Pkg.jl/previews/PR1798/ Once this finishes building, in particular click "Managing packages" -> "Interpreting and resolving version conflicts" as well as "Compatibility" -> "Fixing conflicts" (these two sections link to one another). |
e5cdb14 to
33d550c
Compare
|
(I shouldn't have done a force push after @fredrikekre's approval, but all I did was eliminate a single line break.) |
docs/src/compatibility.md
Outdated
| However, there is one major concern you need to address first: perhaps there was an incompatible change | ||
| in `v0.2` of `D` that breaks `B`. | ||
| Before proceeding further, you should update all packages and then run `B`'s tests; | ||
| if they pass, you can assume that `B` didn't need any further updating to accomodate `v0.2` of `D`, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this mention the case where you might still be stuck at 0.1 due to some other package also holding D back, thereby not knowing if 0.2 is compatible with B or not?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good idea, see if you think this is OK.
A lot of people seem to struggle with understanding what the error message means and how to fix it. I figured it was time to have some docs about this.
The approach I've taken here is one step shy of a real doctest: I am trying to generate the actual error message, though its form is untested due to the difficulty of setup and the fact that the means to generate the error is unrelated to how this would be triggered in ordinary usage. (Documenter doesn't seem to let you test the output without showing the input, and here I don't want to show the input.) I then repeat the message via copy/paste in chunked form as I go through the pieces stepwise and help interpret what they mean. If someone changes the presentation of the message without updating the documentation, these two will be desynchronized, but at least readers might be able to detect that there is something wrong and so we should hear about it fairly quickly.
This currently doesn't do the right thing when building: I getwhich is an error message that I want to appear in the documentation, but instead it gets shown here and instead the doc page containswhich is definitely not what I was trying to achieve. Does Documenter need@example_throws?