Giter VIP home page Giter VIP logo

Comments (13)

kainjow avatar kainjow commented on August 18, 2024 1

HF is now 100% ARC 🎉

from hexfiend.

ridiculousfish avatar ridiculousfish commented on August 18, 2024

Maybe I never pushed it? Anyways I pushed it now as ARC.

from hexfiend.

JanX2 avatar JanX2 commented on August 18, 2024

Yes. But development seems to carry on with MRC! master is still full of retain and release.

from hexfiend.

percontation avatar percontation commented on August 18, 2024

Why migrate to ARC today when you can migrate to Swift tomorrow? Heh.

from hexfiend.

JanX2 avatar JanX2 commented on August 18, 2024

Is there any interest in migrating to/continuing the move to ARC?

@percontation I would argue that no real migration to Swift is possible. Only porting, be it piecemeal or monolithic. :)

from hexfiend.

percontation avatar percontation commented on August 18, 2024

Nah, just follow these 20 easy steps and you'll be fine! :P
Anyway, the benefits of switching everything to ARC are kinda low. On the other hand, ARC seems unlikely to go the way of GC or anything, so I don't see any hidden downsides.

from hexfiend.

JanX2 avatar JanX2 commented on August 18, 2024

Even though I had used MRC for years I found that ARC frees up your capacity for other things. One thing less you might be screwing up.

from hexfiend.

percontation avatar percontation commented on August 18, 2024

Yeah, I'm all for ARC, it's just that HexFiend is past the point where migration is sufficiently automatic and error-free for me personally to want to do :). But if you wanna take a stab at brining the ARC branch up to parity with master, I'd happily start dogfooding that to help spot issues.

FWIW at some point a while ago I tried collecting the ARC stuff at https://github.com/percontation/HexFiend/tree/ARC_rebase. I don't really remember exactly where that's at, or if it's even worth using.

from hexfiend.

kainjow avatar kainjow commented on August 18, 2024

Could always start turning on ARC for files one by one. That way it's not a huge set of changes to test and code review.

from hexfiend.

percontation avatar percontation commented on August 18, 2024

Yeah, I imagine there are quite a few files that could be auto-ARCed and merged straight into master without raising too much concern. I'd have to catch up on those "Writing Modern ObjC" docs before I could help though :P

from hexfiend.

kainjow avatar kainjow commented on August 18, 2024

I did two changes for ARC:

  1. Replaced NSAutoreleasePool with @autoreleasepool [bc8ebcd]
  2. Moved HexFiendling to ARC [7bdc030]

I just did these in master since they were relatively harmless.

from hexfiend.

kainjow avatar kainjow commented on August 18, 2024

Closing this. ARC changes will continue to occur (slowly though), and pull requests are always welcomed. The problem is making mass changes to the code will most likely result in bugs, so they need to be done carefully and in small chunks at a time.

from hexfiend.

kainjow avatar kainjow commented on August 18, 2024

HF is now 95% ARC. There are only 4 remaining files to convert in the framework, but these are the most difficult due to mixing Objective-C objects with C data structures, or with CoreFoundation collections. I'll get to them eventually.

I nearly completed converting HFByteArray_FileWriting.m but came across an issue where createAcyclicGraphFromStronglyConnectedComponents() creates dependencies and dependencyObjects variables, then iterates over them, but never references them. There have been no reports on file writing not working, so I'm not sure what's going on with this code.

from hexfiend.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.