cbjamo[m] has quit [Quit: Idle timeout reached: 172800s]
<JamesMunns[m]>
Speaking of JLinks, on MacOS for some reason the thing the JLink does where it shows up as a USB flash drive is acting weird, so it disconnects and reconnects every 3-5 seconds.
<JamesMunns[m]>
BUT, every time it does that, it pops a "device disconnected without ejecting" error in the notification center. I always have do not disturb on, so I didn't notice it. But I've had it plugged in for *hours*, so opening notifications would hang for like 45 seconds before it opened
<JamesMunns[m]>
OH YOU CAN TURN OFF THOSE NOTIFICATIONS ENTIRELY NOW
<danielb[m]>
<dirbaio[m]> "This is zero cost: `fn foo..." <- home come embassy-sync doesn't use this pattern everywhere (looking at Mutex::lock for example)?
<dirbaio[m]>
I meant it only for cases that are "async fn that just calls another async fn"
<danielb[m]>
yup, embassy has a bunch of `async fn() { poll_fn().await }
<danielb[m]>
* yup, embassy has a bunch of `async fn() { poll_fn().await }`
<danielb[m]>
* poll_fn().await }`
<dirbaio[m]>
ah then those could be changed, yes
<danielb[m]>
can rustdoc re-sugar them into async fns?
<dirbaio[m]>
no :(
<danielb[m]>
:/
<JamesMunns[m]>
could do cfg doc trickery? that's sad though :p
<JamesMunns[m]>
(I don't think this is actually a good idea)
kenny has joined #rust-embedded
<thejpster[m]>
your rust installs are about to get bigger, and I'm sorry about that - but it is for a good cause.
<thejpster[m]>
if you want to ship a binary that statically links to libstd, there's a smaller COPYRIGHT-libstd.html file that you can ship with your binary, which covers everything libstd uses. There isn't one for libcore, but I guess there could be.
<diondokter[m]>
Good to know! And 7mb isn't too bad. Thanks for sharing!
<thejpster[m]>
rust-lld.exe is 63 MiB and rustc-driver.dll is 138 MiB, so hopefully it's just noise. And it compresses very well so you barely see it in the compressed tarball that rustup downloads.
diondokter[m] has quit [Ping timeout: 265 seconds]
JamesMunns[m] has quit [Ping timeout: 265 seconds]
ivmarkov[m] has joined #rust-embedded
JamesMunns[m] has joined #rust-embedded
diondokter[m] has joined #rust-embedded
nadja has quit [Ping timeout: 265 seconds]
dequbed has joined #rust-embedded
dne has joined #rust-embedded
dkm has quit [Ping timeout: 265 seconds]
dkm has joined #rust-embedded
<igiona[m]>
<danielb[m]> "yup, embassy has a bunch of `..." <- In other languages (i.e. c#), "optimizing" this to async fb() { poll_fn() } "messes" with the stack trace in case of exceptions.
<igiona[m]>
Since we don't have exceptions here, it's probably not an issue. I wonder though if the stack trace in the event of a panic might be somewhat harder to "decode"?
<igiona[m]>
<thejpster[m]> "if you want to ship a binary..." <- Aka your code must be GPLv3 or similar due to libc?
<igiona[m]>
* to libc? (When statically linking libstd)
adamgreig[m] has joined #rust-embedded
<adamgreig[m]>
<thejpster[m]> "if you want to ship a binary..." <- incredible to finally see this resolved
<adamgreig[m]>
great work
<adamgreig[m]>
years of "well yes i guess libstd has a bunch of copyright stuff in it that you should probably have to declare... whose copyright? no idea, here's the git commit history, oh it includes a bunch of code people pasted in from elsewhere too? well... good luck"
<adamgreig[m]>
it would be interesting to know what's in libstd that's not in libcore for a more accurate COPYRIGHT-libcore, I suppose, but at least the libstd one is presumably a legitimate superset :P
<adamgreig[m]>
is it clear/decided that one should be shipping that copyright-libstd with any rust binary (that statically links anything from libcore/libstd, as presumably they all do)? at some point i remember talk of it perhaps not being necessary, or at least complicated by the question of how much of those copyrighted inputs end up in the output binary, and whether the rust project itself considers its own libstd code to have an exception in
<adamgreig[m]>
the way gnu libc does or what...
<thejpster[m]>
You should talk to a lawyer for that kind of legal advice. But if your lawyer tells you to ship the license texts for every component of libstd, they are now nicely packed into a single file.
<thejpster[m]>
libcore should be a much smaller set of things, but I get the list by vendoring the workspace so it’s a bit more work to pull the subset.
<thejpster[m]>
Like, you no longer have hashbrown, for one example.