OK, I found the problem. Well, Marek from Xamarin did. I just did the
RestSharp pull request :)

https://github.com/restsharp/RestSharp/pull/295

Basically, on line 201 of JsonDeserializer, change

var listType = type.GetInterfaces().First(x =>
x.GetGenericTypeDefinition() == typeof(IList<>));
to

var listType = type.GetInterfaces().First(x => x.IsGenericType &&
x.GetGenericTypeDefinition() == typeof(IList<>));


On Sun, Jul 8, 2012 at 2:12 PM, Nic Wise <[email protected]> wrote:
> It appears to be a result of a recent change in RestSharp
>
> https://github.com/restsharp/RestSharp/issues/293
>
> easy fix. Maybe.
>
> On Sun, Jul 8, 2012 at 12:26 PM, Nic Wise <[email protected]> wrote:
>> looks like its an issue in 5.2.12 as well. I've updated the bug.
>>
>> I might look at the RestSharp code, and go back to using NewtonSoft's
>> JSON parser... never had an issue with that one
>>
>> On Sat, Jul 7, 2012 at 7:35 PM, Nic Wise <[email protected]> wrote:
>>> I've bugged it:
>>>
>>> https://bugzilla.xamarin.com/show_bug.cgi?id=6031
>>>
>>> Feel free to add to that.
>>>
>>> On Sat, Jul 7, 2012 at 6:27 PM, Nic Wise <[email protected]> wrote:
>>>> yeah, me too. I just pulled in 103.1, which I think is causing issues.
>>>> I'll try the #define thing.
>>>>
>>>> In RestClient.Sync.cs I had to remove the virtual from here too
>>>>
>>>> public IRestResponse<T> Execute<T>(IRestRequest request) where T : new()
>>>>                 {
>>>>                         var raw = Execute(request);
>>>>                         return Deserialize<T>(request, raw);
>>>>                 }
>>>>
>>>>
>>>>
>>>> On Sat, Jul 7, 2012 at 6:17 PM, Mikkel Lønow <[email protected]> wrote:
>>>>> Hi,
>>>>>
>>>>> I'm having the same issue with RestSharp (but very inconsistent), 
>>>>> although,
>>>>> switching to SimpleJson (included in the project) with the #define
>>>>> SIMPLE_JSON_DATACONTRACT uncommented (I'm using that anyway so I won't 
>>>>> loose
>>>>> my data to linker), somewhat solved my issue.
>>>>>
>>>>> I'm still seeing some weird stuff (like "System.ArgumentException: failed 
>>>>> to
>>>>> convert parameters at System.Reflection.MonoMethod.Invoke..." on both
>>>>> Simulator and Device), but I figured it could be my code being 
>>>>> incompatible,
>>>>> as I just updated RestSharp, which I haven't done in ages.
>>>>>
>>>>> Mikkel
>>>>>
>>>>> On Sat, Jul 7, 2012 at 6:58 PM, Nic Wise <[email protected]> wrote:
>>>>>>
>>>>>> And to fix my own issue (kinda)
>>>>>>
>>>>>> This may be:
>>>>>>
>>>>>> -aot "nimt-trampolines=512,"
>>>>>>
>>>>>> NOTE the comma.
>>>>>>
>>>>>> OR: I had a method, in a library somewhere, which was marked virtual
>>>>>> AND had a generic, which isn't allowed. I've removed the virtual (it's
>>>>>> in RestSharp, FWIW)
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Sat, Jul 7, 2012 at 3:46 PM, Nic Wise <[email protected]> wrote:
>>>>>> > This one is confusing the hell out of me.
>>>>>> >
>>>>>> > Works in the Simulator, but not on the device, so I assume it's a
>>>>>> > linking or AOT problem
>>>>>> >
>>>>>> > My mtouch params are: -aot "nimt-trampolines=1024" --aot=full
>>>>>> > and I've got "link sdk assemblies" for linking. I added the --aot=full
>>>>>> > thing recently, or I get a different issue (see my other email)
>>>>>> >
>>>>>> > Exception is:
>>>>>> >
>>>>>> > Operation is not valid due to the current state of the object
>>>>>> >
>>>>>> > at System.MonoType.GetGenericTypeDefinition () [0x0000d] in
>>>>>> > /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/MonoType.cs:673
>>>>>> > at RestSharp.Deserializers.JsonDeserializer.<BuildList>m__31
>>>>>> > (System.Type x) [0x00000] in
>>>>>> >
>>>>>> > /Users/nic/code/git/GitHub/RestSharp/RestSharp/Deserializers/JsonDeserializer.cs:201
>>>>>> > at System.Linq.Enumerable.First[Type] (IEnumerable`1 source,
>>>>>> > System.Func`2 predicate, Fallback fallback) [0x00013] in
>>>>>> >
>>>>>> > /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System.Linq/Enumerable.cs:812
>>>>>> > at System.Linq.Enumerable.First[Type] (IEnumerable`1 source,
>>>>>> > System.Func`2 predicate) [0x00007] in
>>>>>> >
>>>>>> > /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System.Linq/Enumerable.cs:843
>>>>>> > at RestSharp.Deserializers.JsonDeserializer.BuildList (System.Type
>>>>>> > type, System.Object parent) [0x0000c] in
>>>>>> >
>>>>>> > /Users/nic/code/git/GitHub/RestSharp/RestSharp/Deserializers/JsonDeserializer.cs:201
>>>>>> > at RestSharp.Deserializers.JsonDeserializer.Map (System.Object target,
>>>>>> > IDictionary`2 data) [0x0031d] in
>>>>>> >
>>>>>> > /Users/nic/code/git/GitHub/RestSharp/RestSharp/Deserializers/JsonDeserializer.cs:152
>>>>>> > at RestSharp.Deserializers.JsonDeserializer.Deserialize[MetaData]
>>>>>> > (IRestResponse response) [0x000bf] in
>>>>>> >
>>>>>> > /Users/nic/code/git/GitHub/RestSharp/RestSharp/Deserializers/JsonDeserializer.cs:50
>>>>>> > at RestSharp.RestClient.Deserialize[MetaData] (IRestRequest request,
>>>>>> > IRestResponse raw) [0x0004a] in
>>>>>> > /Users/nic/code/git/GitHub/RestSharp/RestSharp/RestClient.cs:505
>>>>>> >
>>>>>> >
>>>>>> > --
>>>>>> > Nic Wise
>>>>>> > t.  +44 7788 592 806 | @fastchicken | 
>>>>>> > http://www.linkedin.com/in/nicwise
>>>>>> > b. http://www.fastchicken.co.nz/
>>>>>> >
>>>>>> > Earnest: Self-employed? Track your business expenses and income.
>>>>>> > http://earnestapp.com
>>>>>> > Nearest Bus: find when the next bus is coming to your stop.
>>>>>> > http://goo.gl/Vcz1p
>>>>>> > mobileAgent (for FreeAgent): get your accounts in your pocket.
>>>>>> > http://goo.gl/IuBU
>>>>>> > Trip Wallet: Keep track of your budget on the go: http://goo.gl/ePhKa
>>>>>> > London Bike App: Find the nearest Boris Bike, and get riding!
>>>>>> > http://goo.gl/Icp2
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Nic Wise
>>>>>> t.  +44 7788 592 806 | @fastchicken | http://www.linkedin.com/in/nicwise
>>>>>> b. http://www.fastchicken.co.nz/
>>>>>>
>>>>>> Earnest: Self-employed? Track your business expenses and income.
>>>>>> http://earnestapp.com
>>>>>> Nearest Bus: find when the next bus is coming to your stop.
>>>>>> http://goo.gl/Vcz1p
>>>>>> mobileAgent (for FreeAgent): get your accounts in your pocket.
>>>>>> http://goo.gl/IuBU
>>>>>> Trip Wallet: Keep track of your budget on the go: http://goo.gl/ePhKa
>>>>>> London Bike App: Find the nearest Boris Bike, and get riding!
>>>>>> http://goo.gl/Icp2
>>>>>> _______________________________________________
>>>>>> MonoTouch mailing list
>>>>>> [email protected]
>>>>>> http://lists.ximian.com/mailman/listinfo/monotouch
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Nic Wise
>>>> t.  +44 7788 592 806 | @fastchicken | http://www.linkedin.com/in/nicwise
>>>> b. http://www.fastchicken.co.nz/
>>>>
>>>> Earnest: Self-employed? Track your business expenses and income.
>>>> http://earnestapp.com
>>>> Nearest Bus: find when the next bus is coming to your stop. 
>>>> http://goo.gl/Vcz1p
>>>> mobileAgent (for FreeAgent): get your accounts in your pocket.
>>>> http://goo.gl/IuBU
>>>> Trip Wallet: Keep track of your budget on the go: http://goo.gl/ePhKa
>>>> London Bike App: Find the nearest Boris Bike, and get riding! 
>>>> http://goo.gl/Icp2
>>>
>>>
>>>
>>> --
>>> Nic Wise
>>> t.  +44 7788 592 806 | @fastchicken | http://www.linkedin.com/in/nicwise
>>> b. http://www.fastchicken.co.nz/
>>>
>>> Earnest: Self-employed? Track your business expenses and income.
>>> http://earnestapp.com
>>> Nearest Bus: find when the next bus is coming to your stop. 
>>> http://goo.gl/Vcz1p
>>> mobileAgent (for FreeAgent): get your accounts in your pocket.
>>> http://goo.gl/IuBU
>>> Trip Wallet: Keep track of your budget on the go: http://goo.gl/ePhKa
>>> London Bike App: Find the nearest Boris Bike, and get riding! 
>>> http://goo.gl/Icp2
>>
>>
>>
>> --
>> Nic Wise
>> t.  +44 7788 592 806 | @fastchicken | http://www.linkedin.com/in/nicwise
>> b. http://www.fastchicken.co.nz/
>>
>> Earnest: Self-employed? Track your business expenses and income.
>> http://earnestapp.com
>> Nearest Bus: find when the next bus is coming to your stop. 
>> http://goo.gl/Vcz1p
>> mobileAgent (for FreeAgent): get your accounts in your pocket.
>> http://goo.gl/IuBU
>> Trip Wallet: Keep track of your budget on the go: http://goo.gl/ePhKa
>> London Bike App: Find the nearest Boris Bike, and get riding! 
>> http://goo.gl/Icp2
>
>
>
> --
> Nic Wise
> t.  +44 7788 592 806 | @fastchicken | http://www.linkedin.com/in/nicwise
> b. http://www.fastchicken.co.nz/
>
> Earnest: Self-employed? Track your business expenses and income.
> http://earnestapp.com
> Nearest Bus: find when the next bus is coming to your stop. 
> http://goo.gl/Vcz1p
> mobileAgent (for FreeAgent): get your accounts in your pocket.
> http://goo.gl/IuBU
> Trip Wallet: Keep track of your budget on the go: http://goo.gl/ePhKa
> London Bike App: Find the nearest Boris Bike, and get riding! 
> http://goo.gl/Icp2



-- 
Nic Wise
t.  +44 7788 592 806 | @fastchicken | http://www.linkedin.com/in/nicwise
b. http://www.fastchicken.co.nz/

Earnest: Self-employed? Track your business expenses and income.
http://earnestapp.com
Nearest Bus: find when the next bus is coming to your stop. http://goo.gl/Vcz1p
mobileAgent (for FreeAgent): get your accounts in your pocket.
http://goo.gl/IuBU
Trip Wallet: Keep track of your budget on the go: http://goo.gl/ePhKa
London Bike App: Find the nearest Boris Bike, and get riding! http://goo.gl/Icp2
_______________________________________________
MonoTouch mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/monotouch

Reply via email to