ChanServ changed the topic of #rust-embedded to: Welcome to the Rust Embedded IRC channel! Bridged to #rust-embedded:matrix.org and logged at https://libera.irclog.whitequark.org/rust-embedded, code of conduct at https://www.rust-lang.org/conduct.html
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
<JamesMunns[m]> sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.DiskArbitration.diskarbitrationd.plist DADisableEjectNotification -bool YES && sudo pkill diskarbitrationd
<JamesMunns[m]> hell yeah
<JamesMunns[m]> this is relevant for embedded because DFU bootloaders leave these messages all the time
<Darius> switch mode devices are very annoying
<Darius> surprised it doesn't get ejected properly though
cr1901 has quit [Ping timeout: 248 seconds]
Noah[m] has joined #rust-embedded
<Noah[m]> <JamesMunns[m]> "OH YOU CAN TURN OFF THOSE..." <- wait, it actually works now?
<JamesMunns[m]> Seems to! Seemed to need a reboot too
sroemer has quit [Ping timeout: 265 seconds]
sroemer has joined #rust-embedded
sroemer has quit [Changing host]
sroemer has joined #rust-embedded
sroemer has quit [Client Quit]
tiwalun[m] has joined #rust-embedded
<tiwalun[m]> You can also disable the mass storage part of the link using the official tools, see https://portal.u-blox.com/s/question/0D52p0000C6g9ErCQI/segger-jlink-ob-how-to-disable-it
sroemer has joined #rust-embedded
cr1901 has joined #rust-embedded
<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]> FCP is closed on https://github.com/rust-lang/leadership-council/issues/120, which means https://github.com/rust-lang/rust/pull/133461 should be approved, which means you now get a 7MB auto-generated HTML file containing the license texts for every dependency used by Rust, and a list of the copyright notices for all of the in-tree source files.
<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.
<thejpster[m]> there's an example ehuss uploaded at https://github.com/user-attachments/files/18042125/copyright.zip
dne has quit [Ping timeout: 265 seconds]
ivmarkov[m] has quit [Ping timeout: 265 seconds]
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.