|
View:
New views
6 Messages
—
Rating Filter:
Alert me
|
|
|
[jira] Created: (BOO-1167) BCE0149 on external generic method invocation that has generic argument constraint and declaring current type inherits a generic typeBCE0149 on external generic method invocation that has generic argument constraint and declaring current type inherits a generic type
------------------------------------------------------------------------------------------------------------------------------------- Key: BOO-1167 URL: http://jira.codehaus.org/browse/BOO-1167 Project: Boo Issue Type: Bug Components: Compiler Affects Versions: 0.9 Reporter: Cedric Vivier Assignee: Cedric Vivier Priority: Blocker Fix For: 0.9.1 External code (we cannot have the same in BOO because of related BOO-1166): {code} using System.Collections.Generic; public class B { } public class A<T> where T : B { } public class C<T> : A<B> { public IEnumerable<U> Do<U> () where U : T { return null; } } {code} Caller code: {code} C[of B]().Do[of B]() {code} Gives: BCE0149: The type 'B' must derive from 'T' in order to substitute the generic parameter 'U' in 'C[of T].Do()'. Marking it Blocker for 0.9.1 as it blocks MonoDevelop guys wrt BooBinding. Thanks to Michael Hutchinson for reporting. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
[jira] Updated: (BOO-1167) BCE0149 on external generic method invocation that has generic argument constraint referencing declaring type constructed generic argument[ http://jira.codehaus.org/browse/BOO-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Cedric Vivier updated BOO-1167: ------------------------------- Description: External code: {code} using System.Collections.Generic; public class C<T> { public IEnumerable<U> Do<U> () where U : T { return null; } } {code} Caller code: {code} class B: pass C[of B]().Do[of B]() {code} Gives: BCE0149: The type 'B' must derive from 'T' in order to substitute the generic parameter 'U' in 'C[of T].Do()'. Marking it Blocker for 0.9.1 as it blocks MonoDevelop guys wrt BooBinding. Thanks to Michael Hutchinson for reporting. FWIW, internal code works (testcase-worthy anyway): {code} class B: pass class D (B): pass class C[of T]: def Do[of U(T)]() as U*: pass C[of B]().Do[of B]() {code} was: External code (we cannot have the same in BOO because of related BOO-1166): {code} using System.Collections.Generic; public class B { } public class A<T> where T : B { } public class C<T> : A<B> { public IEnumerable<U> Do<U> () where U : T { return null; } } {code} Caller code: {code} C[of B]().Do[of B]() {code} Gives: BCE0149: The type 'B' must derive from 'T' in order to substitute the generic parameter 'U' in 'C[of T].Do()'. Marking it Blocker for 0.9.1 as it blocks MonoDevelop guys wrt BooBinding. Thanks to Michael Hutchinson for reporting. Summary: BCE0149 on external generic method invocation that has generic argument constraint referencing declaring type constructed generic argument (was: BCE0149 on external generic method invocation that has generic argument constraint and declaring current type inherits a generic type) Simplified testcase > BCE0149 on external generic method invocation that has generic argument constraint referencing declaring type constructed generic argument > ------------------------------------------------------------------------------------------------------------------------------------------ > > Key: BOO-1167 > URL: http://jira.codehaus.org/browse/BOO-1167 > Project: Boo > Issue Type: Bug > Components: Compiler > Affects Versions: 0.9 > Reporter: Cedric Vivier > Assignee: Cedric Vivier > Priority: Blocker > Fix For: 0.9.1 > > > External code: > {code} > using System.Collections.Generic; > public class C<T> { > public IEnumerable<U> Do<U> () where U : T > { > return null; > } > } > {code} > Caller code: > {code} > class B: > pass > C[of B]().Do[of B]() > {code} > Gives: > BCE0149: The type 'B' must derive from 'T' in order to substitute the generic parameter 'U' in 'C[of T].Do()'. > Marking it Blocker for 0.9.1 as it blocks MonoDevelop guys wrt BooBinding. > Thanks to Michael Hutchinson for reporting. > FWIW, internal code works (testcase-worthy anyway): > {code} > class B: > pass > class D (B): > pass > class C[of T]: > def Do[of U(T)]() as U*: > pass > C[of B]().Do[of B]() > {code} -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
[jira] Updated: (BOO-1167) BCE0149 on external method that has generic argument constraint referencing declaring type's external constructed generic argument[ http://jira.codehaus.org/browse/BOO-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Cedric Vivier updated BOO-1167: ------------------------------- Description: External code: {code} using System.Collections.Generic; public class D { } public class C<T> { public IEnumerable<U> Do<U> () where U : T { return null; } } {code} Caller code: {code} class B: pass C[of B]().Do[of B]() #B is internal, it works! C[of D]().Do[of D]() #D is external -> BCE0149 :( {code} Gives: BCE0149: The type 'B' must derive from 'T' in order to substitute the generic parameter 'U' in 'C[of T].Do()'. Marking it Blocker for 0.9.1 as it blocks MonoDevelop guys wrt BooBinding. Thanks to Michael Hutchinson for reporting. FWIW, internal code works (testcase-worthy anyway): {code} class B: pass class D (B): pass class C[of T]: def Do[of U(T)]() as U*: pass C[of B]().Do[of B]() {code} was: External code: {code} using System.Collections.Generic; public class C<T> { public IEnumerable<U> Do<U> () where U : T { return null; } } {code} Caller code: {code} class B: pass C[of B]().Do[of B]() {code} Gives: BCE0149: The type 'B' must derive from 'T' in order to substitute the generic parameter 'U' in 'C[of T].Do()'. Marking it Blocker for 0.9.1 as it blocks MonoDevelop guys wrt BooBinding. Thanks to Michael Hutchinson for reporting. FWIW, internal code works (testcase-worthy anyway): {code} class B: pass class D (B): pass class C[of T]: def Do[of U(T)]() as U*: pass C[of B]().Do[of B]() {code} Summary: BCE0149 on external method that has generic argument constraint referencing declaring type's external constructed generic argument (was: BCE0149 on external generic method invocation that has generic argument constraint referencing declaring type constructed generic argument) > BCE0149 on external method that has generic argument constraint referencing declaring type's external constructed generic argument > ---------------------------------------------------------------------------------------------------------------------------------- > > Key: BOO-1167 > URL: http://jira.codehaus.org/browse/BOO-1167 > Project: Boo > Issue Type: Bug > Components: Compiler > Affects Versions: 0.9 > Reporter: Cedric Vivier > Assignee: Cedric Vivier > Priority: Blocker > Fix For: 0.9.1 > > > External code: > {code} > using System.Collections.Generic; > public class D { > } > public class C<T> { > public IEnumerable<U> Do<U> () where U : T > { > return null; > } > } > {code} > Caller code: > {code} > class B: > pass > C[of B]().Do[of B]() #B is internal, it works! > C[of D]().Do[of D]() #D is external -> BCE0149 :( > {code} > Gives: > BCE0149: The type 'B' must derive from 'T' in order to substitute the generic parameter 'U' in 'C[of T].Do()'. > Marking it Blocker for 0.9.1 as it blocks MonoDevelop guys wrt BooBinding. > Thanks to Michael Hutchinson for reporting. > FWIW, internal code works (testcase-worthy anyway): > {code} > class B: > pass > class D (B): > pass > class C[of T]: > def Do[of U(T)]() as U*: > pass > C[of B]().Do[of B]() > {code} -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
[jira] Updated: (BOO-1167) BCE0149 on external method that has generic argument constraint referencing declaring type's external constructed generic argument[ http://jira.codehaus.org/browse/BOO-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rodrigo B. de Oliveira updated BOO-1167: ---------------------------------------- Fix Version/s: (was: 0.9.1) 0.9.2 > BCE0149 on external method that has generic argument constraint referencing declaring type's external constructed generic argument > ---------------------------------------------------------------------------------------------------------------------------------- > > Key: BOO-1167 > URL: http://jira.codehaus.org/browse/BOO-1167 > Project: Boo > Issue Type: Bug > Components: Compiler > Affects Versions: 0.9 > Reporter: Cedric Vivier > Assignee: Cedric Vivier > Priority: Blocker > Fix For: 0.9.2 > > > External code: > {code} > using System.Collections.Generic; > public class D { > } > public class C<T> { > public IEnumerable<U> Do<U> () where U : T > { > return null; > } > } > {code} > Caller code: > {code} > class B: > pass > C[of B]().Do[of B]() #B is internal, it works! > C[of D]().Do[of D]() #D is external -> BCE0149 :( > {code} > Gives: > BCE0149: The type 'B' must derive from 'T' in order to substitute the generic parameter 'U' in 'C[of T].Do()'. > Marking it Blocker for 0.9.1 as it blocks MonoDevelop guys wrt BooBinding. > Thanks to Michael Hutchinson for reporting. > FWIW, internal code works (testcase-worthy anyway): > {code} > class B: > pass > class D (B): > pass > class C[of T]: > def Do[of U(T)]() as U*: > pass > C[of B]().Do[of B]() > {code} -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
[jira] Updated: (BOO-1167) BCE0149 on external method that has generic argument constraint referencing declaring type's external constructed generic argument[ http://jira.codehaus.org/browse/BOO-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rodrigo B. de Oliveira updated BOO-1167: ---------------------------------------- Fix Version/s: (was: 0.9.2) 0.9.3 > BCE0149 on external method that has generic argument constraint referencing declaring type's external constructed generic argument > ---------------------------------------------------------------------------------------------------------------------------------- > > Key: BOO-1167 > URL: http://jira.codehaus.org/browse/BOO-1167 > Project: Boo > Issue Type: Bug > Components: Compiler > Affects Versions: 0.9 > Reporter: Cedric Vivier > Assignee: Cedric Vivier > Priority: Blocker > Fix For: 0.9.3 > > > External code: > {code} > using System.Collections.Generic; > public class D { > } > public class C<T> { > public IEnumerable<U> Do<U> () where U : T > { > return null; > } > } > {code} > Caller code: > {code} > class B: > pass > C[of B]().Do[of B]() #B is internal, it works! > C[of D]().Do[of D]() #D is external -> BCE0149 :( > {code} > Gives: > BCE0149: The type 'B' must derive from 'T' in order to substitute the generic parameter 'U' in 'C[of T].Do()'. > Marking it Blocker for 0.9.1 as it blocks MonoDevelop guys wrt BooBinding. > Thanks to Michael Hutchinson for reporting. > FWIW, internal code works (testcase-worthy anyway): > {code} > class B: > pass > class D (B): > pass > class C[of T]: > def Do[of U(T)]() as U*: > pass > C[of B]().Do[of B]() > {code} -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
[jira] Assigned: (BOO-1167) BCE0149 on external method that has generic argument constraint referencing declaring type's external constructed generic argument[ http://jira.codehaus.org/browse/BOO-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rodrigo B. de Oliveira reassigned BOO-1167: ------------------------------------------- Assignee: Rodrigo B. de Oliveira (was: Cedric Vivier) > BCE0149 on external method that has generic argument constraint referencing declaring type's external constructed generic argument > ---------------------------------------------------------------------------------------------------------------------------------- > > Key: BOO-1167 > URL: http://jira.codehaus.org/browse/BOO-1167 > Project: Boo > Issue Type: Bug > Components: Compiler > Affects Versions: 0.9 > Reporter: Cedric Vivier > Assignee: Rodrigo B. de Oliveira > Priority: Blocker > Fix For: 0.9.3 > > > External code: > {code} > using System.Collections.Generic; > public class D { > } > public class C<T> { > public IEnumerable<U> Do<U> () where U : T > { > return null; > } > } > {code} > Caller code: > {code} > class B: > pass > C[of B]().Do[of B]() #B is internal, it works! > C[of D]().Do[of D]() #D is external -> BCE0149 :( > {code} > Gives: > BCE0149: The type 'B' must derive from 'T' in order to substitute the generic parameter 'U' in 'C[of T].Do()'. > Marking it Blocker for 0.9.1 as it blocks MonoDevelop guys wrt BooBinding. > Thanks to Michael Hutchinson for reporting. > FWIW, internal code works (testcase-worthy anyway): > {code} > class B: > pass > class D (B): > pass > class C[of T]: > def Do[of U(T)]() as U*: > pass > C[of B]().Do[of B]() > {code} -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
| Free embeddable forum powered by Nabble | Forum Help |