You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 12, 2024. It is now read-only.
public protocol getter {
associatedtype value
func get () -> value
}
public protocol setter {
associatedtype value
func set (newValue: value)
}
// and a function like this:
public func doAThing<T:setter, U:getter> (a: T, b: U) {
}
There will be a name conflict in the generated C# function:
public void DoAThing<T, U, ATvalue, ATvalue> (T:a, U: b) where T: IGetter<ATvalue>, U: ISetter<ATvalue> {
}
There will be two ATvalue generics.
There is a single entry point to generate the C# generic name for an associated type in OverrideBuilder. Currently it selects ATName where Name is the name of the associated type. To avoid name conflicts, this should be set instead to something like ATModule_Proto_Name where Module is the module name, Proto is the protocol name and Name is the associated type name.
The text was updated successfully, but these errors were encountered:
If I have these two PATs:
There will be a name conflict in the generated C# function:
There will be two
ATvalue
generics.There is a single entry point to generate the C# generic name for an associated type in
OverrideBuilder
. Currently it selectsATName
whereName
is the name of the associated type. To avoid name conflicts, this should be set instead to something likeATModule_Proto_Name
whereModule
is the module name,Proto
is the protocol name andName
is the associated type name.The text was updated successfully, but these errors were encountered: