// RUN: %target-typecheck-verify-swift | |
protocol P { } | |
func foo<T: P>(_: T) {} | |
func bar<T: P>(_: T.Type) {} | |
func open(existential: P, mutExistential: inout P) { | |
_openExistential(existential, do: foo) | |
_openExistential(type(of: existential), do: bar) | |
_openExistential(mutExistential, do: foo) | |
_openExistential(type(of: mutExistential), do: bar) | |
} |