pointfreeco / episode-code-samples

💾 Point-Free episode code.
https://www.pointfree.co
MIT License
973 stars 294 forks source link

Cannot convert value of type - Examples will not compile using Xcode 13.3 #112

Closed iwt-sebastian-boldt closed 2 years ago

iwt-sebastian-boldt commented 2 years ago

I started working and wrapping my head around the whole TCA Topic and created a project by myself where I used Swift Packages instead of Frameworks and I also structured the code in a way that fits my needs.

Sadly suddenly some of the approaches you guys explained in your video series does not seem to compile. First I thought I was an issue introduced by myself but it seems that the example projects also do not compile under Xcode 13.3 for some weird reasons.

https://github.com/pointfreeco/episode-code-samples/tree/main/0076-effectful-state-management-synchronous-effects

Do you guys have any Idea what's going on here?

Screenshot 2022-04-29 at 11 26 58
mbrandonw commented 2 years ago

I believe this code is not compiling simply because in the episode we did not end in a compiling state. The entire series of effectful statement management is basically one big refactor until we get to the final form of Effect, and so it's not until the last episode, #79, that things fully compile.

That's a little unfortunate, but there are small changes you can make to 76, 77 and 78 to get them compiling if you want to play around with the code at those stages. For example, in 76 you can just make sure all the reducers have a return type of Effect and then add a return {} at the end of the body of the reducer. That should get you most of the way to compiling, but there may be a few small other things to fix too.

mbrandonw commented 2 years ago

Also I'm going to convert this issue to a discussion, but please let us know if you have more questions!