00:01
<
hryx >
there's probably just something messed up about my setup. but if there's a bug, I don't want to just work around it, knaw mean?
00:01
<
scientes >
of course
00:01
<
scientes >
like the libuserland crash dumps dont work for me
00:01
<
scientes >
so i just work around that
00:04
<
hryx >
I wanna work on the peer type resolution ticket (2749) but I'm so intimidated by ir.cpp. it's 26k lines of C++
00:04
<
scientes >
i've done quite a bit of work in ir.cpp
00:04
<
scientes >
its well organized
00:05
darithorn has joined #zig
00:06
<
scientes >
ahhh i see, I was looking at some peer type stuff and didn't understand what it did
00:07
<
emekankurumeh[m] >
ir.cpp looks a lot scarier than it actually is
00:08
<
scientes >
I've done lots of work in it, and it isn't that scary
00:08
<
scientes >
analyze has two passes, and almost all that code is in ir.cpp
00:08
<
scientes >
you first do ir_build_foo, then ir_analyze_instruction_foo
00:09
<
scientes >
oh that reminded me of a bug i forgot to file
00:11
<
hryx >
looks like some relevant pieces are ir_resolve_peer_types() and the ResultLocPeerParent type
00:11
<
hryx >
and ResultLocPeerParent has a parent itself, which I assume is the Var or Return that I'm looking for
00:12
<
hryx >
yer right friendos, this isn't so bad. I'll mess around with it for a bit
00:15
<
scientes >
The only problems I have had have been to be with it being compiled in c++ mode.l
00:16
<
scientes >
but otherwise it thankfully is coded to be understandable, even if that means it is a little more repetitive
00:19
<
mikdusan >
after using zig it hurts (as in why am I wasting time on this?) to deal with c++ includes, fwd declares, templates and cyclic deps
00:21
<
scientes >
when was C++ not painful?
00:21
<
mikdusan >
heh maybe i just didn't know how painful it was
_before_
00:21
<
scientes >
but what I am really excited about in zig right now is doing what i've been doing in C
00:21
<
scientes >
but compared to C++, C was always painful
00:21
<
scientes >
*compared to C, C++ was always
00:21
<
hryx >
as humans our brains adjust to worse levels of pain just to get through the day. until something better comes along
00:22
<
hryx >
dat's progress
00:22
<
mikdusan >
did hryx just coin a slogan for Zig?
00:22
<
daurnimator >
It's more just swapping from one sort of pain to another
00:22
<
scientes >
like that @shuffle PR i just opened
00:22
<
hryx >
mikdusan: :D
00:22
<
scientes >
lots of work, but the result will (hopefully) be really awesome
00:22
<
scientes >
we already have it "C but without the problems"
00:23
<
daurnimator >
"C but with less problems"
00:23
<
daurnimator >
we can't fix all of them
00:24
<
daurnimator >
--> you
*can't* fix all of them without simultaneously taking away power/capabilities.
00:25
<
daurnimator >
but then you end up in the situation where you're not as powerful as C.... which means C gets to remain
00:25
<
scientes >
which is not news to people in this channel, but was still good
00:26
<
scientes >
yeah I'm wondering if aliasing will make it into 1.0, maybe not
00:26
<
scientes >
without that C is still faster.....
00:27
<
Cadey >
if you're not sure, you can always run benchmarks
00:27
<
scientes >
but what I'm trying to do doesn't need that
00:27
<
scientes >
I agree that it needs more thought, and the current old c memory model is correct for now
00:28
ianlilleyt has joined #zig
00:28
<
mikdusan >
is strict-aliasing an individual optimization pass in llvm?
00:28
ianlilleyt has quit [Remote host closed the connection]
00:28
<
mikdusan >
or whatever it would be called
00:29
<
daurnimator >
^ TIL `void foo(int[static 4]); // >= 4 elements, cannot be null` is a C99 thing
00:30
<
shachaf >
I use that occasionally.
00:30
<
shachaf >
void SHA1_end(SHA1State *sha1, U8 output[static SHA1_HASH_BYTES]);
00:30
<
scientes >
daurnimator, the calling conventions dictate that that would be passed in registers too
00:30
<
shachaf >
Hmm? It's passed as a pointer, same as it would be without the static.
00:32
<
scientes >
oh it has to be a "composite type"
00:34
<
scientes >
because llvm could even handle passing arrays by value
00:34
<
scientes >
it has extractvalue and insertvalue
00:43
<
hryx >
--verbose-ir is causing a failed compiler assertion. man, today is just not going to be productive, is it?
00:44
<
mikdusan >
hryx: andy showed me a way to get rid of that, and reduce noisy ir output
00:44
<
hryx >
ooh! do tell
00:44
<
hryx >
I've never poked around with zig IR so a lot of this will be new for me
00:46
<
hryx >
awesome, super helpful mikdusan
00:46
<
mikdusan >
defining your own panic reduces a boatload of noise. and export fn entry() ensures code is needed
00:46
<
mikdusan >
i've found somewhere in the noise is where that assert happens.
00:47
<
hryx >
it's complaining that I don't have a `main` fn
00:48
<
mikdusan >
try `zig build-obj ...`
00:49
<
hryx >
that did the trick :> I was using build-exe
00:49
<
hryx >
thanks a lot. this can serve as my crash course
00:50
<
scientes >
oh god, C++ added a arena allocator, but as usually they made it way more complicated than it had to be
00:51
<
mikdusan >
monotonic_buffer_resource?
00:51
<
scientes >
and they have to add all these stupid terms too
01:11
marijnfs_ has joined #zig
01:14
marijnfs has quit [Ping timeout: 268 seconds]
01:57
darithorn has quit [Quit: Leaving]
02:02
<
emekankurumeh[m] >
hryx: is adding an error for a capture on an else possible?
02:03
<
emekankurumeh[m] >
would that be in all cases or just when the payloads of all the else don't match?
02:09
<
hryx >
emekankurumeh[m]: I'm not totally sure! Based on the original proposal of #1107, I could see it only being an error when they don't match
02:09
<
hryx >
but I could see it either way
02:09
<
hryx >
but maybe it depends, if `else` should just be sugar for all other cases explicitly listed
02:10
<
hryx >
if `else` should be simpler, then it could just be illegal to try to unwrap it (for enums anyway)
02:15
ajhager has quit [Ping timeout: 260 seconds]
02:20
<
emekankurumeh[m] >
the zig ir system doesn't store any info about the payloads types in the ir instruction for else's in switches
02:21
<
hryx >
mm I see. so maybe it should just be an error to do `else => |x|` ?
02:22
<
hryx >
honestly I think that's ok
02:28
ltriant has quit [Ping timeout: 245 seconds]
02:42
ajhager has joined #zig
02:45
laaron has joined #zig
02:51
<
hryx >
scientes: are you still working on #2129?
02:52
<
scientes >
I finished it, but it never got merged
02:52
<
hryx >
is there a pull request?
02:52
<
scientes >
it was closed, let me see
02:52
<
scientes >
(it wasn't rejected or anything)
02:54
<
scientes >
I was actually quite proud that i did a through job on the stage2 parser
02:55
<
scientes >
but I also ran into bugs, and it just got too messy to merge
02:57
<
scientes >
daurnimator, do you understand my use case however, on pruning switch cases as unreachable?
02:57
<
scientes >
or is that hidden control flow?
02:57
<
scientes >
actually maybe it is
02:58
<
daurnimator >
scientes: not really: I don't know why you've got a comptime undefined variable
02:58
<
scientes >
the point is that you might have a switch that only applies to one architecture or something
02:58
<
scientes >
like I was going to use this for reading the AUXV
02:58
<
daurnimator >
scientes: if you have a comptime var that's only initialised for some feature flags then its type should vary
02:59
<
scientes >
and you don't want that code to by in binaries where that value will never exist
02:59
<
daurnimator >
scientes: e.g. `myvar: if (arch && somefeatureflag) u64 else void`
02:59
<
daurnimator >
s/&&/and/
02:59
<
scientes >
ahhhhhh yes, void will do it!
02:59
<
scientes >
no it wont
03:00
<
scientes >
hahaha, I keep using && and || too
03:00
<
scientes >
but zig's and and or is better
03:00
<
daurnimator >
yeah I don't know why I keep writing it. I write more lua than anything else and lua has the keyword 'and'
03:01
<
scientes >
yeah , I don't think you see my use case yet
03:01
<
scientes >
its not totally necessary, it can be done with other ways
03:01
<
scientes >
daurnimator, that doesn't work with switch however
03:01
<
scientes >
switch will bail if you pass a void as a key
03:02
<
daurnimator >
scientes: then don't switch..... you would be doing something like: if (feature_available) { switch(self.field) { ..... }}
03:02
<
daurnimator >
scientes: see in that same file I linked all the places I use `if (allow_relative_access)`
03:02
<
scientes >
actually I was going to do something more like elf.AT_HWCAP => trigger
03:02
<
scientes >
and then trigger() void { if (builtin.Arch...) return; do_+something();)
03:03
<
scientes >
daurnimator, but sometimes it might be nice just to say "don't do anything with this value, it is a dummy that should be compiled out"
03:03
<
scientes >
and void is actually that in zig
03:03
<
scientes >
so maybe switch should allow void
03:03
<
scientes >
(and multiple instances of it)
03:04
<
mikdusan >
what if the expr is of type `type` ?
03:04
<
scientes >
oh yeah void is a IDMetaType, i.e. "type"
03:05
<
scientes >
but that keyword seems most apt for this
03:05
<
mikdusan >
does `{}` make any sense?
03:05
<
scientes >
basically this is #ifdef guards, but on a variable
03:05
<
scientes >
rather than a block
03:06
<
daurnimator >
scientes: so far it still sounds just like my link above
03:07
<
scientes >
daurnimator, yes, but you have to test if (allow_relative_access) over and over
03:07
<
scientes >
my proposal is to make that unnecessary
03:07
<
scientes >
if it is "void" then it just prunes everything
03:08
<
daurnimator >
Sounds too "magic" for my liking
03:08
<
daurnimator >
I don't mind the repeated `if (allow_relative_access)`. makes it obvious to read.
03:08
<
scientes >
its pretty similar to the existing lazy evaluation however
03:08
<
scientes >
so I'm not sure it adds a new problem
03:09
<
scientes >
but yeah might be too magical
03:09
<
scientes >
its just an idea
03:09
<
scientes >
like there might be corner cases if you try to take the address of something
03:10
<
mikdusan >
personally i like the idea of comptime'ing out switch cases but maybe the need is not strong enough to justify
03:11
<
scientes >
what i don't like about it is that is destroys the communicative property
03:11
<
scientes >
so if (foo > 0) will be false, and if (foo <= 0) will also be false
03:11
<
scientes >
so I think that is a non-starter
03:12
<
daurnimator >
scientes: have you met NaN?
03:12
<
scientes >
yeah but that is only for floats
03:12
<
scientes >
in floats a + b is differn't from b + a
03:15
<
daurnimator >
scientes: huh? no they're the same
03:15
<
daurnimator >
IEEE754
*is* commutative (it's
*not* associative.)
03:16
<
scientes >
daurnimator, -0 + 0 => -0. 0 + -1 => 0
03:16
ltriant has joined #zig
03:17
<
scientes >
* 0 + -0 => 0
03:17
<
daurnimator >
IEEE-754 considers -0 and 0 equal.
03:17
<
scientes >
you mean the equal operation returns true
03:17
<
scientes >
but they are not the same
03:18
<
scientes >
and thus it is not communicative
03:18
<
daurnimator >
Yeah... the equal operation. what else are you talking about: bitwise equality?
03:18
<
daurnimator >
if you use bitwise equality then you'll handle NaN wrong
03:18
<
scientes >
1 / (a + b )
03:18
<
scientes >
is not the same as 1 / (b + a)
03:19
<
daurnimator >
scientes: howso?
03:19
<
scientes >
sometimes you get positive infinity and other negative infinity
03:19
<
scientes >
*and the other NAN
03:19
<
scientes >
no wait, negative infinity
03:19
<
daurnimator >
scientes: please demonstrate?
03:19
<
scientes >
ahh floats are so confusing
03:20
<
scientes >
if a is -0 and b is +0, then 1 / (a + b) is negative infinity
03:20
<
scientes >
while 1 / (b + a) is positive infinity
03:20
<
daurnimator >
I don't think it's possible to get -0 in there
03:21
<
scientes >
of course it is, these are floats
03:24
<
daurnimator >
scientes: it shouldn't be if your compiler is STDC_IEC_559 compliant
03:31
<
scientes >
so it turns out there is special exception for -0 + 0 => 0
03:32
<
scientes >
which is super duper weird
03:32
<
scientes >
as otherwise adding zero (positive or zero) will not change the left hand number
03:43
hio has joined #zig
03:57
reductum has joined #zig
04:11
ltriant has quit [Ping timeout: 248 seconds]
04:16
ltriant has joined #zig
04:20
darithorn has joined #zig
04:21
ajhager has quit [Ping timeout: 260 seconds]
04:31
darithorn has quit [Quit: Leaving]
05:04
\u is now known as meowray
05:10
<
daurnimator >
emekankurumeh[m]: could you use better commit messages in #2799?
05:12
<
emekankurumeh[m] >
no problem, but what exactly do you mean by better?
05:14
<
daurnimator >
"basic partial implementation" doesn't tell me what the commit is about at all
05:15
<
daurnimator >
implementation of what? why is it partial?
05:15
<
emekankurumeh[m] >
i'm probably going to end up squashing those commits together
05:16
<
emekankurumeh[m] >
i mostly just committed more as a form for "backing up" my code
05:22
<
emekankurumeh[m] >
daurnimator: whats your opinion on allowing on allowing captures in else prongs?
05:23
<
daurnimator >
emekankurumeh[m]: only if the type makes sense.... which I think is rare
05:24
<
daurnimator >
emekankurumeh[m]: would it be any different to: const x = foo(); switch(x) { ....... else => // use x }
05:29
<
emekankurumeh[m] >
thats what it currently does, and i wasn't sure if i should make that an error if the payloads don't match
05:30
<
daurnimator >
the concept seems weird for me
05:30
<
daurnimator >
e.g. I'd expect that a |x| would always 'unwrap'
05:31
<
daurnimator >
on the other hand, I can imagine magically constructing a union: switch(union{a:A,b:B,c:C}) { .a => {}, else |x| => { // should x be of type union{b:B,c:C} }}
05:39
<
daurnimator >
(or not.... mainly because unions in zig can have methods; which brings up too many questions about what that constructed type would have/be)
05:51
marler8997 has quit [Ping timeout: 260 seconds]
06:21
brakmic has joined #zig
06:27
brakmic_ has joined #zig
06:30
brakmic has quit [Ping timeout: 245 seconds]
06:30
brakmic__ has joined #zig
06:31
brakmic_ has quit [Ping timeout: 258 seconds]
06:51
ltriant has quit [Quit: leaving]
07:06
Tetralux has quit [Ping timeout: 245 seconds]
07:19
reductum has quit [Quit: WeeChat 2.5]
07:24
avoidr has quit [Quit: leaving]
07:29
marmotini_ has joined #zig
08:52
marmotini_ has quit [Ping timeout: 245 seconds]
08:54
marijnfs_ has quit [Quit: WeeChat 2.4]
09:05
laaron has joined #zig
09:21
samtebbs has joined #zig
09:55
laaron has quit [Remote host closed the connection]
09:56
laaron has joined #zig
09:59
marmotini_ has joined #zig
10:09
FireFox317 has joined #zig
10:13
<
FireFox317 >
Hey guys, I'm working on some LLVM targetoptions stuff. For wasm (and probably other targets) LLVM sets some default options, these are set in the codegen.cpp init() `LLVMCreateTargetMachine` function. Now it is not possible to set the targetOptions here, because the c-llvm sets them in
https://llvm.org/doxygen/TargetMachineC_8cpp_source.html#l0010
10:15
<
FireFox317 >
Should I rewrite the `LLVMCreateTargetMachine` function and use the c++ api directly calling `createTargetMachine`, in which case I can set some targetOptions and these can then be overwritten by the LLVM backend. This is what Clang does
10:17
<
FireFox317 >
Currently I'm setting the option almost at the end, just before outputting the file (in `ZigLLVMTargetMachineEmitToFile`) and that overwrites the default options set by LLVM.
10:26
_whitelogger has joined #zig
11:00
Tetralux has joined #zig
11:19
laaron has joined #zig
11:19
marmotini_ has quit [Ping timeout: 258 seconds]
11:43
st4ll1 has joined #zig
12:02
st4ll1 has quit [Ping timeout: 245 seconds]
12:09
marmotini_ has joined #zig
12:14
st4ll1 has joined #zig
12:17
marmotini_ has quit [Ping timeout: 246 seconds]
12:33
st4ll1 has quit [Ping timeout: 244 seconds]
12:33
marmotini_ has joined #zig
12:40
st4ll1 has joined #zig
12:45
dimenus_ has joined #zig
12:46
fsateler has joined #zig
12:52
st4ll1 has quit [Ping timeout: 244 seconds]
12:54
st4ll1 has joined #zig
13:06
halosghost has joined #zig
13:25
marijnfs has joined #zig
13:25
dimenus_ has left #zig ["Leaving"]
13:29
avoidr has joined #zig
14:00
ajhager has joined #zig
14:01
bheads has quit [Quit: bheads]
14:02
bheads has joined #zig
14:32
bheads has quit [Quit: bheads]
14:32
bheads has joined #zig
14:37
mmx87 has quit [Ping timeout: 272 seconds]
14:40
ajhager has quit [Ping timeout: 260 seconds]
14:53
Akuli has joined #zig
14:58
squiddlebit has joined #zig
15:20
mmx87 has joined #zig
15:26
ajhager has joined #zig
15:31
darithorn has joined #zig
15:40
marijnfs_ has joined #zig
15:45
ajhager has quit [Ping timeout: 260 seconds]
15:48
bheads has quit [Ping timeout: 244 seconds]
15:55
FireFox317 has joined #zig
15:56
Akuli_ has joined #zig
15:56
Akuli has quit [Disconnected by services]
15:56
Akuli_ is now known as Akuli
15:58
<
Akuli >
FireFox317, which commits would you like to delete from the pull request?
15:59
<
scientes >
why is gcc/zig inline assembly so friggen difficult
15:59
<
scientes >
It is like pulling teath
15:59
<
FireFox317 >
Akuli: I rebased and now it added a bunch of commits from other people to my commits
16:00
<
FireFox317 >
Only the last few commits are mine, pff always the struggle with git
16:00
<
Akuli >
hmm what is going on here :D
16:00
<
Akuli >
here is a nice command for dealing with git: git log --graph --decorate --pretty=oneline --abbrev-commit
16:00
<
Akuli >
i recommend making an alias of that
16:00
<
Akuli >
try running it to see what your rebase has doen
16:00
<
Tetralux >
scientes: To be fair, I can't for the life of me deduce how zig's inline assembly works. I'd need a manual...
16:01
<
Akuli >
i don't understand assembly at all :D
16:01
<
scientes >
Tetralux, i can't even do it in C
16:02
<
scientes >
it is the constraint syntax
16:02
<
scientes >
and the cryptic error messages
16:02
<
Tetralux >
I hate constraint syntax... at least make it obvious xD
16:03
<
FireFox317 >
Akuli: So I added a commit to my branch, and first I fetched the upstream and rebased with my current branch. Then i tried to push it to origin, but git told me to pull first, so I did that and then it merged stuff or something
16:03
<
Akuli >
yeah pull merges
16:04
<
Akuli >
i would have force-pushed, but i don't know whether that's the correct way to solve this
16:04
<
Akuli >
maybe ask #git :D
16:05
<
FireFox317 >
Yeah i probably should have done that or something. I'm not that familiar with git :(
16:05
<
Akuli >
i don't know much about it either
16:05
<
FireFox317 >
I could ask #git, but there is defintely someone here who can help me i think
16:05
<
Akuli >
sometimes i get everything screwed up to the point that i just rm -rf everything and clone the repo again
16:06
<
FireFox317 >
Jup, i did that some time ago too XD
16:06
<
Akuli >
hint: you can cp -r git repos when you think you might screw up something
16:06
<
samtebbs >
FireFox317: If you rebase then you'll need to force push, as you will have changed the commit history
16:07
<
samtebbs >
If you try to non-force push, git will see that your history is different to the one on the remote and ask you to pull
16:07
<
Akuli >
hmm, how about this idea: check out the commit before the merge and then force-push that
16:07
<
samtebbs >
Force-pushing is safe if the only changes needed on the branch are all local :)
16:08
<
Akuli >
FireFox317, did you run the long 'git log' command? pastebin the output
16:08
<
FireFox317 >
samtebbs: Yeah i should have done that, but unfortunately I didnt.
16:08
<
Akuli >
we can probably go back to the point before the merge easily
16:08
<
FireFox317 >
Hopefully Akuli, one moment I will paste that in pastebin
16:09
<
samtebbs >
You can do a hard reset to the head of master and then cherry pick your commits back, then force push
16:09
<
Akuli >
all that because a failed merge?
16:10
<
Akuli >
i think just checking out the commit before the merge is enough
16:10
<
samtebbs >
You can see your all your commits, even ones that aren't in the history any more with `git reflog`
16:10
<
Akuli >
FireFox317, i meant my 'git log' command with lots of arguments
16:10
<
samtebbs >
Akuli: Possibly yes, if those extra commits we don't want came from the merge
16:10
<
Akuli >
git log --graph --decorate --pretty=oneline --abbrev-commit
16:10
<
FireFox317 >
my bad
16:11
<
Akuli >
samtebbs, i'm quite sure they did
16:11
<
Akuli >
<FireFox317> Akuli: So I added a commit to my branch, and first I fetched the upstream and rebased with my current branch. Then i tried to push it to origin, but git told me to pull first, so I did that and then it merged stuff or something
16:11
<
samtebbs >
Yeah that should solve it then
16:12
<
samtebbs >
You don't wanna do a hard reset unless you have to :)
16:12
<
FireFox317 >
<Akuli> think just checking out the commit before the merge is enough, this?
16:12
<
Akuli >
i will know what to do when i see the git log output
16:12
<
Akuli >
it should be a nice tree
16:13
<
Akuli >
which of these commits are yours? "Added the ZigLVVMCreateTargetMachine to self hosted zig code" ?
16:14
<
Akuli >
or the function-section thing?
16:14
<
FireFox317 >
All of the messages that start with 'Added'
16:14
<
FireFox317 >
function-section and createTarget stuff
16:15
<
Akuli >
hmm why is one of them in a different place
16:16
<
FireFox317 >
ffe618c1> this one should not have been added
16:16
<
Akuli >
i would try this:
16:16
<
Akuli >
$ git checkout 597caddd
16:16
<
Akuli >
$ git checkout -b akuli-test
16:16
<
Akuli >
$ git cherry-pick ffe618c1
16:16
<
Akuli >
$ git push --force origin akuli-test:function-sections
16:16
<
Akuli >
samtebbs, does that look about right?
16:16
<
FireFox317 >
akuli-test?
16:17
<
Akuli >
that's just a branch name
16:17
<
Akuli >
you can name it anything you want
16:17
<
FireFox317 >
ah yes, pff so annoying I always screw up this github stuff
16:18
<
Akuli >
why are those commits showing up lol :D
16:18
<
FireFox317 >
wait let me paste my cli
16:19
<
Akuli >
if my idea doesn't work, that's ok, because it should be all on just the akuli-test branch
16:20
<
FireFox317 >
Should i try you idea?
16:20
ajhager has joined #zig
16:20
<
Akuli >
git merge upstream/master
16:20
<
Akuli >
i think this created a problem
16:21
<
Akuli >
let me read the rest of this
16:21
<
FireFox317 >
I think the `git rebase master`
16:23
<
Akuli >
i cloned your fork and did some stuff
16:23
<
Akuli >
what i still don't understand is why "ffe618c1 Added function-section functionality" is so different from the rest of your work
16:24
<
Akuli >
do you want that to be included in your pull request as well?
16:24
<
FireFox317 >
That shouldnt be include
16:24
<
Akuli >
then this is easy :D i thought you wanted that
16:24
<
Akuli >
first we'll go to look at the commit just before the merge, last commit you want to include
16:24
<
FireFox317 >
not this one: ffe618c1
16:24
<
Akuli >
$ git checkout 597caddd
16:24
<
Akuli >
so that is the last one you want
16:25
<
Akuli >
if you run git status, it'll say that your head is deatched (ouch)
16:25
<
Akuli >
so we fix that
16:25
<
FireFox317 >
For me it doesnt say that?
16:25
<
Akuli >
$ git checkout -b akuli-test-2
16:25
st4ll1 has quit [Ping timeout: 268 seconds]
16:25
<
Akuli >
let me try this on my system then
16:25
<
Akuli >
maybe you have a different git version then
16:26
<
Akuli >
so check out 597caddd and then do the -b thing
16:26
st4ll1 has joined #zig
16:26
<
FireFox317 >
ah yeah if i checkout to that hash then my head is detached indeed
16:26
<
Akuli >
then do the -b thing
16:26
<
Akuli >
to get my latest dpaste
16:26
<
Akuli >
make sure you get something like that
16:27
<
Akuli >
after all that, you should see in the 'git log --blah --blah' output that "(HEAD -> akuli-test-2)" is pointing at the last commit you want to include
16:28
<
Akuli >
let me know when you get there
16:28
<
FireFox317 >
Yeah i think I'm there
16:28
<
Akuli >
this looks good to me
16:29
<
Akuli >
so these are the commits you want to include?
16:29
<
Akuli >
hmm what is the name of your github remote
16:29
<
Akuli >
it seems to be 'upstream'
16:29
<
Akuli >
upsteram is ziglang/zig right?
16:29
<
Akuli >
and 'origin' is your fork?
16:29
<
FireFox317 >
yes upstream is ziglang/zig
16:29
<
FireFox317 >
origin my fork
16:30
<
Akuli >
$ git push origin fix-git-stuff:function-sections
16:30
<
Akuli >
this pushes fix-git-stuff on your computer to function-sections in your fork on github
16:30
<
FireFox317 >
Okay lemme try that
16:30
<
Akuli >
oh and it should refuse to do anything
16:31
<
Akuli >
use --force
16:31
<
Akuli >
at least it looks different now
16:31
<
FireFox317 >
You are my hero!
16:31
<
Akuli >
ooo it fixed :D
16:31
<
FireFox317 >
I think it's okay now
16:31
<
Akuli >
better than i expected
16:32
<
Akuli >
does the "Files changed" look about right?
16:32
<
Akuli >
next time this happens: use my 'git log' command, check out the last commit you want to include, create a branch at that commit with the -b thing, force push that branch
16:33
<
FireFox317 >
Jup this is exactly how it should look like
16:33
<
Akuli >
i'll be back after 30 minutes or something
16:33
<
FireFox317 >
Thank you so much man, appreciate the help. And sorry for the spam in the #zig channel
16:51
marmotini_ has quit [Remote host closed the connection]
16:51
<
squiddlebit >
Would anyone happen to know why the name field of the inotify_event struct in std/os/bits/linux.zig is commented out? I notice a workaround was used in other stdlib code involving inotify, so I assume there is a good reason for its necessity.
16:52
st4ll1 has quit [Ping timeout: 245 seconds]
16:53
st4ll1 has joined #zig
17:00
<
Akuli >
squiddlebit, git blame std/os/bits/linux.zig
17:00
<
squiddlebit >
oh right, i did not think of that at all. Thank you Akuli
17:06
avoidr has quit [Quit: leaving]
17:10
wootehfoot has joined #zig
17:22
<
companion_cube >
the raytracer post makes some good points, hmm
17:22
laaron has quit [Remote host closed the connection]
17:22
<
companion_cube >
(esp. block return syntax and loops)
17:41
FireFox317 has quit [Ping timeout: 260 seconds]
17:44
lunamn_ has joined #zig
17:45
lunamn_ has quit [Client Quit]
17:47
lunamn has quit [Ping timeout: 248 seconds]
17:48
bheads has joined #zig
17:51
MajorLag has joined #zig
17:54
tgschultz has quit [Ping timeout: 276 seconds]
17:54
MajorLag is now known as tgschultz
18:10
darithorn has quit [Quit: Leaving]
18:25
avoidr has joined #zig
18:26
tgschultz has joined #zig
18:43
ajhager has quit [Ping timeout: 260 seconds]
18:48
lunamn has joined #zig
19:02
ManDeJan has joined #zig
19:04
<
ManDeJan >
Sahnvour, nice work on the wyhash v2 implementation :)
19:17
Akuli has quit [Quit: Leaving]
19:20
jjido has joined #zig
19:22
ManDeJan has quit [Ping timeout: 272 seconds]
19:34
jjido has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
19:35
jjido has joined #zig
19:36
jjido has quit [Client Quit]
19:39
jjido has joined #zig
19:48
fubd has joined #zig
19:53
bheads has quit [Ping timeout: 272 seconds]
20:14
wootehfoot has quit [Ping timeout: 245 seconds]
20:17
bheads has joined #zig
20:27
brakmic has joined #zig
20:27
brakmic__ has quit [Read error: Connection reset by peer]
20:50
jjido has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
21:11
marijnfs_ has quit [Quit: WeeChat 2.4]
21:24
<
fubd >
I see json.zig and io.zig's Deserializer in the stdlib, but has someone written a generic struct-to-json and json-back-to-struct thing?
21:27
halosghost has quit [Quit: WeeChat 2.5]
21:30
fubd has quit [Ping timeout: 260 seconds]
21:38
darithorn has joined #zig
21:45
brakmic has quit []
22:01
marijnfs_ has joined #zig
22:26
darithorn has quit [Quit: Leaving]
22:58
ltriant has joined #zig
23:19
marijnfs_ has quit [Quit: WeeChat 2.4]
23:22
avoidr has quit [Quit: leaving]