Using __unsafe_unretained for getting invocation arguments.

I'm not a 100% sure on this one. Since one of the tests failed for osx, I took a look and found that we were using -[NSInvocation getArgument:atIndex:] with a __strong__ argument pointer. We are under arc and what I have experienced so far is that id pointers are by default autoreleased. Since NSInvocation is expecting a void * for the argument, I would bet that this introduces some memory corruption which causes the test to fail. Anyway, I'm storing the argument in an __unsafe_unretained variable now and assigning it later to the strong variable which seems to fix the issue. Does anyone have more knowledge regarding this, probably @0xced?