Kolos65 / Mockable

A Swift macro driven auto-mocking library.
MIT License
233 stars 18 forks source link

Mock protocols constrained to actor types #60

Closed nathansalaun-sofia closed 2 months ago

nathansalaun-sofia commented 3 months ago

When I try to generate a mock to a protocol constrained to an actor, it generates a class, which is wrong. The macro should generate an actor instead.

For example:

// Input:
@Mockable
protocol SomeActor: Actor {
    var something: Bool { get set }

    func doSomething() async
}

// Generated:
#if MOCKING
final class MockSomeActor: SomeActor, MockableService {
    // ...
}
#endif

This gives the error "non-actor type 'MockSomeActor' cannot conform to the 'Actor' protocol".