crystal icon indicating copy to clipboard operation
crystal copied to clipboard

The Crystal Programming Language

Results 736 crystal issues
Sort by recently updated
recently updated
newest added

The following code crashes the compiler: ```Crystal lib LibFoo struct Struct payload : Void* end end io = IO::Memory.new("hey") a = LibFoo::Struct.new a.payload = pointerof(io) ``` ``` Module validation failed:...

kind:bug
topic:compiler:codegen

This patch provides Natvis formatter definitions for `String`, `Array`, and `Hash`: ![image](https://user-images.githubusercontent.com/1361918/177602770-717eb75e-ee73-4cf0-bc85-43070fa3a7ca.png) Without the formatters: ![image](https://user-images.githubusercontent.com/1361918/177603116-6353d0c9-2274-4866-827e-64da833e0c84.png) System-wide Natvis files are only suitable for languages supported by Visual Studio itself, and...

kind:feature
topic:compiler:debugger
platform:windows

## Bug Report When preparing for my next release of the `kube-client.cr` i am unable to run `crystal spec` in github actions due to the following error: ``` cc: error:...

kind:bug
topic:infrastructure

## Feature Request Given this code: ```crystal def method_that_only_returns_nil : Nil # literally anything end def success! end if method_that_only_returns_nil success! end ``` Checking for truthiness of the return value...

kind:feature
topic:compiler
status:discussion

Fixes #7340. A "complex expression" is anything that isn't a `Nop`, `NilLiteral`, `BoolLiteral`, `NumberLiteral`, `CharLiteral`, `StringLiteral`, `SymbolLiteral`, `Var`, `InstanceVar`, or `ClassVar`. (This same criterion is used by the normalizer to...

kind:bug
topic:compiler

This ensures that macro interpolation and other things do not produce invalid code from a `LibDef`, since empty parameters are actually allowed for lib funs: ```crystal macro foo(x) {% p...

kind:bug
topic:compiler

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