exhaustive
teloxide
Our great sponsors
exhaustive | teloxide | |
---|---|---|
11 | 10 | |
268 | 2,632 | |
- | 4.7% | |
6.2 | 9.3 | |
9 days ago | 4 days ago | |
Go | Rust | |
BSD 2-clause "Simplified" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
exhaustive
-
Compile-time safety for enumerations in Go
This is an analyzer that will catch this: https://github.com/nishanths/exhaustive
I believe it's in golangci-lint.
-
Tools besides Go for a newbie
I agree linters in general are quite useful for Go though. The default suite from golangci-lint is quite good. I would also recommend enabling exhaustive if you're working with a codebase that uses "enums" (full disclosure, I contributed a bit to that project).
-
What āsucksā about Golang?
thereās a linter for exhaustive matching: https://github.com/nishanths/exhaustive
-
Rusty enums in Go
I tried to find that linter and found this: exhaustive
-
Supporting the Use of Rust in the Chromium Project
And in Go you'd use a linter, like this one.
-
Blog on enums in Go: benchmarks; issues; assembly
this is AST go vet analyzer that performs just that: https://github.com/nishanths/exhaustive (too bad it can not do struct based enums..)
-
Rust Is Hard, Or: The Misery of Mainstream Programming
>> the main thing missing from Go is ADT's. After using these in Rust and Swift, a programming language doesn't really feel complete without them
What are the differences between an ADT (plus pattern matching iād reckon?) in Rust/Swift vs the equiv in Go (tagged interfaces + switch statement)?
One has exhaustive matching at compile time, the other has a default clause (non exhaustive matching), although thereās an important nub here with respect to developer experience; it would be idiomatic in Go to use static analysis tooling (e.g. Rob Pike is on record saying that various checks - inc this one - donāt belong in the compiler and should live in go vet). Iāve been playing with Go in a side project and using golint-ci which invokes https://github.com/nishanths/exhaustive - net result, in both go and rust, i get a red line of text annotated at the switch in vscode if i miss a case.
Taking a step back, there isnāt a problem you can solve with one that you canāt solve with the other, or is there?
To take a step further back, why incomplete?
-
Why are enums not a thing in Go?
Use a linter.
-
1.18 is released
For an exhaustive linter, were you referring to this? It looks pretty nice. If it's possible to check this with static analysis, is it something that could be in the compiler itself in the future?
-
Go Replaces Interface{} with 'Any'
https://github.com/nishanths/exhaustive
here, have fun. Youāre gonna write some tests, make new types to satisfy interfaces for testing, and then wind up with branches for your test paths in your live code, but go for it, I guess. You know everything! I am but a simple blubbite, too dim, too dim to get it.
teloxide
-
How do I cross compile for Rasperry Pi 64 bit on Windows?
I'm using teloxide, which is a crate for building Telegram bots. I have a small Telegram bot running on my Raspberry Pi, and since it's very slow to compile, I'm trying to cross compile it from my Windows machine, with no luck.
- ĀæCoĢmo hacer un bot de criptomonedas en Telegram con Rust y Teloxide.md
-
Rust Is Hard, Or: The Misery of Mainstream Programming
I do completely agree with your advice of using `Arc`s. But unfortunately, sometimes it gets very tedious to deal with all these `Arc`s: https://github.com/teloxide/teloxide/blob/ec1d41220c51872cf9....
It also blurs the advantage of Rust as a lifetime validation tool if you use reference counting anyways. But it seems that it's the only viable approach for async at the moment.
-
We Code&Jobs like to share our Whitepaper for Solana community
A Telegram bot built with Rust Telegram bot framework Teloxide, used to provide support to new users discovering our network, and to help them navigate through our channels of information by using various commands to interact with and find a job as fast as possible without need for visiting /jobs page from our website.
-
I wrote a telegram bot in rust - a brief story and bot description
There is https://github.com/teloxide/teloxide though, maybe there is a confusion? It's actively maintained?
-
Rust code in production to show the latest jobs from Code&Jobs
This is prototype and we plan to include more features. The bot is built with Rust Teloxide framework and we plan to deploy more Rust code for our production code, web pages and end points.
-
Subreddit for Rust jobs
We also built a Telegram bot with Rust Teloxide framework and will deploy this week and show that is is written in Rust also.
-
What's everyone working on this week (19/2021)?
Working on teloxide, a Telegram bots framework for Rust.
-
Introduction to gRPC in Rust
As was said earlier, for visibility purposes, gRPC client is also a Telegram bot. To implement the bot, teloxide library was used.
-
How comfortable should I be with Rust before I start playing with libraries and frameworks?
You can also make some social media bots with Rust
What are some alternatives?
golangci-lint - Fast linters Runner for Go
rust-embed - Rust Macro which loads files into the rust binary at compile time during release and loads the file from the fs during dev.
reposurgeon
telexide - an easy-to-use async telegram bot library for Rust
Ionide-vim - F# Vim plugin based on FsAutoComplete and LSP protocol
rusqlite - Ergonomic bindings to SQLite for Rust
go-optional - A library that provides Go Generics friendly "optional" features.
feel
enumcheck - Allows to mark Go enum types as exhaustive.
Rust-Full-Stack - Rust projects here are easy to use. There are blog posts for them also.
server
substrate-open-working-groups - The Susbstrate Open Working Groups (SOWG) are community-based mechanisms to develop standards, specifications, implementations, guidelines or general initiatives in regards to the Substrate framework. It could, but not restricted to, lead to new Polkadot Standards Proposals. SOWG is meant as a place to find and track ongoing efforts and enable everybody with similar interests to join and contribute.