<< 24-09-2023 >>

01:13:01*xmachina quit (Quit: WeeChat 4.0.4)
01:30:54*xmachina joined #nim
01:41:03FromDiscord<raynei486> If I want a type to represent any enums do I use `Ordinal`
01:41:25FromDiscord<raynei486> the compiler complains that it's not a concrete type when I use it as a object field
01:41:29FromDiscord<Elegantbeef> No you use `enum`
01:41:53FromDiscord<Elegantbeef> It's not you need to do `type MyType[T: enum] = object`
01:42:27FromDiscord<raynei486> oh that would work better
01:42:42FromDiscord<raynei486> I need some to take any enum to represent a tag
01:51:47FromDiscord<juancarlospaco> `SomeOrdinal` contains enums
01:52:29FromDiscord<Elegantbeef> Sometimes it's just funny
03:03:21*krux02 quit (Remote host closed the connection)
03:15:41*azimut quit (Ping timeout: 252 seconds)
03:27:03*azimut joined #nim
03:34:10*jmdaemon joined #nim
04:02:48*noxp joined #nim
04:27:57*noxp quit (Quit: WeeChat 4.0.4)
05:02:38*nyeaa4928423010 quit (Read error: Connection reset by peer)
05:02:45*azimut quit (Ping timeout: 252 seconds)
05:03:05*nyeaa4928423010 joined #nim
05:35:59*ntat joined #nim
06:09:05FromDiscord<griffith1deadly> In reply to @chronos.vitaqua "<@620135501201932300> clueless on how": aha, yes, it hard with no runtime types storage
06:09:40FromDiscord<griffith1deadly> i preferred string dispatching for this
06:29:46*marcus quit (Ping timeout: 258 seconds)
06:30:53*marcus joined #nim
07:49:50FromDiscord<xtrayambak> Is there a module for base16 encode/decode?
07:55:17FromDiscord<nnsee> In reply to @xtrayambak "Is there a module": you mean hex or the variant of base64?
07:57:33FromDiscord<nnsee> if it's the former, there are `toHex` and `fromHex` in std/strutils
08:02:47FromDiscord<xtrayambak> Ah, thanks
08:50:15FromDiscord<griffith1deadly> do I have to execute `=destroy` for Table myself when i destroy shared memory?
09:19:12*sagax quit (Ping timeout: 258 seconds)
09:37:48FromDiscord<Chronos [She/Her]> In reply to @griffith1deadly "i preferred string dispatching": Oh? Wdym?
10:35:38*Mister_Magister quit (Read error: Connection reset by peer)
10:36:15FromDiscord<Chronos [She/Her]> Still trying to take a crack at this but it's difficult :p
10:37:27*Mister_Magister joined #nim
10:37:49FromDiscord<sOkam! 🫐> sent a long message, see http://ix.io/4Hip
10:38:17FromDiscord<aspizu> is nim just C with python suntax?
10:38:22FromDiscord<odexine> In reply to @aspizu "is nim just C": no
10:38:33FromDiscord<Chronos [She/Her]> In reply to @heysokam "How would you track": That sounds so odd honestly
10:38:38FromDiscord<aspizu> is it garbage collected?
10:38:40FromDiscord<odexine> In reply to @heysokam "How would you track": compile with --passc:"-fsanitize=undefined"
10:38:40FromDiscord<Chronos [She/Her]> In reply to @aspizu "is nim just C": Nope, there's many differences
10:38:50FromDiscord<sOkam! 🫐> In reply to @aspizu "is nim just C": its a lot more than that, but in an overly simplistic way you could say that (incorrectly, but similarly enough)
10:39:15FromDiscord<odexine> In reply to @aspizu "is it garbage collected?": depends on your definition of garbage collected, but it does not have the undesirable characteristics of what most people think of a GC
10:39:23FromDiscord<sOkam! 🫐> In reply to @aspizu "is it garbage collected?": it is by default, but doesn't -need- to be. there is --mm:none and --mm:arc
10:39:29FromDiscord<Chronos [She/Her]> In reply to @aspizu "is it garbage collected?": Depends if you compile it with a GC or not, `refc` is a GC, `arc` isn't, and `orc` is a mix but is much better and works great
10:39:57FromDiscord<aspizu> how is nim different from rust
10:40:13FromDiscord<odexine> In reply to @aspizu "how is nim different": that is a loadded question that is difficult to answer within a few sentences
10:40:16FromDiscord<odexine> (edit) "loadded" => "loaded"
10:40:32FromDiscord<aspizu> ok
10:41:54FromDiscord<odexine> "why should i use nim over rust" is also similarly difficult to answer because only you can determine which features of each language you like, dislike, prioritise, or dont care about
10:42:33FromDiscord<sOkam! 🫐> In reply to @aspizu "how is nim different": its a systems language, so in the most simplistic way possible its the same as C/C++/Rust/etc↵but then if you get into the details... the differences are enormous
10:44:23FromDiscord<aspizu> why are structs called tuples
10:44:37FromDiscord<odexine> rust structs are not equivalent to tuples
10:44:46FromDiscord<odexine> they are more akin to nim's objects
10:45:02FromDiscord<odexine> rust also has tuples
10:46:55FromDiscord<sOkam! 🫐> In reply to @aspizu "why are structs called": they are different concepts↵structs are "structured" data, as the name suggests. they have a concrete shape that is not interchangable with a similar shape↵tuples are "grouped" data. Different groupings of data can match each other, even if they are not the same group, just because of the shape is the same. that is an illegal property of structs, but a legal property for tuples
10:47:17FromDiscord<aspizu> what
10:47:53FromDiscord<odexine> tuples dont care about either the name of the type or the field names ↵"structs" or objects do care about these
10:48:32FromDiscord<odexine> a tuple (int, int) will match a tuple (x: int, y: int) ↵(syntax is not representative of nim, just for demonstration)
10:48:39FromDiscord<sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4His
10:48:40FromDiscord<aspizu> tuples are structs with their shape being their name
10:48:51FromDiscord<odexine> you can think of it that way
10:48:57FromDiscord<aspizu> but why name them then
10:49:04FromDiscord<odexine> for convenience
10:49:04FromDiscord<sOkam! 🫐> In reply to @aspizu "but why name them": convenience
10:49:21FromDiscord<aspizu> sent a code paste, see https://play.nim-lang.org/#ix=4Hit
10:49:23FromDiscord<odexine> you can access fields with names instead of indexes
10:49:26FromDiscord<aspizu> (edit) "https://play.nim-lang.org/#ix=4Hit" => "https://paste.rs/dsOjO"
10:49:41FromDiscord<odexine> so as above lets say i have a tuple with field x and y
10:49:46FromDiscord<aspizu> why wouldnt you make it a struct then
10:49:51FromDiscord<sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4Hiu
10:50:12FromDiscord<sOkam! 🫐> In reply to @aspizu "why wouldnt you make": because sometimes having that struct is unnecessary, like returning from a function so the type is only used once
10:50:16FromDiscord<odexine> well, it's a matter of whether you want a quick type or not; in practice tuples are much more rarely used
10:50:18FromDiscord<odexine> than objects
10:50:36FromDiscord<sOkam! 🫐> but yes your point is important, thats why tuples are usually called "code smell"
10:50:55FromDiscord<sOkam! 🫐> they have a usecase, but its a lot rarer than structs are
10:51:07FromDiscord<aspizu> thanks
10:56:59FromDiscord<griffith1deadly> In reply to @heysokam "How would you track": if you mean me, just -d:release --debugger:native and run program in gdb
10:58:09*junaid_ joined #nim
10:59:16FromDiscord<griffith1deadly> sent a long message, see http://ix.io/4Hiv
11:00:49FromDiscord<griffith1deadly> and handlers register proc with this name
11:03:28FromDiscord<_nenc> it is really hard to deal it with variants imo
11:04:05FromDiscord<_nenc> sent a code paste, see https://play.nim-lang.org/#ix=4Hix
11:04:38FromDiscord<_nenc> maybe, json module is another choice than string name, to make different events able to have different properties
11:06:08FromDiscord<griffith1deadly> In reply to @_nenc "maybe, json module is": not good performance i think
11:06:36FromDiscord<griffith1deadly> and memory using
11:07:47FromDiscord<sOkam! 🫐> In reply to @griffith1deadly "if you mean me,": im confused. did you misread or did I misunderstood what you meant to say? 🤔
11:08:34*junaid_ quit (Quit: leaving)
11:11:43FromDiscord<odexine> In reply to @heysokam "im confused. did you": did you try what i suggested?\
11:14:07*junaid_ joined #nim
11:14:09*junaid_ quit (Remote host closed the connection)
11:14:34*junaid_ joined #nim
11:14:56*junaid_ quit (Remote host closed the connection)
11:15:04*def- quit (Quit: -)
11:15:16*def- joined #nim
11:15:22*junaid_ joined #nim
11:16:20*junaid__ joined #nim
11:16:53*junaid__ quit (Client Quit)
11:17:30*junaid_ quit (Remote host closed the connection)
11:18:24FromDiscord<Chronos [She/Her]> In reply to @griffith1deadly "string name to separating": Register a proc with the name `onChatMessage`?
11:18:56*junaid_ joined #nim
11:21:05FromDiscord<griffith1deadly> In reply to @heysokam "im confused. did you": misread, sorry
11:22:05FromDiscord<griffith1deadly> sent a code paste, see https://play.nim-lang.org/#ix=4HiB
11:22:29FromDiscord<fowl.mouth> In reply to @_nenc "it is really hard": Where’s the problem? Looks fine to me
11:24:14FromDiscord<sOkam! 🫐> In reply to @odexine "compile with --passc:"-fsanitize=undefined"": what does this do to track it? 🤔↵I still get the error, but don't know where or how to find it
11:25:09FromDiscord<sOkam! 🫐> well, technically i have the backtrace, i know where it comes from. what i dont know is why it triggers
11:26:49FromDiscord<Chronos [She/Her]> In reply to @griffith1deadly "in my code it": Container?
11:27:26FromDiscord<griffith1deadly> In reply to @chronos.vitaqua "Container?": maybe not good name, but idk how to rename
11:27:30FromDiscord<_nenc> In reply to @fowl.mouth "Where’s the problem? Looks": not really, but not simple enough to me (it's natural, since Nim is a high-performance compiled language)↵I can think of one even worse way to do it: use `cast[pointer](addr event)` to enable weak type programming (is it even possible to work for the simplest case?)
11:27:49FromDiscord<Chronos [She/Her]> In reply to @griffith1deadly "maybe not good name,": Is that essentially just a type that handles dispatching or?
11:28:13FromDiscord<fowl.mouth> In reply to @_nenc "not really, but not": What is it you’re trying to “do”
11:28:17FromDiscord<griffith1deadly> In reply to @_nenc "not really, but not": for what use case pointers to object? mutating?
11:28:20FromDiscord<Chronos [She/Her]> In reply to @_nenc "not really, but not": That would definitely cause issues lol
11:28:32FromDiscord<Chronos [She/Her]> In reply to @griffith1deadly "for what use case": I'd imagine being able to store it in a single type
11:28:34FromDiscord<odexine> In reply to @heysokam "what does this do": if it were a case of UB it would have triggered
11:28:41FromDiscord<odexine> try -fsanitize=address maybe
11:28:45FromDiscord<griffith1deadly> In reply to @chronos.vitaqua "Is that essentially just": handle dispatching and store handlers
11:28:57FromDiscord<Chronos [She/Her]> Ah alright
11:29:25FromDiscord<_nenc> In reply to @fowl.mouth "What is it you’re": to make different Event types and register callbacks for them in one register table, just exploring the problem 😛
11:29:43FromDiscord<Chronos [She/Her]> Yeah lol
11:30:13FromDiscord<_nenc> well, so I think of another possible way: serialization so that any event handlers take strings (well, better than taking pointers
11:30:26FromDiscord<griffith1deadly> In reply to @griffith1deadly "for what use case": when for just control memory via raw alloc & dealloc it not good way
11:30:26FromDiscord<sOkam! 🫐> In reply to @odexine "if it were a": oh I see. yeah i think that's active with zigcc by default
11:31:23FromDiscord<odexine> In reply to @heysokam "oh I see. yeah": then try ASan as i said above, might trigger that
11:31:47FromDiscord<Chronos [She/Her]> I can write some pseudocode for some impl of it but I just can't figure out how it'd be done in Nim, hold on
11:32:19FromDiscord<griffith1deadly> In reply to @_nenc "well, so I think": easiest way - just mark types for dispatch ref object, maybe separate these types by name? (generic T.name) and in dispatch just cast handler to proc who accept base type
11:32:39FromDiscord<Chronos [She/Her]> sent a code paste, see https://play.nim-lang.org/#ix=4HiC
11:32:59FromDiscord<Chronos [She/Her]> That way if an event is fired, you could do `registeredEvents[event.typeof]`
11:33:09FromDiscord<griffith1deadly> sent a code paste, see https://play.nim-lang.org/#ix=4HiD
11:33:12FromDiscord<Chronos [She/Her]> sent a code paste, see https://paste.rs/VFRqR
11:33:17FromDiscord<sOkam! 🫐> sent a code paste, see https://paste.rs/Opoug
11:33:33FromDiscord<Chronos [She/Her]> In reply to @griffith1deadly "but typedesc not accesible": Yeah that's the issue, I'm thinking if I stringify the type it may be a suitable solution tho so hm
11:33:56FromDiscord<Chronos [She/Her]> So `ChatEvent` is just "ChatEvent"
11:34:25FromDiscord<griffith1deadly> or for fun just make eventsystem compileTime who can accesible typedesc))
11:34:45FromDiscord<odexine> sent a code paste, see https://play.nim-lang.org/#ix=4HiE
11:34:47FromDiscord<odexine> the -fsanitize thing
11:35:25FromDiscord<Chronos [She/Her]> In reply to @griffith1deadly "or for fun just": That makes it a pain for making the event system work with C (because, exposing to something like WASM would need that)
11:36:08FromDiscord<griffith1deadly> In reply to @chronos.vitaqua "That makes it a": and nim strings in some cases maybe too (memory using i think)
11:36:11FromDiscord<sOkam! 🫐> In reply to @odexine "probably, try also passL-ing": yeah doing that, since i saw it on some SA answer
11:36:14FromDiscord<sOkam! 🫐> (edit) "SA" => "SO"
11:36:29FromDiscord<sOkam! 🫐> but still triggering the same missing symbol for some reason
11:38:07FromDiscord<odexine> i usually dont use zig cc so i cant say what's wrong with that
11:39:03FromDiscord<sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4HiG
11:39:08FromDiscord<sOkam! 🫐> that worked, I was missing `-lasan`
11:39:23FromDiscord<sOkam! 🫐> but... the behavior is the same
11:39:40FromDiscord<sOkam! 🫐> how would a -fsanitize error trigger, or show up?
11:39:53FromDiscord<sOkam! 🫐> i've never seen one, so I don't know how to recognize that it triggers
11:39:58FromDiscord<odexine> it will be very noisy and obvious that ASan or any other San triggers
11:40:18FromDiscord<sOkam! 🫐> i see. well, nothing showed up then
11:40:55*junaid_ quit (Remote host closed the connection)
11:41:48FromDiscord<sOkam! 🫐> i'm convinced it has something to do with the lifetime of some object on release version↵but i just have no clue what that is, since the app is complex enough↵it doesn't happen on the simpler `wgpu` single function version... but it does on my `ngpu` wrapper↵so I figure the issue lies in my code, its just that the code is complex enough to need aid from the debugger in some way
11:42:15FromDiscord<odexine> try debugging with gdb without debugger native
11:42:16FromDiscord<sOkam! 🫐> but if I `--debugger:native` it goes away... so its like.... F, now what ⚰️
11:42:39FromDiscord<griffith1deadly> In reply to @heysokam "but if I `--debugger:native`": sorry for mentioning it, but earlier I told you about vrm format. and your loader loads it correctly (ngltf)
11:42:44FromDiscord<sOkam! 🫐> In reply to @odexine "try debugging with gdb": i tried... but man thats a huge mess, i don't know what im even seeing in there
11:42:54FromDiscord<odexine> well show it to us here maybe we can
11:43:04FromDiscord<sOkam! 🫐> In reply to @griffith1deadly "sorry for mentioning it,": oh sick! thats great to hear! 🥳
11:43:15FromDiscord<sOkam! 🫐> In reply to @odexine "well show it to": what exactly?
11:43:56FromDiscord<odexine> the output
11:44:08FromDiscord<sOkam! 🫐> the entire C codegen?
11:44:11FromDiscord<odexine> gdb <binary name>↵then in the shell enter `r`
11:44:13FromDiscord<odexine> no???
11:44:26FromDiscord<sOkam! 🫐> ah just the `bt`? kk
11:46:08FromDiscord<sOkam! 🫐> don't know how to copy the text, its sending `Quit` to gdb https://media.discordapp.net/attachments/371759389889003532/1155470217691017246/image.png
11:47:51FromDiscord<odexine> seems like an issue within wgpu
11:47:57FromDiscord<odexine> so it might be that youre using it wrong?
11:48:42*jmdaemon quit (Ping timeout: 260 seconds)
11:48:52FromDiscord<sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4HiH
11:49:23FromDiscord<sOkam! 🫐> In reply to @odexine "so it might be": i don't know, like i said. the wgpu bindings example doesn't have this issue, but my wrapper does
11:49:33FromDiscord<sOkam! 🫐> let me find you the same code in the bindings
11:49:35FromDiscord<sOkam! 🫐> (edit) "let me find you the same code in the bindings ... " added "example"
11:50:03FromDiscord<Chronos [She/Her]> In reply to @griffith1deadly "and nim strings in": True
11:50:06FromDiscord<Chronos [She/Her]> Oh well
11:50:21FromDiscord<Chronos [She/Her]> Shouldn't be hard to expose an API specifically for C
11:50:28FromDiscord<sOkam! 🫐> @odexine this is the equivalent that does work↵https://github.com/heysokam/wgpu/blob/4f23d2f7fe2fb93b8b432e14a27cfdc31e973279/examples/e01_helloclear.nim#L156-L172
11:53:22FromDiscord<odexine> i really cant help you here because i'm not really willing to read this whole library to figure it out...
11:54:01FromDiscord<sOkam! 🫐> In reply to @odexine "i really cant help": yeah i understand. i was just asking for ideas on what to do in the debugger itself to track it
11:54:20FromDiscord<sOkam! 🫐> because i understand nobody will go through my entire lib just to help with a bug
11:54:47FromDiscord<sOkam! 🫐> hence why i kept my original question ambiguous and non-specific, and more related to debugging workflow
11:55:02FromDiscord<odexine> see into the c file srender.nim.c:613, show us what line 613 is (add a few lines above and below for context)
11:55:17FromDiscord<odexine> In reply to @heysokam "hence why i kept": the debugging workflow is specific to the project
11:55:24FromDiscord<odexine> as a lot of aspects can change it
11:56:45FromDiscord<sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4HiK
11:57:08FromDiscord<sOkam! 🫐> (edit) "https://play.nim-lang.org/#ix=4HiK" => "https://play.nim-lang.org/#ix=4HiL"
11:57:38FromDiscord<odexine> it says there nimln_(43), which line is line 43?
11:57:48FromDiscord<odexine> sent a code paste, see https://play.nim-lang.org/#ix=4HiM
11:57:59FromDiscord<sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4HiN
11:58:08FromDiscord<sOkam! 🫐> the same that calls for that `wgpuDeviceCreateSwapchain` in the wrapper
11:58:17FromDiscord<odexine> i never saw that line what
11:58:22FromDiscord<sOkam! 🫐> oh
11:58:34FromDiscord<sOkam! 🫐> oh did i remove it by accident
11:58:45FromDiscord<sOkam! 🫐> sry my code is a bit more noisy so removed a bunch for pasting
11:59:19FromDiscord<sOkam! 🫐> was trying to remove the purple block https://media.discordapp.net/attachments/371759389889003532/1155473535427412038/image.png
11:59:32*krux02 joined #nim
12:00:46FromDiscord<sOkam! 🫐> In reply to @odexine "it says there nimln_(43),": this is really useful, though. i had no clue what that was, and that it was signaling to a line in my actual code
12:01:31FromDiscord<odexine> what's the swapchain cfg type?\
12:01:45FromDiscord<sOkam! 🫐> the internal type that wgpu wants, sec
12:02:06FromDiscord<sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4HiQ
12:02:27FromDiscord<sOkam! 🫐> (edit) "https://play.nim-lang.org/#ix=4HiQ" => "https://play.nim-lang.org/#ix=4HiR"
12:02:42FromDiscord<Chronos [She/Her]> What's the best way to get a type as a string?
12:03:01FromDiscord<sOkam! 🫐> In reply to @chronos.vitaqua "What's the best way": astToStr should give you the symbol
12:03:05FromDiscord<sOkam! 🫐> (edit) "astToStr" => "`astToStr`"
12:05:45FromDiscord<odexine> what version of webgpu are you using
12:05:54*derpydoo quit (Ping timeout: 252 seconds)
12:06:07FromDiscord<sOkam! 🫐> latest
12:06:26FromDiscord<sOkam! 🫐> im like 2 commits behind wgpu-native, but nothing behavior-changing in those
12:06:26FromDiscord<odexine> specify more
12:06:34FromDiscord<sOkam! 🫐> 0.17.2 afaik
12:07:25FromDiscord<sOkam! 🫐> oh well, i am behind https://media.discordapp.net/attachments/371759389889003532/1155475573557178378/image.png
12:08:07FromDiscord<odexine> that update there
12:08:11FromDiscord<odexine> removes swapchaindescriptor
12:08:22FromDiscord<odexine> what commit are you on again
12:08:27FromDiscord<sOkam! 🫐> https://github.com/gfx-rs/wgpu-native/tree/f35b60acd990d45c79fc6fb5c9641162525080d1
12:09:10*azimut joined #nim
12:09:46FromDiscord<sOkam! 🫐> oh shoot, good find rika
12:09:51FromDiscord<odexine> is this committed code? can you link me your library so i can read all type defs
12:09:53FromDiscord<sOkam! 🫐> that commit does remove it
12:10:14FromDiscord<sOkam! 🫐> In reply to @odexine "is this committed code?": you mean where I bind/wrap them?
12:10:24FromDiscord<odexine> did you solve the issue?
12:10:29FromDiscord<odexine> or are you on the commit before the removal
12:10:49FromDiscord<sOkam! 🫐> https://github.com/heysokam/wgpu/blob/4f23d2f7fe2fb93b8b432e14a27cfdc31e973279/src/wgpu/types.nim#L650-L657
12:10:56FromDiscord<sOkam! 🫐> In reply to @odexine "or are you on": i am before the removal yeah
12:11:17FromDiscord<sOkam! 🫐> but might be worth updating to latest, it might have been an issue on their side or something 🤔
12:17:18FromDiscord<odexine> your presentmode enum definition is wrong
12:17:52*Goodbye_Vincent joined #nim
12:18:08FromDiscord<sOkam! 🫐> it changed in order last patch. which reference are you getting?
12:18:22FromDiscord<sOkam! 🫐> they changed it to fifo being default
12:18:48FromDiscord<Chronos [She/Her]> In reply to @heysokam "`astToStr` should give you": Thabks!
12:18:50FromDiscord<Chronos [She/Her]> Thanks
12:19:05FromDiscord<sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4HiW
12:19:43FromDiscord<sOkam! 🫐> somewhere in this commit, cant link the specific change↵https://github.com/heysokam/wgpu/commit/529cdce3f28338edb6fab6a491c52a47d7f38459#diff-5748a416a25921f9e765af2b73d1968912e065f6551c5b4d084030327f269e2aR232
12:20:12FromDiscord<odexine> In reply to @heysokam "https://github.com/gfx-rs/wgpu-native/tree/f35b60ac": you say this is the commit you're on↵https://github.com/gfx-rs/wgpu-native/tree/f35b60acd990d45c79fc6fb5c9641162525080d1/ffi↵https://github.com/webgpu-native/webgpu-headers/tree/8e9025e0fa4b33d5e7cc682b7604b021b29f36c6↵https://github.com/webgpu-native/webgpu-headers/blob/8e9025e0fa4b33d5e7cc682b7604b021b29f36c6/webgpu.h#L398
12:20:54FromDiscord<sOkam! 🫐> In reply to @odexine "you say this is": that was the old shape, yeah
12:21:23FromDiscord<odexine> yes but it is the shape of the enum of the commit you are on
12:21:24FromDiscord<sOkam! 🫐> kk, let me update all repos/submodules and upgrade the bindings. maybe this is the fix
12:23:58FromDiscord<sOkam! 🫐> ohhh. i think this actually might be the problem. because you are right, the enum is incorrect, and the shape changed but the commit Im tracking hasn't updated it↵I might have updated the shape manually myself, but they stayed in an older version, and that could have caused probls 🤔
12:24:54FromDiscord<odexine> just a maybe.
12:26:08FromDiscord<odexine> this was a large sidetrack from me trying to use treesitter in nim...
12:29:52FromDiscord<Chronos [She/Her]> Hm not sure how I'd accept a proc of an unknown type :p
12:30:16FromDiscord<Chronos [She/Her]> Wait let me rephrase
12:30:20FromDiscord<griffith1deadly> In reply to @heysokam "oh sick! thats great": are you planning async model loading? (non-blocking fileio)
12:30:27FromDiscord<Chronos [She/Her]> A proc that accepts an unknown type
12:30:46FromDiscord<sOkam! 🫐> In reply to @griffith1deadly "are you planning async": i don't know anything about async, so probably not in my near nor far future
12:31:22FromDiscord<sOkam! 🫐> what does that tech implies, in terms of nim functions used?
12:31:49FromDiscord<sOkam! 🫐> because im just `readFile` and sending you a `string` back, just that the shape of that string is a structure of data
12:31:55FromDiscord<odexine> if it's unknown then you cant do it without generics xd
12:32:06FromDiscord<odexine> or type elision i gues
12:32:07FromDiscord<odexine> (edit) "gues" => "guess"
12:32:10FromDiscord<griffith1deadly> sent a code paste, see https://play.nim-lang.org/#ix=4Hj0
12:32:19FromDiscord<odexine> In reply to @griffith1deadly "if you mean that": for clarity this is an implicit generic
12:33:37FromDiscord<Chronos [She/Her]> Not like that oof, I need to store procs here: `let eventHandlers = initTable[string, seq[Listener]]()`, `Listener` is `proc(r: EventObject)` and I made `EventObject` a ref so I should be good to go with casting :p
12:33:49FromDiscord<odexine> have fun with that...
12:34:04FromDiscord<odexine> if it's inheritance then it probably is fine
12:34:21FromDiscord<Chronos [She/Her]> Everything inherits from `EventObject` yeah
12:34:37FromDiscord<Chronos [She/Her]> Or it should do, at least :p
12:34:43FromDiscord<sOkam! 🫐> In reply to @griffith1deadly "are you planning async": can you explain how that works a bit?
12:35:03FromDiscord<odexine> you dont need to do casting
12:35:13FromDiscord<odexine> regular conversion should work with inherited objects
12:35:13FromDiscord<Chronos [She/Her]> Why wouldn't I?
12:35:20FromDiscord<Chronos [She/Her]> Oh nice then#
12:35:31FromDiscord<griffith1deadly> In reply to @chronos.vitaqua "Not like that oof,": unsafe way - just base type↵object & ref object
12:36:24FromDiscord<griffith1deadly> In reply to @heysokam "can you explain how": nim async can you give same api as not async - https://nim-lang.org/docs/asyncfile.html
12:37:18FromDiscord<sOkam! 🫐> In reply to @griffith1deadly "nim async can you": i am not doing `file.open`... at all. its just `file.readFile` which gives me a string that i interpret
12:37:18FromDiscord<Chronos [She/Her]> In reply to @griffith1deadly "unsafe way - just": I don't understand :p
12:38:23FromDiscord<griffith1deadly> sent a long message, see http://ix.io/4Hj2
12:38:36FromDiscord<griffith1deadly> (edit) "http://ix.io/4Hj2" => "http://ix.io/4Hj3"
12:39:10FromDiscord<sOkam! 🫐> but whats the benefit?
12:39:24FromDiscord<sOkam! 🫐> thats why I was asking if you can explain the tech
12:39:33FromDiscord<griffith1deadly> In reply to @chronos.vitaqua "I don't understand :p": Listener is proc(r: object or ref object (depending on what you want))
12:40:49FromDiscord<griffith1deadly> In reply to @heysokam "thats why I was": internally - i can't↵it just give you benefit in case big models/file because your rendering does not lag, for example it can render white color on loading
12:41:07FromDiscord<Chronos [She/Her]> In reply to @griffith1deadly "Listener is proc(r: object": That doesn't work when defining the table aha
12:41:44FromDiscord<griffith1deadly> In reply to @chronos.vitaqua "That doesn't work when": then store in table pointer and validate in proc what it add to table?
12:42:08FromDiscord<griffith1deadly> sent a code paste, see https://play.nim-lang.org/#ix=4Hj5
12:43:45FromDiscord<Chronos [She/Her]> sent a code paste, see https://play.nim-lang.org/#ix=4Hj6
12:44:20FromDiscord<sOkam! 🫐> In reply to @griffith1deadly "internally - i can't": You can definitely achieve it on application side by importing either of these two modules and doing that async loading on your app↵https://github.com/heysokam/ngltf/blob/24c49d401d54714348c2b02a9c0a55aea68ddd21/src/ngltf/load/binary.nim#L70-L72↵https://github.com/heysokam/ngltf/blob/24c49d401d54714348c2b02a9c0a55aea68ddd21/src/ngltf/load/json.nim#L69-L71
12:44:23FromDiscord<griffith1deadly> idk, i dont use concept's for this
12:44:26FromDiscord<Chronos [She/Her]> TestEvent inherits from EventObject :p
12:44:33FromDiscord<Chronos [She/Her]> I'm not using a concept here
12:45:25FromDiscord<griffith1deadly> In reply to @chronos.vitaqua "I'm not using a": oh, i just read part about Listener is.. and start think it concept
12:46:56FromDiscord<sOkam! 🫐> async is out of the league of my current knowledge at the moment, and I don't have any plans on doing any multithreading code or learning in the near future. there is too much to do in the engine that can work singlecore for a long time. i have it planned sometime in the future, but nothing near↵So you can just use those two functions I linked on your app and create the async loader↵the processor is not hardcoded, the core process
12:47:15FromDiscord<griffith1deadly> sent a code paste, see https://play.nim-lang.org/#ix=4Hj7
12:48:04FromDiscord<griffith1deadly> In reply to @heysokam "async is out of": okay, ty!
12:48:48*krux02 quit (Remote host closed the connection)
12:48:48FromDiscord<Chronos [She/Her]> In reply to @griffith1deadly "oh, i just read": Fair lol
12:49:10FromDiscord<Chronos [She/Her]> In reply to @griffith1deadly "for myself i use": air
12:49:11FromDiscord<Chronos [She/Her]> Fair
12:50:44FromDiscord<Chronos [She/Her]> I prolly need a macro to check if a proc has the same signature as the listener
12:50:50FromDiscord<griffith1deadly> In reply to @griffith1deadly "for myself i use": in my case i just validating dispatched data type
12:51:06FromDiscord<Chronos [She/Her]> In reply to @griffith1deadly "for myself i use": Idk why but defining a table that accepts this causes the compiler to freak out
12:51:39FromDiscord<griffith1deadly> In reply to @chronos.vitaqua "Idk why but defining": because table cant contains this
12:51:49FromDiscord<griffith1deadly> as i say - cast to pointer
12:52:08FromDiscord<Chronos [She/Her]> Aah okay
12:53:43FromDiscord<griffith1deadly> my code for this case looks like this https://media.discordapp.net/attachments/371759389889003532/1155487223639183401/image.png
12:54:17FromDiscord<Chronos [She/Her]> That's vaguely reminiscent of Trigger lol
12:54:53FromDiscord<griffith1deadly> In reply to @chronos.vitaqua "That's vaguely reminiscent of": accepted the idea of implementing async execution)0
12:55:04FromDiscord<Chronos [She/Her]> Fair lol
12:55:30FromDiscord<griffith1deadly> In reply to @griffith1deadly "my code for this": can give full code in dm's
12:56:10*ntat quit (Ping timeout: 258 seconds)
12:56:18FromDiscord<Chronos [She/Her]> Nah it should be fine
12:56:26FromDiscord<Chronos [She/Her]> I think I'm getting close to my impl :p
13:15:15*derpydoo joined #nim
13:21:06FromDiscord<griffith1deadly> i'm a bit confused with alloc and dealloc ↵if i dealloc pointer, it should be nil?
13:21:24FromDiscord<odexine> Asynchronous IO is almost never needed for disk I’d say
13:28:47FromDiscord<Chronos [She/Her]> Lol fun https://play.nim-lang.org/#ix=4Hji
13:41:15FromDiscord<griffith1deadly> In reply to @chronos.vitaqua "Lol fun https://play.nim-lang.org/#ix=4Hji": you dont initialize seq in table
13:41:54FromDiscord<Chronos [She/Her]> Wait do I not?
13:42:07FromDiscord<Chronos [She/Her]> Ah...
13:42:19FromDiscord<Chronos [She/Her]> Wait no I do
13:42:42FromDiscord<Chronos [She/Her]> sent a code paste, see https://play.nim-lang.org/#ix=4Hjm
13:43:07FromDiscord<odexine> Technically you don’t need to
13:43:15FromDiscord<odexine> Ah wait never mind I misread
13:43:57FromDiscord<Chronos [She/Her]> :p
13:46:28FromDiscord<griffith1deadly> why u use addr to proc
13:46:34FromDiscord<griffith1deadly> problem in it
13:46:55FromDiscord<griffith1deadly> sent a code paste, see https://play.nim-lang.org/#ix=4Hjo
13:47:08FromDiscord<griffith1deadly> In reply to @griffith1deadly "why u use addr": then it ptr proc, not pointer to proc
13:54:41FromDiscord<Chronos [She/Her]> sent a code paste, see https://play.nim-lang.org/#ix=4Hjp
13:55:27FromDiscord<Chronos [She/Her]> That actually works perfectly now, wow
14:01:37FromDiscord<griffith1deadly> In reply to @griffith1deadly "i'm a bit confused": when i dealloc, calling by example proc storing in obj causing SIGSEGV↵but if i check it for nil value it false
14:01:57FromDiscord<griffith1deadly> how i can check what really deallocated?
14:09:12FromDiscord<griffith1deadly> In reply to @griffith1deadly "when i dealloc, calling": https://play.nim-lang.org/#ix=4Hjt example
14:32:25FromDiscord<odexine> dealloc (and actually also free in C) doesnt nil the pointer
14:33:07FromDiscord<odexine> actually im not sure about free, i think it does null there
14:33:19FromDiscord<odexine> but i believe in nim it doesnt because dealloc doesnt take a var ptr
14:33:52FromDiscord<griffith1deadly> freeShared also dont nil
14:33:54FromDiscord<odexine> actually no of course free doesnt either because it cant change the value xd
14:34:25FromDiscord<odexine> In reply to @griffith1deadly "freeShared also dont nil": none of them will
14:34:36FromDiscord<odexine> if you want to nil it then you make it nil after freeing
14:35:00FromDiscord<odexine> remember that pointers are just integers interpreted as addresses
14:35:10FromDiscord<odexine> and nil just means address 0
14:35:52FromDiscord<odexine> additionally dealloc does not mean that the underlying memory that the address points to will be zeroed
14:36:04FromDiscord<odexine> it might not even be touched by the mem management
14:36:30FromDiscord<odexine> so most likely the data "inside" the pointer will be non-nil (not zeroed)
14:39:08FromDiscord<griffith1deadly> In reply to @odexine "if you want to": if i nil it it also doesnt nil
14:39:14FromDiscord<odexine> ?
14:39:52FromDiscord<griffith1deadly> https://play.nim-lang.org/#ix=4Hjz
14:42:32FromDiscord<griffith1deadly> in nim 2.0 = it doesnt nil↵in nim 1.6.14 = it nil
14:43:37FromDiscord<odexine> it is nil accdg to .repr but not accdg to ==
14:44:17FromDiscord<odexine> https://play.nim-lang.org/#ix=4HjA
14:45:16FromDiscord<griffith1deadly> In reply to @odexine "it is nil accdg": and if check nil repl it also doesnt nil, very funny
14:47:21FromDiscord<griffith1deadly> oh i forgot about repl give string
14:58:54FromDiscord<toma400> sent a code paste, see https://play.nim-lang.org/#ix=4HjE
15:00:03FromDiscord<toma400> I remember bringing this and getting something about generics being implicit (?) but I still can't wrap my head around here, especially the difference between working on local scope, but not on global/Nimble one
15:00:53FromDiscord<griffith1deadly> In reply to @toma400 "Still not sure how": recreate example link
15:01:42FromDiscord<toma400> In reply to @griffith1deadly "recreate example link": Sorry, haha, thanks for correction 😅
15:02:33FromDiscord<toma400> sent a code paste, see https://play.nim-lang.org/#ix=4HjQ
15:02:40FromDiscord<toma400> (edit) "https://play.nim-lang.org/#ix=4HjQ" => "https://play.nim-lang.org/#ix=4HjR"
15:03:43FromDiscord<griffith1deadly> sent a code paste, see https://play.nim-lang.org/#ix=4HjS
15:04:36FromDiscord<griffith1deadly> (edit) "https://play.nim-lang.org/#ix=4HjS" => "https://play.nim-lang.org/#ix=4HjU"
15:08:44FromDiscord<toma400> Oh yeah, that's hella weird, line 49 is comment one O.o https://media.discordapp.net/attachments/371759389889003532/1155521207110738040/veird.png
15:29:25FromDiscord<griffith1deadly> In reply to @odexine "it is nil accdg": then.. how i can check that data deallocated, if == nil not work?
15:30:04FromDiscord<griffith1deadly> without string operations with repl))
15:30:08FromDiscord<griffith1deadly> (edit) "repl))" => "repr))"
15:36:05FromDiscord<odexine> In reply to @griffith1deadly "then.. how i can": dunno lol it seems like a bug to me
15:53:49FromDiscord<millymox> Currently my custom console only takes strings because that’s what I coded in, but i want it to log anything↵↵proc log(c: CustomConsole, message: cstring) {.importcpp: "#.log(@)".}
15:58:25FromDiscord<millymox> Found it
15:58:29FromDiscord<millymox> :any
16:02:32FromDiscord<sirolaf> In reply to @griffith1deadly "then.. how i can": `isNil` works for some reason
16:04:02FromDiscord<odexine> always strange when things like that work
16:04:19FromDiscord<odexine> makes it even more strange that iirc isnil is slated for removal
16:04:55FromDiscord<sirolaf> Is it? Better file a bug report then
16:07:06FromDiscord<odexine> hm i wonder if it has to do with the fact that it's a proc type
16:07:53FromDiscord<sirolaf> Seems to be because it's a closure actually
16:09:20FromDiscord<sirolaf> https://github.com/nim-lang/Nim/blob/devel/compiler/ccgexprs.nim#L702
16:10:20FromDiscord<sirolaf> isNil just generates a `x == 0` check so that works
16:13:05FromDiscord<griffith1deadly> In reply to @sirolaf "Seems to be because": no, without closure also == nil give false
16:13:09FromDiscord<griffith1deadly> but isNil work
16:13:40FromDiscord<sirolaf> When marking fn as `{.nimcall.}` it works so you must have tested wrong
16:13:46FromDiscord<sirolaf> Definitely closure related
16:14:23FromDiscord<odexine> im trying to repr it from scratch
16:14:31FromDiscord<griffith1deadly> In reply to @sirolaf "When marking fn as": only with this pragma work as expected
16:14:48FromDiscord<sirolaf> Yes because the compiler code I sent handles closures differently from normal
16:14:52FromDiscord<odexine> sent a code paste, see https://play.nim-lang.org/#ix=4Hke
16:15:47FromDiscord<odexine> oh something happened
16:16:18FromDiscord<odexine> that is interesting
16:16:38FromDiscord<odexine> `a.repr` breaks it
16:16:50FromDiscord<griffith1deadly> sent a code paste, see https://paste.rs/CYuY5
16:17:14FromDiscord<odexine> https://play.nim-lang.org/#ix=4Hkf works↵https://play.nim-lang.org/#ix=4Hkg
16:17:17FromDiscord<odexine> (edit) "https://play.nim-lang.org/#ix=4Hkf works↵https://play.nim-lang.org/#ix=4Hkg ... " added "doesnt"
16:21:47FromDiscord<griffith1deadly> very strange
16:25:09FromDiscord<odexine> and then if you comment line 17 in the doesnt work it's even different-er
16:25:19FromDiscord<odexine> well
16:25:20FromDiscord<sirolaf> No point theorizing, the cgen doesn't lie
16:25:21FromDiscord<odexine> it makes sense
16:25:36FromDiscord<odexine> the compiler probably elides the nil set
16:25:42FromDiscord<odexine> because it's being freed anyway
16:25:50FromDiscord<sirolaf> Environment isn't being set to nil or something
16:26:02FromDiscord<sirolaf> But function pointer itself seems good
16:27:36FromDiscord<odexine> sent a code paste, see https://play.nim-lang.org/#ix=4Hkl
16:28:51FromDiscord<sirolaf> Works when you make it generate this check (very bad fix) ↵`(($1.ClP_0 == 0 && $2.ClP_0 == 0) || ($1.ClP_0 == $2.ClP_0 && $1.ClE_0 == $2.ClE_0))`
16:30:18FromDiscord<odexine> i think it makes sense that setting values are "ignored before a free if it's never read" (maybe still a bug? idk, i dont think it is)
16:30:21FromDiscord<odexine> maybe UB
16:30:37FromDiscord<odexine> In reply to @odexine "maybe UB": rather, it's UB to read from a freed pointer in the first place
16:38:48FromDiscord<sirolaf> This is a problem with arc/orc
16:41:58FromDiscord<sirolaf> sent a code paste, see https://play.nim-lang.org/#ix=4Hkr
16:43:24FromDiscord<sirolaf> Your best bet is opening an issue I think, arc/orc are generally still kinda broken in my opinion
16:48:13FromDiscord<sirolaf> It most likely doesn't enjoy you mixing unmanaged pointers with managed ones
16:50:06FromDiscord<Chronos [She/Her]> I wonder what event system is better... the one I hacked together or Trigger (one without hacks)
17:02:46*Jjp137 quit (Remote host closed the connection)
17:05:54*Jjp137 joined #nim
18:41:03FromDiscord<Chronos [She/Her]> Hm just thinking rn
18:41:32FromDiscord<Chronos [She/Her]> Do I want to embed the assets in my game's binary?
18:41:39FromDiscord<Chronos [She/Her]> Or do I want to keep them separate
18:41:52FromDiscord<Chronos [She/Her]> Just trying to think which one would be better :|
18:57:40FromDiscord<Chronos [She/Her]> Decided on embedding
19:10:00FromDiscord<Chronos [She/Her]> How would I make a grid to draw textures to :p
19:12:06FromDiscord<Elegantbeef> You do you, you can use supersnappy + staticread to compress the data in your binary↵(@Chronos [She/Her])
19:12:37FromDiscord<Elegantbeef> If by "grid to draw textures to" you mean an atlas, https://github.com/beef331/truss3d/blob/master/src/truss3D/atlasser.nim
19:14:22*disso-peach joined #nim
19:18:57FromDiscord<Chronos [She/Her]> You understand me in a way no-one else does, Beef~
19:19:04FromDiscord<Chronos [She/Her]> Thanks!
19:19:17FromDiscord<Chronos [She/Her]> Tho I see that's 3D, wonder if it will work out of the box for 2D
19:19:25FromDiscord<Elegantbeef> What?
19:19:32FromDiscord<Elegantbeef> That's an rect packer
19:19:39FromDiscord<Elegantbeef> I use it for atlassing textures for my gui
19:19:49FromDiscord<Elegantbeef> That module is wholly agnostic to the project
19:20:01FromDiscord<Chronos [She/Her]> Ah
19:20:47FromDiscord<Chronos [She/Her]> By atlassing textures for your GUI do you mean drawing them to a screen or into a spritesheet?
19:21:01FromDiscord<Elegantbeef> To a texture buffer
19:21:21FromDiscord<Elegantbeef> Technically truss3D can do 2D graphics, I just do not use it as such
19:21:42FromDiscord<Elegantbeef> It's afterall just a opengl abstraction
19:22:15FromDiscord<Elegantbeef> But yea if you need to atlas textures dynamically steal the atlas code, otherwise just use a script to atlas your textures
19:23:58FromDiscord<Chronos [She/Her]> Gucci
19:24:17FromDiscord<Chronos [She/Her]> I moreso needed the grid to draw a map to with ground pieces and such :p
19:24:47FromDiscord<Elegantbeef> A 2D renderer is quite easy to make
19:24:50FromDiscord<Elegantbeef> So have fun
19:26:41FromDiscord<Chronos [She/Her]> I'm already using Raylib for drawing
19:26:53FromDiscord<Chronos [She/Her]> The second issue I have is that I need to draw it all at an angle-
19:27:02FromDiscord<Chronos [She/Her]> Like Hades (a rogue-like)
19:27:24FromDiscord<Elegantbeef> Ah you need an diametric or isometric renderer
19:28:01FromDiscord<Elegantbeef> Best way to do that is to make your textures in a hexagon shape then render those using triangles
19:28:16FromDiscord<Elegantbeef> Well diamond for isometricc
19:29:16FromDiscord<Elegantbeef> dimetric\ 😄
19:31:36FromDiscord<Chronos [She/Her]> In reply to @Elegantbeef "Best way to do": I don't understand?-
19:31:46FromDiscord<Chronos [She/Her]> How would I make them in a hexagon shape?
19:32:10FromDiscord<Elegantbeef> It depends on your perspective of course
19:32:45FromDiscord<Chronos [She/Her]> Hm
19:33:09FromDiscord<Chronos [She/Her]> Also I'm using Raylib and it has a rectangle shape but not a triangle shape :p
19:33:25FromDiscord<Chronos [She/Her]> Unless I choose to use Camera3D but that seems like excessive amounts of pain
19:33:34FromDiscord<Chronos [She/Her]> And Unreal looks so over the top for this
19:33:35FromDiscord<Elegantbeef> I cannot remember the exact projection, but one prefers using triangular segments of a hexagon to draw
19:33:42FromDiscord<Chronos [She/Her]> Ah
19:33:44FromDiscord<Elegantbeef> I mean just make your own mesh and render that
19:34:04FromDiscord<Chronos [She/Her]> I think I can do that? Will do it tomorrow though because my mental capacity is at zero rn
19:35:16FromDiscord<Elegantbeef> Just for reference something this angle
19:35:37FromDiscord<Elegantbeef> I think this would require a hexagon like sampling
19:35:38FromDiscord<Elegantbeef> image.png https://media.discordapp.net/attachments/371759389889003532/1155588372178411540/image.png
19:38:07FromDiscord<sirolaf> sent a code paste, see https://play.nim-lang.org/#ix=4Hl1
19:39:22FromDiscord<Elegantbeef> Segfaults on 2.0
19:39:38FromDiscord<sirolaf> That's pretty bad, wonder where it broke then
19:40:13FromDiscord<Elegantbeef> Seems writing to a immutable variable broke it?
19:41:02FromDiscord<sirolaf> 1.6.14 also crashes
19:41:31FromDiscord<sirolaf> Well I have a repro with mutable variable, but haven't been able to reduce that one yet
19:43:12FromDiscord<sirolaf> sent a code paste, see https://play.nim-lang.org/#ix=4Hl3
19:44:54FromDiscord<Elegantbeef> Here's hoping it's an easy fix 😄
19:46:32FromDiscord<sirolaf> Same, this one really got me good, makes nimsuggest unusable for my code right now
19:47:32FromDiscord<Elegantbeef> When has it ever been usable!
19:47:56FromDiscord<sirolaf> When you pray for 5 minutes before bed every night
19:48:34FromDiscord<sirolaf> It's actually been pretty stable for me recently
19:50:21FromDiscord<Elegantbeef> The real question is to which god
19:50:29FromDiscord<Elegantbeef> I've been praying to Hermes in hopes of quick Nimsuggest response time
20:17:15FromDiscord<sirolaf> sent a code paste, see https://play.nim-lang.org/#ix=4Hlg
20:17:16Amun-Raekhm ekhm, I recommend myself
20:17:30FromDiscord<sirolaf> (edit) "https://play.nim-lang.org/#ix=4Hlg" => "https://play.nim-lang.org/#ix=4Hlh"
20:27:07FromDiscord<leorize> my nimsuggest always respond quickly
20:27:31FromDiscord<Elegantbeef> "Just what it responds with is not worthwhile"
20:27:42FromDiscord<leorize> > nimsuggest instance for project cps stopped with exitcode\: 1
20:28:04FromDiscord<Elegantbeef> Your joke but worse sorry
20:29:02FromDiscord<sirolaf> I hate debugging nimsuggest so gonna lie down in defeat until someone else does it
20:31:37FromDiscord<leorize> just remember to file bugs for those
20:32:16FromDiscord<sirolaf> Yeah issue has been created with two examples
20:33:44FromDiscord<sirolaf> It actually seems to be quite widespread too, crashes at the same location for `compiler/semstmts` so hopefully it improves nimsuggest a good bit if fixed
20:34:04FromDiscord<sirolaf> (edit) "`compiler/semstmts`" => "`compiler/semstmts.nim`"
20:37:00*xmachina quit (Ping timeout: 244 seconds)
20:51:08*xmachina joined #nim
21:20:50FromDiscord<jmgomez> In reply to @Elegantbeef "I've been praying to": sometimes I wonder if the langserver, or something in the middle, shouldnt make the effort to cache/invalidate them
21:21:05FromDiscord<jmgomez> (edit) "shouldnt" => "should"
21:35:17NimEventerNew thread by CircArgs: Simple template and macro question, see https://forum.nim-lang.org/t/10513
23:21:49*disso-peach quit (Quit: Leaving)
23:35:07*Mister_Magister quit (Ping timeout: 260 seconds)