{ "id": "166407", "key": "TIMOB-24450", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": null, "resolutiondate": null, "created": "2017-03-03T01:43:56.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [], "versions": [ { "id": "18246", "name": "Hyperloop 2.0.1", "archived": false, "released": true, "releaseDate": "2017-03-17" } ], "issuelinks": [ { "id": "54500", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "164326", "key": "TIMOB-24186", "fields": { "summary": "Hyperloop: iOS - Allow Obj-C categories in generated metabase", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": null, "updated": "2018-02-28T19:55:55.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "13715", "name": "Hyperloop", "description": "Hyperloop project" }, { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "Objective-C supports lightweight generics. These can cause issues when used in conjunction with parameterized classes.\r\n\r\nSimplified example from Dropbox Objective-C SDK\r\n{code}\r\n@interface DBStoneValidators : NSObject\r\n+ (void (^_Nonnull)(NSArray * _Nonnull))arrayValidator:(NSNumber * _Nullable)minItems\r\n maxItems:(NSNumber * _Nullable)maxItems\r\n itemValidator:(void (^_Nullable)(T _Nonnull))itemValidator;\r\n@end\r\n{code}\r\n\r\nThis results in the following compiler error\r\n{code}\r\n[TRACE] /Users/jvennemann/Development/appc/googlevr/build/hyperloop/ios/js/objectivedropboxofficial/objectivedropboxofficial.m:67:20: error: no type or protocol named 'T'\r\n[TRACE] return [^(NSArray * arg0) {\r\n[TRACE] ^\r\n{code}", "attachment": [], "flagged": false, "summary": "Hyperloop: iOS - Invalid wrapper code generated for blocks within generic classes", "creator": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "environment": "appc-cli 6.1.0\r\nTiSDK 6.0.2.GA", "comment": { "comments": [], "maxResults": 0, "total": 0, "startAt": 0 } } }