---
title: "Calling Rust libraries from Go without Cgo"
publication: "Go Weekly"
issue: 596
published_at: "2026-04-10"
canonical_url: "https://golangweekly.com/issues/596"
---

Plus a dialect of Go that compiles to C, an Atari 7800 emulator, and lots of fun items at the end of the issue.        

#​596 — April 10, 2026 

[Read the Web Version](https://golangweekly.com/issues/596)   

🐣 You didn't miss an issue last week. **We're back** after a little Easter break. 😊
__
_Peter Cooper, your editor_ 

Together with [![Tiger Data logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_1280,h_282/e_make_transparent/co_white,e_outline:30/px1u7kjyvz7xnbm6ytir.png)](https://www.tigerdata.com/timescaledb?utm_source=cooperpress&utm_medium=referral&utm_campaign=golang-weekly-newsletter)   

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/garc1tzpy9eav7a5koc7.jpg)](https://solod.dev/)  

[Solod: A Subset of Go That Translates to C](https://solod.dev/) — Can Go be a ‘better C’? Solod (a.k.a. So) is a simplified version of Go with manual memory management (and no runtime) for C-style systems programming but with a syntax you already know. It’s early days but some interesting work is coming out of it, such as Anton’s [work on porting Go's stdlib to C.](https://antonz.org/porting-go-strings/) 

Anton Zhiyanov   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/8d165e8e.png)](https://www.tigerdata.com/timescaledb?utm_source=cooperpress&utm_medium=referral&utm_campaign=golang-weekly-newsletter) 

[10MB Binary. 10-Service Analytics Stack. Something's Off.](https://www.tigerdata.com/timescaledb?utm_source=cooperpress&utm_medium=referral&utm_campaign=golang-weekly-newsletter) — Go's philosophy is simplicity. Your data stack should match. TimescaleDB extends Postgres with hypertables, 95% compression, and continuous aggregates. Analytics on live data, no second database, no pipeline. Start building for free. 

Tiger Data (creators of TimescaleDB) sponsor   

**IN BRIEF:** 

- ⭐ [Go 1.26.2 and 1.25.9 have been released](https://groups.google.com/g/golang-announce/c/0uYbvbPZRWU/m/7CDdDXqeBwAJ) including ten security fixes covering `os`, `html/template`, `crypto/x509` and more. [Microsoft's builds](https://devblogs.microsoft.com/go/go-1-26-2-1-and-1-25-9-1-microsoft-builds-now-available/) are also available.
- First proposed in 2015, the [implementation of type-inferred composite literals](https://github.com/golang/go/issues/12854) has now become a 'likely accept'.
- There's a [Go compiler tweak](https://go-review.googlesource.com/c/go/+/756340) in the pipeline that optimizes `switch` statements using lookup tables, making certain constructions >2x faster.
- 🇬🇧 [GopherCon UK](https://www.gophercon.co.uk/) is taking place over August 11-13 in London. [Early bird tickets](https://www.gophercon.co.uk/tickets) are now available. If you want to see the caliber of the event, you can [watch last year's talks here.](https://www.youtube.com/playlist?list=PLDWZ5uzn69ewrYyHTNrXlrWVDjLiOX0Yb#gopherconuk2025)   

[Calling a Rust Library from Go Without Cgo](https://stoolap.io/blog/2026/04/08/calling-a-rust-library-from-go-with-cgo-disabled/) — [`cgo`](https://go.dev/wiki/cgo) is useful, but there are [often reasons to avoid it](https://relistan.com/cgo-when-and-when-not-to-use-it). Can you call a Rust library from Go without Cgo or WebAssembly? Yes, but it’s tricky, has risks, and isn't advised for every situation. 

Semih Alev   

💡 [purego](https://github.com/ebitengine/purego) offers a similar, though more general, approach to this problem.  

[A Fast Immutable Map in Go (with Tradeoffs)](https://lemire.me/blog/2026/03/29/a-fast-immutable-map-in-go/) — [constmap](https://github.com/lemire/constmap) gets you 3x faster lookups and 6x less memory used per key than `map`, but with several tradeoffs, including only offering `string` to `uint64` mapping, being unable to tell if a key is missing, and increased construction time. 

Daniel Lemire   

[CI that goes from commit to running job in 2–3 seconds](https://fandf.co/4bQTqHj) — AI shifted the bottleneck to integrating code. Get 2s job starts and parallel steps for $0.0001/s. Run `depot ci migrate`. 

Depot sponsor   

📄 [Stamp It: All Programs Must Report Their Version](https://michael.stapelberg.ch/posts/2026-04-05-stamp-it-all-programs-must-report-their-version/) – Go is the 'gold standard' here. Michael Stapelberg 

📄 [Many-Step Sequences in Go](https://lesiw.dev/go/step/) – A pattern for structuring multi-step sequences, inspired in part by Rob Pike. Chris Lesiw 

📺 [How to Implement the Outbox Pattern in Go and Postgres](https://www.youtube.com/watch?v=hJ4S-5MirvU) Package Main 

📄 [A Proposal for Go: Composite Type Constraints](https://github.com/golang/go/issues/78433) Quentin Quaadgras  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/f3v80ummytvzpgm5lxsr.jpg)](https://goplay.tools/)  

[Better Go Playground 3.0](https://goplay.tools/) — Newly powered by CodeMirror, you get syntax highlighting, autocompletion, file loading/saving, a VIM mode, and WASM support for running code in the browser, though by default it calls [the official playground](https://go.dev/play/) behind the scenes. You can also [deploy it with Docker](https://github.com/x1unix/go-playground/tree/master/docs/deployment/docker) for a playground of your own. [GitHub repo.](https://github.com/x1unix/go-playground) 

Denis Sedchenko   

🤖 [Google's Agent Development Kit for Go Goes 1.0](https://developers.googleblog.com/adk-go-10-arrives/) — A Go-flavored version of Google’s framework (also available for Python and Java) for building and deploying AI agents. v1.0 adds OpenTelemetry integration, self-healing logic, and enforcement of safety guardrails with human-in-the-loop confirmations. **_“The future of Go agents is here. Let’s build it.”_** 

Toni Klopfenstein (Google)   [![\](https://res.cloudinary.com/cpress/image/upload/v1689066589/lvjppxrs8unplbtgrplz.png)](https://github.com/jaypipes/ghw) 

[ghw 0.24.0: Hardware Discovery/Inspection in Go](https://github.com/jaypipes/ghw) — Retrieve info about a machine’s memory, CPU, GPU, storage, network, etc. Focused on Linux and Windows, with (very) partial macOS support. 

Jay Pipes   

[cors 1.0: CORS Middleware Library](https://github.com/jub0bs/cors) — A lot of polish for a milestone release of what claims to be _“perhaps the best CORS middleware library for Go.”_ 

jub0bs   

[go-version 1.9: Version Number Parsing and Verification Library](https://github.com/hashicorp/go-version) — For when you need to do things like check version numbers against constraints (e.g. is '1.2' `>= 1.0, < 1.4`). It also parses, sorts, and compares versions. 

HashiCorp   

- 🤖 [MCP Go SDK 1.5](https://github.com/modelcontextprotocol/go-sdk/releases/tag/v1.5.0) – Official Go SDK implementing the [Model Context Protocol](https://modelcontextprotocol.io/docs/getting-started/intro) for building clients and servers.
- [Hugo v0.160.0](https://github.com/gohugoio/hugo/releases/tag/v0.160.0) – Popular static site generator, now with the ability to inject CSS variables from configs with `css.Build`.
- [GoReleaser 2.15](https://goreleaser.com/blog/goreleaser-v2.15/) – Can now build and publish Flatpak bundles for Linux. There's also a [fresh official site.](https://goreleaser.com/)
- 📄 [Folio 0.6](https://github.com/carlos7ags/folio) – Modern PDF library for Go with a layout engine, HTML-to-PDF, forms, signatures, etc.
- [FastHTTP 1.70](https://github.com/valyala/fasthttp/releases/tag/v1.70.0) – High-performance HTTP implementation for [certain use cases.](https://github.com/valyala/fasthttp?tab=readme-ov-file#fasthttp-might-not-be-for-you)
- 🤖 [Telego 1.8](https://github.com/mymmrac/telego) – Telegram API library, now supporting [Telegram Bot API 9.6.](https://core.telegram.org/bots/api#april-3-2026)
- [Echo 5.1](https://github.com/labstack/echo/releases/tag/v5.1.0) – High performance, extensible minimalist web framework.
- [gRPC-Go 1.80](https://github.com/grpc/grpc-go/releases/tag/v1.80.0) – High performance Go gRPC implementation.
- [Kumo 0.8](https://github.com/sivchari/kumo) – Lightweight AWS service emulator for testing.
- [treefmt 2.5](https://github.com/numtide/treefmt) – Run multiple code formatters in parallel.
- [Air v1.65.0](https://github.com/air-verse/air/releases/tag/v1.65.0) – Live reload utility for Go apps.
- [GoBGP 4.4](https://github.com/osrg/gobgp) – BGP implementation in Go.      

📰 Classifieds   

🎯 New from Three Dots Labs: Hands-on DDD training for Go. Build a 20K-line platform in your IDE. [Learn the skills AI can't replace.](https://threedots.tech/the-domain-engineer/?utm_source=golang-weekly%0D%0A) 

--- 

[Real-time search data](https://serpapi.com/playground/?utm_source=cooperpress&utm_campaign=go_classified) for backend engineers who care about reliability and scale. 

--- 

🐄 [Stockyard: 150 self-hosted dev tools.](http://stockyard.dev/tools/) Single Go binary each, embedded SQLite, zero deps. [Free tier.](http://stockyard.dev/tools/)     

🕺 Some extra Go fun  

People are using Go for all sorts of fun things and I have a backlog of items that don't fit into the usual flow. You might find some of these things interesting, though!   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/hqkg5odmyvxw143xr9h2.jpg)](https://github.com/JetSetIlly/test7800)  

[Test7800: An Experimental Emulator for the Atari 7800](https://github.com/JetSetIlly/test7800) — An accurate Atari 7800 emulator written in Go, which supports a variety of cartridge types for the legendary 1980s console. From the same creator as [Gopher2600](https://github.com/jetsetilly/gopher2600), a now mature (and still [actively developed](https://github.com/JetSetIlly/Gopher2600/releases/tag/v0.55.0)) Atari 2600 emulator. 

JetSetIlly (Gopher2600)   

[godoom: A Pure Go Doom-Style 3D Engine](https://github.com/markel1974/godoom) — A bare-metal, decoupled 3D rendering and physics engine in the Doom style. I _kinda_ got it working after grabbing a [shareware copy of DOOM.WAD](https://doomwiki.org/wiki/DOOM1.WAD) but it’s clearly a WIP. 

Marcello Russo   

[BOA: Self-Documenting CLIs From Go Structs](https://github.com/GiGurra/boa) — Or, as Johan puts it, _“if kong and urfave/cli had a baby and made it cobra compatible.”_ 
Johan Kjölhede   

[HOSA: Homeostasis Operating System Agent](https://github.com/bricio-sr/hosa) — _“An autonomous nervous system for Linux.”_ I confess this is above my pay grade, but Fabricio is working on it for his master’s degree and it uses a lot of eBPF which we don’t often see. 
Fabricio Amorim   

[cli-agent-lint: Check if Your CLI Tool is Ready for AI Agents](https://github.com/Camil-H/cli-agent-lint) — An interesting idea worth exploring further. 
Camil Haroune   

[A Curated List of Programming Languages That Compile to Go](https://github.com/ubavic/compiles-to-go) 
Nikola Ubavić   

[Go Releases: v1.20–v1.26 Version History and EOL Dates](https://releaserun.com/go-releases/) 
ReleaseRun   

🔊 [Byrd: Pure Go MP3 Decoder Library](https://github.com/kota-yata/byrd-mp3) 
Kota Yatagai         

Curated by Peter Cooper and [Glenn Goodrich](https://twitter.com/ruprict).
Go is a [trademark of Google](https://go.dev/brand).
The [Go gopher](https://go.dev/blog/gopher), whenever used, is an original creation by Renée French. 

[Change your email](https://golangweekly.com/edit_subscription/*|UID|*)
[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
