<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-rpcbase/src/obj/cast.rs, branch tor-circmgr-v0.18.1</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=tor-circmgr-v0.18.1</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=tor-circmgr-v0.18.1'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-04-11T12:56:53Z</updated>
<entry>
<title>rpc: Move deftly attributes into an `rpc` namespace.</title>
<updated>2024-04-11T12:56:53Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-04-11T12:56:53Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f96ca62bed8bd1ab42fc069331aef049e9c4515e'/>
<id>urn:sha1:f96ca62bed8bd1ab42fc069331aef049e9c4515e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Port many of the macros in tor-rpcbase to use derive-deftly.</title>
<updated>2024-04-04T20:42:57Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-04-04T20:04:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=66cfabc442bfc1779a4748b89d0be2d51f908fc9'/>
<id>urn:sha1:66cfabc442bfc1779a4748b89d0be2d51f908fc9</id>
<content type='text'>
This simplifies our implementation logic in a few places,
and simplifies our invocation syntax greatly.  There are a few
infelicities, noted in `TODO RPC` comments.
</content>
</entry>
<entry>
<title>Run maint/add_warning.</title>
<updated>2024-03-13T16:30:53Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-03-13T16:30:53Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c0c9bd15d42897825dd0ab3d3b8dd1c17bd6320c'/>
<id>urn:sha1:c0c9bd15d42897825dd0ab3d3b8dd1c17bd6320c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Run maint/add_warning to add lint block everywhere</title>
<updated>2023-08-23T09:34:00Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-08-22T14:28:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=42df88d6bf6dbb460d2e5e1cd4838aafaffbe9ac'/>
<id>urn:sha1:42df88d6bf6dbb460d2e5e1cd4838aafaffbe9ac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix typos</title>
<updated>2023-07-22T07:10:34Z</updated>
<author>
<name>Dimitris Apostolou</name>
<email>dimitris.apostolou@icloud.com</email>
</author>
<published>2023-07-22T07:10:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=947ddfff0cfac3fef0e3d7ebc14182c638a1d90b'/>
<id>urn:sha1:947ddfff0cfac3fef0e3d7ebc14182c638a1d90b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Run maint/add_warning to actually apply new lint allows</title>
<updated>2023-07-10T12:49:51Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-07-10T11:19:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=473447a82e099fd52a674c28f5bc24b3e05208c0'/>
<id>urn:sha1:473447a82e099fd52a674c28f5bc24b3e05208c0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpc: Remove some verbiage about 'static, and demo that it's OK without</title>
<updated>2023-06-15T11:07:11Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-06-15T10:29:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1710ce54f4d3c731328491718cc70f0d92639670'/>
<id>urn:sha1:1710ce54f4d3c731328491718cc70f0d92639670</id>
<content type='text'>
It's now not actually possible to write code that doesn't work, even
if `Tr` *isn't* 'static, because of the bounds on `CastTable::insert`.

I tried to produce a non-working setup with a non-static `Simple`, but
you can't implement `Object` for such a thing.  Removing 'static from
Object would stop the downcasts from Any to Object working.

Prior to the new typesafe insert, this change
  - let f: fn(&amp;dyn $crate::Object) -&gt; &amp;(dyn $traitname + 'static) = |self_| {
  + let f: fn(&amp;dyn $crate::Object) -&gt; &amp;(dyn $traitname) = |self_| {
would result in a runtime crash.  Now it results in a compiler error.
</content>
</entry>
<entry>
<title>rpc: Give the name `O` to "the type associated with this CastTable"</title>
<updated>2023-06-15T11:03:53Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-06-15T10:36:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0eedf0e2548587b77295ba8180fd926d8eee3ee1'/>
<id>urn:sha1:0eedf0e2548587b77295ba8180fd926d8eee3ee1</id>
<content type='text'>
This was locally bound to `S` in one place.  Bind and use it throughout.
Since this is an RPC object, `O` is a better name.

In each item, use the description once and thereafter just the name.
</content>
</entry>
<entry>
<title>rpc: Add Simple test case for CastTable</title>
<updated>2023-06-15T11:03:53Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-06-15T10:28:51Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2228751a007aeab35f40c97174520e0268469e5d'/>
<id>urn:sha1:2228751a007aeab35f40c97174520e0268469e5d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpc: Move boxing from macro to CastTable::insert (formatting)</title>
<updated>2023-06-15T11:03:53Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-06-15T11:03:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=54b364cdcf324200c0dbfdc0012f7397510874ec'/>
<id>urn:sha1:54b364cdcf324200c0dbfdc0012f7397510874ec</id>
<content type='text'>
</content>
</entry>
</feed>
