Because it would break this:
func foo (c: T, a: U) { c.test(a) }
Nevin
On Wed, Jan 17, 2018 at 2:29 AM, Roshan via swift-users <
swift-users@swift.org> wrote:
> Hi,
>
> Here is some sample code that gives a protocol conformance error in a
> playground:
>
> protocol A {}
> protocol B: A {}
>
>
Is there a way I can specify that all integer types conform to MyProtocol
without naming them explicitly like this??
protocol MyProtocol {}
extension String: MyProtocol {}
extension Int: MyProtocol {}
extension UInt8: MyProtocol {}
[...]
I tried the following:
extension FixedWidthInteger:
> On 20. Jun 2017, at 01:38, Muhammad Tahir Vali via swift-users
> wrote:
>
> Hey all,
>
> I wanted to know if theres a work around for a problem I am having
>
> lets say I have a protocol
>
> protocol Graphable : CustomStringConvertible, Sequence, Collection {
>
Hey all,
I wanted to know if theres a work around for a problem I am having
lets say I have a protocol
protocol *Graphable* : CustomStringConvertible, Sequence, Collection {
var vertices : [AnyVertexable] { get set }
*var edges: [AnyEdge]? { get set }*
}
Then I have
Worth mentioning that @objc protocols do conform to themselves as long as they
do not have static methods or initializer requirements. However this may be too
heavy-handed if a simple overload can do the trick.
Slava
> On Mar 9, 2017, at 1:10 PM, Guillaume Lessard via swift-users
>
> On Mar 9, 2017, at 12:46, Edward Connell via swift-users
> wrote:
>
> // Everything compiles fine until this
> someFunc(items: items)
This is a frequent pain point: protocol existentials cannot stand in for the
protocol they represent.
Your function wants a concrete
The error says ItemProtocol does not conform to ItemProtocol.
That doesn't make sense. It seems this should work fine.
// It's all clean until the last line
protocol ItemProtocol : class {
var message: String { get }
}
// heterogenious types
class A : ItemProtocol {
var message = "A"
}
class B