From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Intervention needed?
Date: Tue, 19 Mar 2019 17:13:18 -0500
Date: 2019-03-19T17:13:18-05:00 [thread overview]
Message-ID: <q6rphu$arn$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: f4eee526-e607-4e1f-843f-9913c9c093f9@googlegroups.com
"Optikos" <optikos@verizon.net> wrote in message
news:f4eee526-e607-4e1f-843f-9913c9c093f9@googlegroups.com...
...
>Absolutely not. The cursor cannot dangle after the finalization of the
>container.
>No dangling after container-finalization means no dangling-of-cursor at
>all. Q.E.D.
Baloney. The cursor object still exists, and someone can still try to use
it. Yes, you'll get an exception rather than erroneous execution, but it is
still dangling (the term in the RM for cursors is "invalid"). (And note that
there are cheaper ways to get that effect.)
The whole point of the Rust scheme as I understand it is to avoid such
things. In particular, you can never have a pointer with multiple owners.
The "borrow" scheme as I understand it allows the owner to be temporarily
transfered (so you can walk lists, for instance), but long-term storage of
such pointers is simply not allowed. You can't build a cursor that way (nor
a doubly-linked list). Perhaps the Rust people have gone beyond simple
borrow semantics -- I don't know.
Tucker's latest proposal lets one build cursors, but it can't detect changes
where the owner of a node is changed after the fact (think of an operation
like a list Splice where nodes are moved from one list to another). To do
that would require putting a lot of restrictions on how an ADT is used,
again something that cannot be done with the existing containers (and it's
unclear that that is a good idea anyway, since it is leaking implementation
characteristics to usages).
Randy.
next prev parent reply other threads:[~2019-03-19 22:13 UTC|newest]
Thread overview: 146+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-08 16:43 Intervention needed? Olivier Henley
2019-03-08 16:58 ` Dmitry A. Kazakov
2019-03-08 17:31 ` gautier_niouzes
2019-03-11 14:31 ` antispam
2019-03-11 15:07 ` gautier_niouzes
2019-03-11 17:19 ` Dmitry A. Kazakov
2019-03-11 15:34 ` Lucretia
2019-03-11 17:30 ` Simon Wright
2019-03-11 17:42 ` Dmitry A. Kazakov
2019-03-11 18:14 ` AdaMagica
2019-03-11 19:52 ` Olivier Henley
2019-03-11 20:04 ` Lucretia
2019-03-11 22:08 ` Jeffrey R. Carter
2019-03-12 2:04 ` Lucretia
2019-03-12 13:17 ` Olivier Henley
2019-03-12 16:32 ` Jeffrey R. Carter
2019-03-12 16:56 ` Lucretia
2019-03-12 17:20 ` Lucretia
2019-03-12 18:14 ` Olivier Henley
2019-03-12 19:21 ` Lucretia
2019-03-12 21:53 ` Randy Brukardt
2019-03-13 10:50 ` Jere
2019-03-17 12:52 ` Optikos
2019-03-17 16:37 ` Luke A. Guest
2019-03-17 16:48 ` Paul Rubin
2019-03-20 0:49 ` Optikos
2019-03-20 1:04 ` Paul Rubin
2019-03-20 1:19 ` Optikos
2019-03-18 23:36 ` Randy Brukardt
2019-03-19 2:18 ` Optikos
2019-03-19 8:44 ` Dmitry A. Kazakov
2019-03-19 9:53 ` Optikos
2019-03-19 22:13 ` Randy Brukardt [this message]
2019-03-19 22:26 ` Paul Rubin
2019-03-20 1:08 ` Jere
2019-03-22 2:26 ` Randy Brukardt
2019-03-23 15:56 ` Jeffrey R. Carter
2019-03-23 21:38 ` Paul Rubin
2019-03-19 22:36 ` Optikos
2019-03-19 23:13 ` Randy Brukardt
2019-03-20 1:28 ` Jere
2019-03-20 8:42 ` Dmitry A. Kazakov
2019-03-22 2:00 ` Randy Brukardt
2019-03-22 11:10 ` Jere
2019-03-23 8:03 ` Randy Brukardt
2019-03-23 21:32 ` Jere
2019-03-20 7:59 ` Optikos
2019-03-22 2:16 ` Randy Brukardt
2019-03-22 8:38 ` Optikos
2019-03-22 10:54 ` Jere
2019-03-23 7:53 ` Randy Brukardt
2019-03-23 13:59 ` Jere
2019-03-23 21:19 ` Jere
2019-03-23 21:29 ` Paul Rubin
2019-03-26 8:09 ` Optikos
2019-03-20 1:20 ` Jere
2019-03-22 2:30 ` Randy Brukardt
2019-03-22 9:08 ` Dmitry A. Kazakov
2019-03-22 22:23 ` Optikos
2019-03-27 19:20 ` G. B.
2019-03-27 21:02 ` Paul Rubin
2019-03-28 7:01 ` Maciej Sobczak
2019-03-28 7:17 ` Paul Rubin
2019-03-28 8:39 ` Simon Wright
2019-03-30 4:31 ` Paul Rubin
2019-03-30 22:14 ` Robert A Duff
2019-03-30 22:55 ` Paul Rubin
2019-03-28 9:06 ` Dmitry A. Kazakov
2019-03-28 20:48 ` G. B.
2019-03-29 5:13 ` Bojan Bozovic
2019-03-29 8:13 ` Dmitry A. Kazakov
2019-03-29 6:57 ` Maciej Sobczak
2019-03-29 7:13 ` Paul Rubin
2019-03-29 8:39 ` Dmitry A. Kazakov
2019-04-01 15:13 ` Optikos
2019-04-01 16:51 ` Dmitry A. Kazakov
2019-04-01 21:42 ` Randy Brukardt
2019-04-02 8:30 ` Dmitry A. Kazakov
2019-04-02 15:53 ` Anh Vo
2019-03-19 22:04 ` Randy Brukardt
2019-03-19 22:22 ` Paul Rubin
2019-03-19 23:01 ` Randy Brukardt
2019-03-19 9:37 ` Optikos
2019-03-19 22:21 ` Randy Brukardt
2019-03-29 17:56 ` Florian Weimer
2019-03-29 22:17 ` Randy Brukardt
2019-03-29 22:35 ` Florian Weimer
2019-04-01 21:17 ` Randy Brukardt
2019-03-29 17:41 ` Florian Weimer
2019-03-29 22:16 ` Randy Brukardt
2019-03-29 22:43 ` Florian Weimer
2019-04-01 21:29 ` Randy Brukardt
2019-04-01 22:14 ` Simon Wright
2019-04-02 21:55 ` Randy Brukardt
2019-04-04 15:07 ` Simon Wright
2019-03-12 21:41 ` Randy Brukardt
2019-03-13 9:10 ` Maciej Sobczak
2019-03-13 11:08 ` Jere
2019-03-13 11:11 ` Jere
2019-03-13 11:59 ` Jere
2019-03-13 13:44 ` Olivier Henley
2019-03-13 15:56 ` Simon Wright
2019-03-13 16:25 ` Olivier Henley
2019-03-14 0:40 ` Simon Wright
2019-03-13 16:27 ` Olivier Henley
2019-03-14 22:41 ` Randy Brukardt
2019-03-16 21:30 ` Olivier Henley
2019-03-29 17:38 ` Florian Weimer
2019-03-13 13:23 ` Olivier Henley
2019-03-22 11:10 ` Lucretia
2019-03-22 14:09 ` J-P. Rosen
2019-03-22 16:41 ` Jeffrey R. Carter
2019-03-22 17:29 ` Paul Rubin
2019-03-22 22:36 ` Optikos
2019-04-01 7:28 ` gautier_niouzes
-- strict thread matches above, loose matches on Subject: below --
2019-03-25 19:14 Randy Brukardt
2019-03-25 20:44 ` Dmitry A. Kazakov
2019-03-28 0:48 ` Jere
2019-04-02 22:07 Randy Brukardt
2019-04-03 7:29 ` Dmitry A. Kazakov
2019-04-03 14:31 ` Optikos
2019-04-03 14:54 ` Dmitry A. Kazakov
2019-04-03 15:29 ` Optikos
2019-04-03 16:16 ` Simon Wright
2019-04-03 17:15 ` Dmitry A. Kazakov
2019-04-03 21:12 ` Simon Wright
2019-04-04 7:09 ` Dmitry A. Kazakov
2019-04-04 5:44 ` Maciej Sobczak
2019-04-04 7:17 ` Dmitry A. Kazakov
2019-04-04 7:22 ` Paul Rubin
2019-04-04 8:37 ` Niklas Holsti
2019-04-05 0:13 ` Randy Brukardt
2019-04-05 5:45 ` Maciej Sobczak
2019-04-05 15:17 ` Optikos
2019-04-06 1:38 ` Jere
2019-04-06 4:25 ` alby.gamper
2019-04-06 6:49 ` Jere
2019-04-06 8:24 ` alby.gamper
2019-04-04 12:28 ` Simon Wright
2019-04-04 16:17 ` Optikos
2019-04-03 15:07 ` Lucretia
2019-04-03 16:15 ` Simon Wright
2019-04-03 17:23 ` Niklas Holsti
2019-04-03 17:48 ` Bill Findlay
2019-04-03 21:01 ` Simon Wright
2019-04-03 18:58 ` Dennis Lee Bieber
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox