Quinton Miller

Results 151 issues of Quinton Miller

In the following snippet, the `Bar` in `x : Bar` is resolved as a type even though it is a free variable, and since `Bar < Foo`, the `Bar` overload...

kind:bug
kind:refactor
topic:compiler:semantic

This PR moves all the warning settings and detected warnings into a new `Crystal::WarningCollection` object. A new `Crystal::Compiler` or `Crystal::Program` comes with its own warning collection, but a collection may...

topic:compiler
kind:refactor

Fixes #12361. The full list of affected nodes are: ```crystal macro show(x) {% p x %} {% puts "" %} end show(if 1; begin; 2; end; else; begin; 3; end;...

kind:bug
topic:compiler

This companion to #12353 makes `TypeNode#nilable?` return `true` for all supertypes of `Nil`: ```crystal {{ Value.nilable? }} # => true {{ Object.nilable? }} # => true module Foo; end struct...

kind:bug
topic:stdlib:macros

These 8 uses of `TypeDeclaration`s in the repository assign a value to a local variable. They can all be expressed without that type name, which does not in fact type...

topic:stdlib
kind:refactor

Fixes #6447. Does not affect the macro method `TypeNode#nilable?`. Also does not affect the compiler's notion of a nilable type (which uses instead `Type#includes_type?(NilType)`).

kind:bug
topic:stdlib

Follow-up to #12294. The breaking changes are: * `#noecho!` and `#raw!` return `nil` instead of `LibC.tcsetattr`'s return value; * The `*_from_tc_mode!` macros are now deprecated. Later we should probably deprecate...

kind:refactor
breaking-change
topic:stdlib:files

This PR implements one of the algorithms from #11873. The loop can be made even faster by unrolling, which is not done here yet. [Here is a benchmark](https://gist.github.com/HertzDevil/6022606e107bdfe0c1035858d5f54577) comparing 4...

performance
topic:stdlib:text

Supersedes #10701. The following description is adopted from that PR. Consider the following: ```crystal def foo(x : Int8, y : Char); end def foo(x : UInt8, y : String); end...

kind:bug
topic:compiler:semantic

With just 8 out of 259 spec files failing to compile on Windows, there is no longer a dire need to keep a list of the spec files that do...

platform:windows
kind:specs
pr:needs-work