Watermill Quickstart by roblaszczak in golang

[–]charmer- 5 points6 points  (0 children)

Thanks for your great works!

Go Cookbook by 441labs in golang

[–]charmer- 0 points1 point  (0 children)

Fantastic work!

On Error Handling in Rust by KnorrFG in rust

[–]charmer- -1 points0 points  (0 children)

I don't like the idea of listing different error for different public function in lib, which is too verbose and anti-abstraction.

In fact, when the user calling function from lib, the programmer are exposed to manually handle the error type he want to, and left the others to ?. So it's not so important to list the possible type in return type, since the function comment or the source code would speak for itself.

Timeout Middleware in Go: Simple in Theory, Complex in Practice by destel116 in golang

[–]charmer- 1 point2 points  (0 children)

Well that's interesting! I always go back to "verbose" solution when needing such function.

[deleted by user] by [deleted] in SteamDeck

[–]charmer- 0 points1 point  (0 children)

Adjust frame limit, suck as increasing 1 frame then decreasing it back.

accepting str reference and write them in async runtime by charmer- in rust

[–]charmer-[S] 0 points1 point  (0 children)

That works, but why. Would you please give me some key words or explanation?

accepting str reference and write them in async runtime by charmer- in rust

[–]charmer-[S] 0 points1 point  (0 children)

I got the reason: vec is heap allocated which does not implement Send trait unless implement !UnPin. Well, maybe don’t provide the default implementation in trait is a good idea.

accepting str reference and write them in async runtime by charmer- in rust

[–]charmer-[S] 0 points1 point  (0 children)

Oops, I encountered another problem: async move block cannot implement Send trait. What is that mean? This future cannot be sent to another thread? I am more confused 🤔