-Wall ain't all

332 points · 25 comments · view on lemmy.world

25 Comments

Perroboc@lemmy.world · 58 pts · 2y (1 reply)

int unused_variable = 0;

Dude wtf is your problem don’t just leave things lying about there don’t you know how to code I mean what the- I don’t go to your house and leave shit on the floor and just—

int _unused_variable = 0;

Ok. We cool.

lseif@sopuli.xyz · 1 pts · 2y

sometimes you need an unused variable. some uses in rust:

// destructuring
let (width, _height) = get_dimensions();

// trait implementations (i couldnt think of a better example for this)
impl Into for AlwaysZero {
    fn into(_value: Self) -> {
        return 0;
    }
}

// some types (eg. Result) must be 'used'
// assigned to a variable if we dont care about the return value
let _ = returns_result("foo");
nautilus@lemmy.dbzer0.com · 49 pts · 2y (4 replies)

mfw my face when the go compiler fucking screams at me because I dared to declare a variable and not use it

Steeve@lemmy.ca · 24 pts · 2y (1 reply)

IF THIS IS INTENTIONAL PUT AN UNDERSCORE BEFORE THE VARIABLE NAME YOU ABSOLUTE FUCKING MORON

nautilus@lemmy.dbzer0.com · 13 pts · 2y

didn’t know the go compiler’s name was steeve

clearleaf@lemmy.world · 11 pts · 2y (1 reply)

"Don't worry too much about your loops bro, I am the apex of computer science research, I know every optimization in the book." Ok want to compile this? "Is that... An unused variable?!? WHAT THE FUCK ARE WE GOING TO DO GOD IS DEAD"

nautilus@lemmy.dbzer0.com · 2 pts · 2y

honestly my dumb ass will choose for i in list: over for i := range slice { every single time. I’m ugly and I’m proud!

bappity@lemmy.world · 29 pts · 2y (1 reply)

I am guilty of passing Exception variables into try catches and not using them

fiah@discuss.tchncs.de · 27 pts · 2y
catch(error) {
  // todo
}
Limitless_screaming@kbin.social · 13 pts · 2y (4 replies)

Function is changing a global variable, the global variable is checked after every call to the function. That's your return value.

qaz@lemmy.world · 12 pts · 2y (1 reply)

I spent 3 hours debugging the serialization code to find out it the crash was because the function didn't have a return statement.

Limitless_screaming@kbin.social · 10 pts · 2y

Sorry, cannot relate; Everything is a boolean when you're using JavaScript.

ekky43@lemmy.dbzer0.com · 4 pts · 2y

That's..... Terrible. Truly the stuff of nightmares!

conneru64@lemmy.blahaj.zone · 1 pts · 2y

OOP methods?

gredo@lemmy.world · 9 pts · 2y (7 replies)

laughs in golang

qaz@lemmy.world · 8 pts · 2y (6 replies)

I would love to use golang for this but it’s standard library alone is bigger than the amount of available RAM.

gredo@lemmy.world · 2 pts · 2y (2 replies)

Interesting, since golang only includes the parts of the stdlib that are used in the executable binary.

qaz@lemmy.world · 4 pts · 2y (1 reply)

I just tested it and a simple hello world program still produces a 1.7MiB binary, while the device only has 512KiB of RAM.

package main

import "fmt"

func main() {
    fmt.Println("hello world")
}
pipe01@lemmy.pipe01.net · 3 pts · 2y

Strip the debug info, should be a lot smaller. Also check out TinyGo, it's meant for embedded devices

gredo@lemmy.world · 1 pts · 2y (2 replies)

BTW: what are you using instead to get small binaries/scripts?

qaz@lemmy.world · 3 pts · 2y (1 reply)

I'm currently using C++

mkwt@lemmy.world · 2 pts · 2y

Likely your C++ implementation also doesn't ship the full standard library. And you may even turn off exceptions and RTTI.

DigitalPaperTrail@kbin.social · 6 pts · 2y
[ removed ]
fl42v@lemmy.ml · 1 pts · 2y

Idk, mb they expected you to modify smth passed by reference/pointer, and the compiler's too busy to care :)

marcos@lemmy.world · -2 pts · 2y (1 reply)

Ok, you are certainly in one of those languages where plenty of your functions shouldn't return a value, and you won't ever let the compiler know that.

On all of the other languages, it's an error, not even a warning.

qaz@lemmy.world · 9 pts · 2y

It's C++ and it just causes a SIGILL.