Describe the bug
An overload of an abstract method that changes the generic parameter name causes Rocks to generate duplicates.
To Reproduce
var code =
"""
using Rocks;
using System;
#nullable enable
public abstract class Proxy<A>
{
public abstract Proxy<B> Bind<B>(Func<B> f);
}
public class M<A>
: Proxy<A>
{
public override Proxy<S> Bind<S>(Func<S> f) => new M<S>();
}
public static class Test
{
public static void Generate()
{
var rock = Rock.Create<M<object>>();
}
}
""";
Expected behavior
Rocks works - only one Bind() is generated.
Additional context
This was found in LanguageExt.Pipes.M<,,,,,>
Describe the bug
An overload of an abstract method that changes the generic parameter name causes Rocks to generate duplicates.
To Reproduce
Expected behavior
Rocks works - only one
Bind()is generated.Additional context
This was found in
LanguageExt.Pipes.M<,,,,,>