<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-rpcbase/src/obj.rs, branch arti-v1.2.7</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.7</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.7'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-08-14T15:52:36Z</updated>
<entry>
<title>rpcbase: Implement RPC method delegation support.</title>
<updated>2024-08-14T15:52:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-14T15:52:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3d18a0b83556dada0279f2dd6681d81391e57177'/>
<id>urn:sha1:3d18a0b83556dada0279f2dd6681d81391e57177</id>
<content type='text'>
(Couldn't use Deref here, since we needed to get an Arc.)

Only one delegation target per object is permitted for now.

This will help with #1523.
</content>
</entry>
<entry>
<title>rpcbase: Use newer "tgens" deftly syntax</title>
<updated>2024-07-25T12:43:30Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-23T13:01:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=06c40c3935d5006a7b6e2a7a54251043cd0c5740'/>
<id>urn:sha1:06c40c3935d5006a7b6e2a7a54251043cd0c5740</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpcbase: remove a TODO about expose_outside_of_session</title>
<updated>2024-07-25T12:43:30Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-23T12:51:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dfa3a0414d54c1d2428bc6eac305b7ab8ac2d157'/>
<id>urn:sha1:dfa3a0414d54c1d2428bc6eac305b7ab8ac2d157</id>
<content type='text'>
(There is no longer such a thing as a "pseudomethod.")
</content>
</entry>
<entry>
<title>rpc: Test a previously unchecked cast function.</title>
<updated>2024-07-16T00:01:30Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-16T00:01:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=cf4999cab0898c398526484d124051084bbcabde'/>
<id>urn:sha1:cf4999cab0898c398526484d124051084bbcabde</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpc: Add a test for failed downcast.</title>
<updated>2024-07-15T15:23:44Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-15T15:23:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1a18a7f88269bb72eb537a4968f458987815d5c8'/>
<id>urn:sha1:1a18a7f88269bb72eb537a4968f458987815d5c8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change deftly syntax to post 0.12.1 version</title>
<updated>2024-06-17T18:13:06Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-06-17T17:33:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dddf07561868579ea687eeadaa8f863aa833c764'/>
<id>urn:sha1:dddf07561868579ea687eeadaa8f863aa833c764</id>
<content type='text'>
 * Change `pub` to `export`
 * Change the `=` in define to `:`
 * Change `pub_template_semver_check` to `template_export_semver_check`

Right now, 0.12.1 supports both syntaxes.  I have verified this branch
also compiles with
  https://gitlab.torproject.org/Diziet/rust-derive-deftly/-/merge_requests/402
  ee171ffaf56d7dcb7d75584054921153fe19b222
</content>
</entry>
<entry>
<title>Update to derive-deftly 0.12.1</title>
<updated>2024-06-17T18:13:05Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-06-17T17:28:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9fd1b84663081afcccda5eb41455a715947823ff'/>
<id>urn:sha1:9fd1b84663081afcccda5eb41455a715947823ff</id>
<content type='text'>
 * Bump in Cargo.toml
 * Deal with `${Xmeta as ...}` incompatible change, by
   always specifying an `as`, and changing `as tokens`.
</content>
</entry>
<entry>
<title>tor-rpcbase: Add facility to downcast to Arc&lt;dyn Trait&gt;.</title>
<updated>2024-05-09T20:34:17Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-07T20:29:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f265d81977408932b40b9699c4bb77655bbd2ebd'/>
<id>urn:sha1:f265d81977408932b40b9699c4bb77655bbd2ebd</id>
<content type='text'>
Previously we could only downcast to &amp;dyn Trait,
which is not adequate.
</content>
</entry>
<entry>
<title>Make cast_to_trait inherent on dyn Object.</title>
<updated>2024-05-09T20:34:17Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-07T19:56:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0f6a41af287230698b4668244f5a17b46ace8fdf'/>
<id>urn:sha1:0f6a41af287230698b4668244f5a17b46ace8fdf</id>
<content type='text'>
This makes `ObjectRefExt` less necessary, and will let us make it
Arc-only.
</content>
</entry>
<entry>
<title>rpc: Revise backend for dispatchable-object macro.</title>
<updated>2024-04-22T16:02:29Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-04-11T14:44:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=640af8c9c7f79ca033d766391b12c2f30a7f26fd'/>
<id>urn:sha1:640af8c9c7f79ca033d766391b12c2f30a7f26fd</id>
<content type='text'>
The trick here is to provide an `Invoker` trait,
with blanket implementations for appropriate `fn(_,_,_,_?) -&gt; _`.
With this trick, we no longer need to have a `decl_rpc_invoke_fn`.

This lets us discard HasConstTypeId entirely,
and will let us simplify some other syntax moving forward.
</content>
</entry>
</feed>
