• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Swift generics, circular type declarations, and segfaults, oh my!
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Swift generics, circular type declarations, and segfaults, oh my!


  • Subject: Re: Swift generics, circular type declarations, and segfaults, oh my!
  • From: Quincey Morris <email@hidden>
  • Date: Sat, 05 Sep 2015 00:59:59 +0000

On Sep 4, 2015, at 16:31 , has <email@hidden> wrote:
>
> At risk of derail...

Do you mean “derail” or “detail”? I feel like I’m drowning in details.

My (first) “huh?” was to ask why you would prefer SomeClass ().makeASomeClassInstance () to SomeClass.makeASomeClassInstance (). I’m not sure, but I think your answer is that *either* (a) you already have a SomeClass instance, so who cares, *or* you don’t, but who cares? That is, your API is deliberately (and presumably beneficially) conflating objects as specifiers (of what data to retrieve) or retrievers (of the data itself).

What I mean is, in:

	TextEdit().documents[1].text.words.get()

the instances represented by ‘TextEdit()’, 'TextEdit().documents[1]’, 'TextEdit().documents[1].text’ are just setting the context for what the instance represented by 'TextEdit().documents[1].text.words’ is being asked to retrieve.

If that’s what it is, then OK. (Even if it’s not that, it’s not up to me to try to derail you, apart from throwing in that ‘huh?’.) So that’s that, I’ll stay out of it. :)

Regarding the rest of what you’re trying to do, the answer is no, you cannot do it, isn’t it? You cannot have a method that returns objects of any of several types *known at compile time*. The compiler simply won’t know which behaviors a (potential) returned object would have, so it can’t compile code that uses such references**. This is true of both Swift and Obj-C. Isn’t it?


** Without leaving validation to run-time, which you said you don’t want to do.

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden


  • Follow-Ups:
    • Re: Swift generics, circular type declarations, and segfaults, oh my!
      • From: Charles Srstka <email@hidden>
References: 
 >Swift generics, circular type declarations, and segfaults, oh my! (From: has <email@hidden>)
 >Re: Swift generics, circular type declarations, and segfaults, oh my! (From: Fritz Anderson <email@hidden>)
 >Re: Swift generics, circular type declarations, and segfaults, oh my! (From: has <email@hidden>)
 >Re: Swift generics, circular type declarations, and segfaults, oh my! (From: Quincey Morris <email@hidden>)
 >Re: Swift generics, circular type declarations, and segfaults, oh my! (From: has <email@hidden>)

  • Prev by Date: Visual glitch
  • Next by Date: Re: Anyway to make a generic out of instancetype?
  • Previous by thread: Re: Swift generics, circular type declarations, and segfaults, oh my!
  • Next by thread: Re: Swift generics, circular type declarations, and segfaults, oh my!
  • Index(es):
    • Date
    • Thread