On Thu, Nov 22, 2012 at 11:02 AM, Thomas Broyer <t.bro...@gmail.com> wrote:

> I wholeheartedly agree the client → shared renaming is something to
> put on the roadmap though.


Ok.


> > Also, regarding breaking changes, what exactly is the criteria for what
> is
> > acceptable?  You have an outstanding change that would break any code
> that
> > previously passed a Target to something accepting HasText, so I'm not
> sure I
> > know what level of breaking change is acceptable and what benefit is
> > required.
>
> Ha, good call.
> Ideally, I think the HasText interface would be pulled in a module of
> its own that I18N could inherit.


Actually, trivial interfaces like HasText should just be part of core
right?  It isn't like they pull in other dependencies, and breaking them
out into their own module seems excessive.

As a side note, I introduced another breaking change in JSONP,
> widening the return type of getCallback:
>
> https://gwt-review.googlesource.com/#/c/1230/2/user/src/com/google/gwt/jsonp/client/JsonpRequest.java
> Maybe the solution here would be to extract AsyncCallback in a module
> of its own too.
>

An approach we have taken elsewhere is to introduce a new method returning
Callback, and the existing one (which gets deprecated) casts to
AsyncCallback, letting a CCE happen if it isn't of the proper type.
 Granted, it clutters up the API, but it offers a way to keep from breaking
any existing code (which has to be passing an AsyncCallback) while letting
new code get written that is fully type-safe.

-- 
John A. Tamplin

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to