[tor-bugs] #23881 [Core Tor/Tor]: Implement a way to utilise tor's logging system from Rust code

Tor Bug Tracker & Wiki blackhole at torproject.org
Sat Dec 2 05:17:08 UTC 2017


#23881: Implement a way to utilise tor's logging system from Rust code
------------------------------+------------------------------------
 Reporter:  isis              |          Owner:  chelseakomlo
     Type:  enhancement       |         Status:  needs_revision
 Priority:  High              |      Milestone:  Tor: 0.3.3.x-final
Component:  Core Tor/Tor      |        Version:
 Severity:  Normal            |     Resolution:
 Keywords:  rust, rust-pilot  |  Actual Points:
Parent ID:                    |         Points:  3
 Reviewer:                    |        Sponsor:
------------------------------+------------------------------------

Comment (by manish.earth):

 > Would you recommend using the #[inline] tag for that function then?

 yep.

 To give an exact description of #[inline]:

 For the *same* crate it acts as a small hint for inlining. This is also
 true for generics that get instantiated in a different crate.

 For non-generic functions from a different crate, it is impossible for
 rustc to inline without this, because by the time you get to the current
 crate it's already been codegenned. #[inline] forces rustc to include
 extra metadata that lets the next crate re-codegen it if it wishes to. (It
 also contains the small hint for inlining)

 #[inline(always)] is a *strong* hint, and will force inlining unless it's
 impossible (e.g. in the presence of a lot of recursion). #[inline(never)]
 does what it says on the tin.

 In this case it's a macro and going to be used from a different crate, so
 we _need_ `#[inline]` so that the other crate can inline it if the
 optimizer thinks it is a good idea. We don't need inline(always) -- the
 optimizer is smart.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/23881#comment:13>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list