Skip to content
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

The default implementation of an interface must not over-specify generic paramaters #3279

kevmoo opened this issue May 29, 2012 · 3 comments
area-language Deprecated: New language issues should be filed at closed-not-planned type-enhancement


Copy link

kevmoo commented May 29, 2012

This is a generalization of the issue raised in - Underspecified Set<T> and Map<K,V> semantics

A silly example: it should be illegal for the default implementation of the Zoo interface (for managing any animal) be LionCage (where you can manage any animal you want, as long as it's a Lion).

Not only should issue #472 be fixed in the library, I'd argue the current implementation should be forbidden by the runtime.

Copy link

kasperl commented May 29, 2012

Added Area-Language, Triaged labels.

Copy link

gbracha commented May 29, 2012

Unless we extensively revisit default implementations, this won't change. The flexibility is valuable.

Set owner to @gbracha.
Removed Type-Defect label.
Added Type-Enhancement, WontFix labels.

Copy link
Member Author

kevmoo commented May 29, 2012

At this point, I realize enforcing such a rule in the tools might be impractical.

At a minimum, I would strongly argue for a best practice strongly discouraging the practice.

Flexibility is great, but it must be balanced with the principle of least surprise.

...I was VERY surprised. :-)

I love the quick replies to these issues. Blown away by the opennesses of the project. Cheers.

@kevmoo kevmoo added Type-Enhancement area-language Deprecated: New language issues should be filed at labels May 29, 2012
copybara-service bot pushed a commit that referenced this issue Jan 27, 2022
> git log --format="%C(auto) %h %s" dcb6aba..8f5ab7b Avoid raceconditions in `global activate`, `run` and `global run` (#3285) Support multiple packages in 'dart pub add' (#3283) Fix --verbose doc, and accept verboseness setting from embedder (#3279) Avoid race condition for hosted source on package extraction (#3277) Error on acquireDependencies when the root pubspec has an unknown sdk in the environment. (#3271) folder/* should not ignore the folder itself, only the contents (#3267) Normalize file names for tar.gz (#3268) Fix repository specification: isRetracted -> retracted (#3249) Write log trace to $PUB_CACHE/log/pub_log.txt when crashing (#3240)


Change-Id: I54f1fde0f50ca19ca036bb1e6d9b166455031183
Reviewed-by: Jonas Jensen <>
Commit-Queue: Sigurd Meldgaard <>
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
area-language Deprecated: New language issues should be filed at closed-not-planned type-enhancement
None yet

No branches or pull requests

3 participants