Skip to content

Instantly share code, notes, and snippets.

@knowsudhanshu
Last active June 20, 2021 11:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save knowsudhanshu/468ff3167d3d516bdaeb1280deeb87a7 to your computer and use it in GitHub Desktop.
Save knowsudhanshu/468ff3167d3d516bdaeb1280deeb87a7 to your computer and use it in GitHub Desktop.
protocol A {
var someVar: String { get set }
func someFunc()
}
protocol B {
var someVar: String { get set }
func someFunc()
}
struct C: A, B {
@_implements(A, someVar)
var varFromA: String
@_implements(A, someFunc())
func someFuncFromA() {
print("this is get someFuncFromA")
}
@_implements(B, someVar)
var varFromB: String
@_implements(B, someFunc())
func someFuncFromB() {
print("this is get someFuncFromB")
}
}
let cInstance = C(varFromA: "var from A", varFromB: "var from B")
print(cInstance.varFromA)
print(cInstance.varFromB)
cInstance.someFuncFromA()
cInstance.someFuncFromB()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment