{"action":"created","issue":{"url":"https://api.github.com/repos/google/guava/issues/1968","labels_url":"https://api.github.com/repos/google/guava/issues/1968/labels{/name}","comments_url":"https://api.github.com/repos/google/guava/issues/1968/comments","events_url":"https://api.github.com/repos/google/guava/issues/1968/events","html_url":"https://github.com/google/guava/issues/1968","id":57094359,"number":1968,"title":"Functions.forMap should accept Map<? extends K, ? extends V>, like Collections.unmodifiableMap","user":{"login":"fleaflicker","id":682081,"avatar_url":"https://avatars.githubusercontent.com/u/682081?v=3","gravatar_id":"","url":"https://api.github.com/users/fleaflicker","html_url":"https://github.com/fleaflicker","followers_url":"https://api.github.com/users/fleaflicker/followers","following_url":"https://api.github.com/users/fleaflicker/following{/other_user}","gists_url":"https://api.github.com/users/fleaflicker/gists{/gist_id}","starred_url":"https://api.github.com/users/fleaflicker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fleaflicker/subscriptions","organizations_url":"https://api.github.com/users/fleaflicker/orgs","repos_url":"https://api.github.com/users/fleaflicker/repos","events_url":"https://api.github.com/users/fleaflicker/events{/privacy}","received_events_url":"https://api.github.com/users/fleaflicker/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/google/guava/labels/package:%20base","name":"package: base","color":"207de5"},{"url":"https://api.github.com/repos/google/guava/labels/status:%20won't%20fix","name":"status: won't fix","color":"777777"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-02-09T21:42:48Z","updated_at":"2015-02-09T22:33:28Z","closed_at":"2015-02-09T22:18:24Z","body":"The function returned by Functions.forMap is like a limited read-only map. So it should be able to accept more inputs.\r\n\r\nThis is similar to `java.util.Collections.unmodifiableMap`, which has the following signature:\r\n\r\n```public static <K,V> Map<K,V> unmodifiableMap(Map<? extends K, ? extends V> m)```\r\n\r\nFor example, the following is only possible by wrapping the input map:\r\n\r\n```java\r\nMap<Integer,String> map = ...;\r\nFunction<Number,CharSequence> f = \r\n    Functions.forMap(Collections.<Number,CharSequence>unmodifiableMap(map));\r\n```"},"comment":{"url":"https://api.github.com/repos/google/guava/issues/comments/73605249","html_url":"https://github.com/google/guava/issues/1968#issuecomment-73605249","issue_url":"https://api.github.com/repos/google/guava/issues/1968","id":73605249,"user":{"login":"fleaflicker","id":682081,"avatar_url":"https://avatars.githubusercontent.com/u/682081?v=3","gravatar_id":"","url":"https://api.github.com/users/fleaflicker","html_url":"https://github.com/fleaflicker","followers_url":"https://api.github.com/users/fleaflicker/followers","following_url":"https://api.github.com/users/fleaflicker/following{/other_user}","gists_url":"https://api.github.com/users/fleaflicker/gists{/gist_id}","starred_url":"https://api.github.com/users/fleaflicker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fleaflicker/subscriptions","organizations_url":"https://api.github.com/users/fleaflicker/orgs","repos_url":"https://api.github.com/users/fleaflicker/repos","events_url":"https://api.github.com/users/fleaflicker/events{/privacy}","received_events_url":"https://api.github.com/users/fleaflicker/received_events","type":"User","site_admin":false},"created_at":"2015-02-09T22:33:28Z","updated_at":"2015-02-09T22:33:28Z","body":"Fair enough, thanks for the reply. "}}