# Protocol as a type cannot conform to the protocol itself

**URL:** <https://forums.swift.org/t/protocol-as-a-type-cannot-conform-to-the-protocol-itself/56542>\
**Category:** Using Swift\
**Created:** [April 5, 2022, 3:00pm UTC](https://forums.swift.org/t/protocol-as-a-type-cannot-conform-to-the-protocol-itself/56542 "2022-04-05T15:00:42Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![ksluder](https://avatars.discourse-cdn.com/v4/letter/k/eada6e/32.png) [@ksluder](https://forums.swift.org/u/ksluder)\
**Post date:** [April 5, 2022, 3:49pm UTC](https://forums.swift.org/t/protocol-as-a-type-cannot-conform-to-the-protocol-itself/56542/2 "2022-04-05T15:49:11Z")

</div>

@hborla gave an explanation of this error and explained how it motivates the adoption of `any P` syntax: [SE-0335: Introduce existential `any` - #112 by hborla](https://forums.swift.org/t/se-0335-introduce-existential-any/53934/112)

The root of your problem is the associated type. The type of the value on the left hand side has no constraint on the associated type, so any code that uses it has no idea what the type of the first argument of `navigate(:,content:)` is.

---

_[View the full topic](https://forums.swift.org/t/protocol-as-a-type-cannot-conform-to-the-protocol-itself/56542)._
