Bug 33071 - Incorrect interface method used in generic variance calls
Summary: Incorrect interface method used in generic variance calls
Status: CONFIRMED
Alias: None
Product: Runtime
Classification: Mono
Component: JIT (show other bugs)
Version: 4.0.0
Hardware: All All
: --- major
Target Milestone: ---
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2015-08-13 15:24 UTC by Igor Kiselev
Modified: 2015-08-14 07:23 UTC (History)
4 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
Test case for issue reproducing (1.29 KB, text/plain)
2015-08-13 15:24 UTC, Igor Kiselev
Details

Description Igor Kiselev 2015-08-13 15:24:06 UTC
Created attachment 12494 [details]
Test case for issue reproducing

Description of Problem:
Incorrect interface method implementation selected in very complex case when Generic object re-implement variant interface.

Steps to reproduce the problem:
1. Compile application from attachment
2. Run it.


Actual Results:
Console output:
Implementor2<Object,String>.Get
Implementor<Object>.Get
Implementor<String>.Set
Implementor2<String,Object>.Set

Expected Results:
Console output:
Implementor2<Object,String>.Get
Implementor2<Object,String>.Get
Implementor2<String,Object>.Set
Implementor2<String,Object>.Set

How often does this happen? 
Always

Note You need to log in before you can comment on or make changes to this bug.