-
Notifications
You must be signed in to change notification settings - Fork 63
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
Optional argument #53
Conversation
test_optflagopt did not actually test optflagopt.
This changes the parsing of long options that have optional arguments. Now the `=` is required; that is, `--arg=something` and `--arg something` are parsed differently. Fixes rust-lang#49
Thanks! |
That's a breaking change and should have been bumped as such. |
*Sigh* rust-lang/getopts#53 (comment) Upstreamed from servo/servo#21356 [ci skip]
Identifying logically breaking changes like this is pretty tricky. Just looking at the diff here I can't exactly pinpoint what breakage occurs, but I suspect just about any change to existing behaviour is potentially going to break someone. @nox do you have any more light to shed or suggestions on how we could manage behavioural changes better? |
I didn’t look at the diff, but the change of behavior is explained in a commit message:
This means that a script that passed In servo/servo#21356, this manifested as Hindsight makes saying this much easier to say of course, but I think it should have been readily apparent from the change description that such breakage was possible. It would have been good to discuss that potential in this PR before landing it. Even a single sentence along the lines of “I think breakage will be minimal enough to be acceptable because X and Y” would have shown that this was considered. Although in this case (again, with hindsight) it would have been preferable to conclude that this change should not land without a semver-incompatible version number increment, 0.3.0. (However 0.2.15 has been out long enough that likely doesn’t help to do that increment now.) |
Thanks @SimonSapin, that's a fair assessment. Funnily enough the commit message is the place I didn't look... We should try to be more mindful of capturing the rationale behind, and weighing up the factors leading to, the landing of any changes. |
*Sigh* rust-lang/getopts#53 (comment) Upstreamed from servo/servo#21356 [ci skip]
No description provided.