Skip to content


Subversion checkout URL

You can clone with
Download ZIP


Interface incompatibility in BiVariableMap on Java 8 #858

headius opened this Issue · 3 comments

2 participants


BiVariableMap implements Map and an additional method called remove:

public V remove(Object receiver, Object key) {

However, Java 8 has added an additional [remove signature in Map](, java.lang.Object))

I'm not sure what all this method is being used for. It has a couple internal uses, but nothing in existing tests, so perhaps it can be renamed for compatibility.

I believe this will not cause existing builds to be broken on Java 8, since anyone compiling against this particular method will have the proper signature embedded in their bytecode, and JVM bytecode can dispatch to methods of the same name and parameter types with different return values.

Copying @yokolet and @bnagy.


@headius thanks for filing the problem. Test for embedding API is not enough. As far as I remember, the method is for clean-up purpose and users may use it.

But, anyway, I should look at and do something on this method.

@headius headius referenced this issue from a commit
@headius headius Temporarily rename problematic remove method to removeFrom.
Final decision about how to fix this still remains with @yokolet

See #858.

@yokolet PING! :-)

If the renamed I did is acceptable to you, we can go forward with it.


(got the ping)

Yes. The renamed method should work. Go forward!

@headius headius closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.