Похожие чаты

Hey, I work my way through the rust book and found

something with the "_" Placeholder in "match" which confuses me...

This works:
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=5c8ac044d6c720ae122f23517db714b8

but this is not working:
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=f1e7fc114e4f7fbfd3987267a8ead294

Compiler says:
match arms have incompatible types

I think the return value for the function is the reason for this behavior? And in my opinion the error message is also confusing, because the match arms have in both cases the same types?

But maybe I just overlook something?

play.rust-lang.org
Rust Playground
A browser interface to the Rust compiler to experiment with the language

5 ответов

13 просмотров
Peter- Автор вопроса

so it's more or less not related to the _ Placeholder...but anyway I would like to know why this happens ... And is it possible to give back some kind of "empty" value when the return type of fn is i32 ?

have in both cases the same types no, they don't: match x { 1 => x+1, _ => (), } if x is 1, you return an i32, if it's something else, you return the unit type, (). these are different types

Peter
so it's more or less not related to the _ Placehol...

if you want to represent absence of value, use the Option type

Artem Starikov
have in both cases the same types no, they don't:...

match x { 1 => {println!("{}",x+1);}, _ => (), } this works because this: { println!("{}", x + 1); } returns () as well

Peter
so it's more or less not related to the _ Placehol...

Put never type or unreachable!() instead of unit type in _

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
@Benzenoid can you tell me the easiest, and safest way to bu.y HEX now?
Živa Žena
20
This is a question from my wife who make a fortune with memes 😂😂 About the Migration and Tokens: 1. How will the old tokens be migrated to the new $LGCYX network? What is th...
🍿 °anton°
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
What is the Dex situation? Agora team started with the Pnetwork for their dex which helped them both with integration. It’s completed but as you can see from the Pnetwork ann...
Ben
1
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Anyone knows where there are some instructions or discort about failed bridge transactions ?
Jochem
21
@lozuk how do I get my phex copies of my ehex from a atomic wallet, to move to my rabby?
Justfrontin 👀
11
Карта сайта