Yes, definitely. The only way that *wouldn't* break a reverse dependencies
code is if they'd only use the function with number-literals. Which is
sufficiently unusual to be put very firmly on the "breaking change" side of
things.

FWIW, I've written
<https://blog.merovius.de/2015/07/29/backwards-compatibility-in-go.html>
about backwards compatible API changes of Go code in the past; the gist is
"if you're sufficiently nitpicky, no API change is ever non-breaking". I
don't think this is a practical viewpoint. But I also don't see how this
question can *at all* be answered in a pragmatic and correct way. Even if
we'd agree that certain changes are okay and others aren't, that will
necessarily put restrictions on how we can or can't use the language in an
intolerable way. For example, any definition of "breaking change" should
probably exclude adding fields to a struct, but the only way to guarantee
that you are not broken by an added field is to never embed structs, which,
of course, isn't really sensible either.

So, in the end, what it boils down to (IMHO) is: Go by your gut and accept,
that you'll be wrong every once in a while. Semantic versions are not a
technically enforced contract, but just a handwavy human promise. As a
maintainer, be conscious of what kinds of usages you do and do not care
about to break and as a user test your stuff and check that your build
still works with pre-release versions every once in a while.

On Fri, Mar 9, 2018 at 2:56 PM, Maxim Ivanov <ivanov.ma...@gmail.com> wrote:

> In  the light of recent vgo discussion, I was thinking about what would be
> major change or and what wouldn't.
>
> Wanted to ask  Goers, in the new better post vgo world, if you changed
> exported function argument from *int* to *float*, would you  release your
> package as v2?
>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to