Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change ensures future modifications to FakeClock will not break users.
However, this change does break current users who use FakeClock as an argument, return value, or embed it in a struct or interface.
With limtied exception, build errors can be fixed by running:
Other rare build errors and their fixes are:
clockwork.FakeClock
: return the pointer to concrete type instead.clockwork.FakeClock
in an interface composition: replace with the functions required by the interface.clockwork.FakeClock
as an argument, replace with concrete type or define a new interface.The alternative approach would have been to use type aliases. However, this does not provide a benefit over direct replacement, because the migration is more complicated, harder to execute, needs to be done to the same code points, and results in runtime failures when type converting (whereas this approach only fails at compile-time).