Yorick Peterse

Results 132 issues of Yorick Peterse

### Please describe the bug When using explicit type signatures for closure arguments, it's possible to specify type signatures that aren't compatible with what is expected, yet the compiler doesn't...

bug
compiler

### Problem Recently I noticed that when working with projects that produce 300+ diagnostics (e.g. when refactoring something that affects pretty much the entire codebase), memory usage of Neovim can...

bug
event-loop

With https://github.com/inko-lang/inko/issues/633 fixed, we should do the same for socket IO. The following functions need to be replaced: - [ ] `inko_socket_accept` - [ ] `inko_socket_bind` - [ ] `inko_socket_connect`...

feature
std
runtime

### Please describe the bug When a type can't be fully inferred, the compiler is supposed to emit an error. This doesn't always happen though, such as for the following...

accepting contributions
bug
compiler

### Please describe the bug The compiler doesn't handle recursive C structures gracefully, i.e. the following code crashes it: ```inko class extern Foo { let @a: Int32 let @b: Foo...

accepting contributions
bug
compiler

### Please describe the bug When passing non-pointer values, such as a `Foo` or `ref Foo`, the type checker allows such values to be passed when a `Pointer[T]` is expected:...

accepting contributions
bug
compiler

### Please describe the bug Certain code patterns that involve C types, such as iterating over `Array[Int32]`, result in a type checking error such as illustrated by this code example:...

accepting contributions
bug
compiler

### Description The type system expresses pointers as `TypeRef::Pointer(TypeId)`, meaning we don't support pointer pointers (`Pointer[Pointer[Int32]]` for example). This can make working with C code tricky. In particular, if you...

feature
compiler

### Description Instances of classes are heap allocated by default, with the exception of `Int`, `Float`, `Bool`, and `Nil`. This is what allows Inko's borrowing mechanism to work, and crucially...

feature
performance
compiler

### Please describe the bug When running the following code, the return value of `allocate` is inferred as `move T` instead of `Pointer[T]`, which should then be inferred as `Pointer[Int]`:...

bug
compiler