Ary Borenszweig
Ary Borenszweig
The idea would be to try to resolve that before expanding the interpolation. I'll send a PR later during this week.
Here's the PR: https://github.com/crystal-lang/crystal/pull/12524/files
Wow, that performance gain is amazing! I personally think option 2 is the best one because it just works: no need to pass flags or choose anything. But I'm not...
I would just like to remind you that mandatory type signatures won't solve this issue. See these: - https://forum.crystal-lang.org/t/sponsorship-for-incremental-compilation/1428/3 - https://forum.crystal-lang.org/t/crystal-and-go/2514/5 I probably talked about this in more places.
Check one of the links I shared. The problem is that dependencies of a method aren't clear.
Let's take this program: ```crystal # foo.cr require "./bar" class Foo def foo 1 end end Bar.bar ``` ```crystal # bar.cr class Bar def self.bar(foo) puts foo.foo end end ```...
I think we should at least make the top-level `puts`, `print` and `printf` use a global mutex. With these functions it's not clear something is being shared so it's probably...
> IO isn't thread safe, and neither are STDIN, STDOUT or STDERR I agree. I crosses my initial thoughts about that as soon as I finished writing it. > the...
But I guess for IO we'll have to use reentrant mutexes because `unbuffered_write` will be called from, say, `puts`, and you'll want to synchronize it at that level too. And...
An annotation might be good. The compiler already knows whether a method raises or not, and we could easily enhance it to know which exceptions are thrown. Then checking that...