I hereby claim:
- I am mlowicki on github.
- I am mlowicki (https://keybase.io/mlowicki) on keybase.
- I have a public key ASCscE1TxlKFBA34WFPo5lFyE90paa80JKBpnQ13RUg7kQo
To claim this, I am signing this object:
use anyhow::Result; | |
use clap::Parser; | |
use rand::{ | |
distributions::{Alphanumeric, DistString}, | |
Rng, | |
}; | |
use rdkafka::{ | |
config::ClientConfig, | |
consumer::{BaseConsumer, CommitMode, Consumer, ConsumerContext}, | |
error::KafkaError, |
I hereby claim:
To claim this, I am signing this object:
> go install github.com/mlowicki/lab && ./bin/lab | |
Start f | |
Start g | |
Start h | |
3rd deferred in h | |
2nd deferred in h | |
Panic found: boom! | |
1st deferred in h | |
End g | |
Deferred in g |
package main | |
import "fmt" | |
func f() { | |
fmt.Println("Start f") | |
defer func() { | |
fmt.Println("Deferred in f") | |
}() | |
g() |
> go install github.com/mlowicki/lab && ./bin/lab | |
Deferred by h | |
Deferred by g | |
Deferred by f | |
panic: boom! | |
panic: 2nd explosion! | |
goroutine 5 [running]: | |
panic(0xb8480, 0x8201c82d0) | |
/usr/local/go/src/runtime/panic.go:481 +0x3e6 |
import "fmt" | |
func f(ch chan int) { | |
defer func() { | |
fmt.Println("Deferred by f") | |
}() | |
g() | |
ch <- 0 | |
} |
> go install github.com/mlowicki/lab && ./bin/lab | |
Deferred by h | |
Deferred by g | |
Deferred by f | |
panic: boom! | |
goroutine 17 [running]: | |
panic(0xb83e0, 0x820220050) | |
/usr/local/go/src/runtime/panic.go:481 +0x3e6 | |
main.h() |
package main | |
import "fmt" | |
func f(ch chan int) { | |
defer func() { | |
fmt.Println("Deferred by f") | |
}() | |
g() | |
ch <- 0 |
> go install github.com/mlowicki/lab && ./bin/lab | |
f() == 0 | |
g() == 1 |
import "fmt" | |
func f() int { | |
n := 0 | |
defer func() { | |
n++ | |
}() | |
return n | |
} |