Unowned pointers aren't dangling in debug builds; they're more like 
zombie-detection, where you get a deterministic trap if you access them after 
the original instance is strong-released for the last time. I can't remember if 
this is enabled in release builds as well; under -Ounchecked they do become 
unsafe-unretained.

Jordan


> On Sep 14, 2016, at 10:51, Callionica (Swift) via swift-evolution 
> <[email protected]> wrote:
> 
> How do you figure unowned pointers help you detect errors? Dangling pointers 
> give you no guarantees.
> 
> On Wednesday, September 14, 2016, Karl Wagner via swift-evolution 
> <[email protected] <mailto:[email protected]>> wrote:
> Sorry to hijack the thread, but I was working to fix the fact that we can't 
> have optional unowned pointers in swift and Jordan said he didn't think 
> anybody ever asked for it before. It made me worry about the kind of 
> practices swift is encouraging.
> 
> The overhead of using weak pointers isn't massive, but it involves locking 
> and updating global tables 
> (http://stackoverflow.com/questions/23689155/lots-of-overhead-for-weak-property
>  
> <http://stackoverflow.com/questions/23689155/lots-of-overhead-for-weak-property>).
>  Unowned pointers don't have this overhead, and can also help you detect 
> errors because they are fail-deadly.
> 
> But yeah, I'd like to be able to reference non-owning instance methods.
> 
> This 
> <https://itunes.apple.com/app/apple-store/id922793622?pt=814382&mt=8&ct=how_i_email>
>  is how I Email now
> 
> 
>> On Sep 14, 2016 at 7:45 am, <Rick Mann 
>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
>> 
>> 
>> > On Sep 13, 2016, at 22:34 , Xiaodi Wu via swift-evolution 
>> > <[email protected] 
>> > <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
>> 
>> >  
>> 
>> > It's similar to Linus' argument against using kernel debuggers 
>> > (https://lwn.net/2000/0914/a/lt-debugger.php3 
>> > <https://lwn.net/2000/0914/a/lt-debugger.php3>). Understanding your code 
>> > at a level above the source, and being careful, make you a better 
>> > developer. There are no features in swift which compensate for a lack of 
>> > understanding about how your code works.
>> 
>> 
>> 
>> Get off my lawn!
>> 
>> 
>> 
>> 
>> 
>> --  
>> 
>> Rick Mann
>> 
>> [email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');>
>> 
>> 
>> 
>> 
>> 
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to