Sankalp has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
Sankalp has joined #crystal-lang
Sankalp has quit [Client Quit]
Sankalp has joined #crystal-lang
Sankalp has quit [Client Quit]
Sankalp has joined #crystal-lang
Sankalp has quit [Client Quit]
Sankalp has joined #crystal-lang
Sankalp has quit [Client Quit]
Sankalp has joined #crystal-lang
Sankalp has quit [Client Quit]
Sankalp has joined #crystal-lang
irc_user has quit [Quit: Connection closed for inactivity]
ur5us has quit [Ping timeout: 255 seconds]
jmgl has joined #crystal-lang
irc_user has joined #crystal-lang
jmgl has quit [Client Quit]
<FromGitter>
<dorianmariefr> @Blacksmoke16 that's the only way I found to share a variable between specs, e.g. no "let", no "def"
irc_user has quit [Quit: Connection closed for inactivity]
Starfoxxes has quit [Ping timeout: 240 seconds]
Starfoxxes has joined #crystal-lang
Starfoxxes has quit [Ping timeout: 255 seconds]
Starfoxxes has joined #crystal-lang
Starfoxxes has quit [Ping timeout: 260 seconds]
Starfoxxes has joined #crystal-lang
Starfoxxes has quit [Ping timeout: 258 seconds]
Starfoxxes has joined #crystal-lang
Starfoxxes has quit [Ping timeout: 255 seconds]
Starfoxxes has joined #crystal-lang
notzmv has quit [Ping timeout: 240 seconds]
Starfoxxes has quit [Ping timeout: 244 seconds]
ur5us has joined #crystal-lang
notzmv has joined #crystal-lang
_ht has joined #crystal-lang
Sankalp has quit [Ping timeout: 240 seconds]
sagax has quit [Read error: Connection reset by peer]
Sankalp has joined #crystal-lang
hightower3 has quit [Remote host closed the connection]
ur5us has quit [Ping timeout: 255 seconds]
hightower3 has joined #crystal-lang
jmdaemon has quit [Ping timeout: 244 seconds]
frojnd has quit [Changing host]
frojnd has joined #crystal-lang
sagax has joined #crystal-lang
Starfoxxes has joined #crystal-lang
<FromGitter>
<Blacksmoke16> @dorianmariefr You can define a private method outside of the test code and use that. Or just define the variable in each `it` block
<FromGitter>
<Blacksmoke16> also i will say you're doing some crazy stuff 😅, looking into that invalid memory access i was able to cause like 4 diff compiler errors/bugs xD
<FromGitter>
<Blacksmoke16> > Program received and didn't handle signal ILL (4) ⏎ ⏎ never even seen this one before ha
onyx has joined #crystal-lang
_ht has quit [Remote host closed the connection]
ur5us has joined #crystal-lang
irc_user has joined #crystal-lang
<FromGitter>
<moe:busyloop.net> i've seen it before when trying weird macro stuff, but don't remember how i produced it (proc's were involved, it's fairly easy to get funky compiler error when combining those with macros)
<irc_user>
I'm a statically typed language noob, so I'm kind of confused as to why this is allowed in crystal `test = "hello"; test = 5` but not allowed in Rust for example? Is it simply a matter of style/perceived clarity, or is there a performance reason for it? I'm also confused as to why in most languages you have to "declare" a variable with `var` or `let` or `:=`, but in Crystal you don't.
<FromGitter>
<Blacksmoke16> the gist of it is Crystal isnt fully statically typed
<irc_user>
I wonder if there is a book I can read which will give some background on why some static languages work the way they do. Maybe I should dabble in C a bit.
<FromGitter>
<Blacksmoke16> is*
<FromGitter>
<Blacksmoke16> er no, isn't was correct*
<FromGitter>
<Blacksmoke16> its one of its features, where you dont need to type local vars or method args
<FromGitter>
<Blacksmoke16> while still allowing to do so if you want
<irc_user>
Hmm, so it does runtime checks then, which can slow things down?
onyx has quit [Quit: Leaving]
<FromGitter>
<Blacksmoke16> type is inferred from the values, so probably marginally?