Jule 0.0.14
Pre-release
Pre-release
mertcandav
released this
17 Jul 13:13
·
1001 commits
to master
since this release
Language
- add: compile-time functionalities like comptime-reflection empowered by standard library
- add: compile-time conditional matching
- add: compile-time iterations
- update: constant variables are no longer considered for “unused variable” analysis
Compiler
- numerous minor fixes, optimizations and improvements
- minor improvements for tests code generation
- add: necessary library links to compile command for Windows (improves MSVC compatibility)
- fix: code generation for trait function call arguments
- fix: handling bytes and runes for string casting
- parser: fix expression parsing, thanks to @lakshgupta for getting this noticed with #108
- parser: fix parsing of map type declarations in expressions
- sema: fix caughing not invoked built-in functions
- sema: fix comparable constrait analysis
- sema: fix structures skips declaration analysis of their methods
- sema: fix generic defines uses same instance for hint type of cpp-linked types (for example:
int
andcpp.Int
(linked asint
) - sema: caught variadic reference parameters
- sema: caught anonymous methods for traits and structures
- sema: caught unsupported types for binary operators
- sema: stop analysis for scope when comptime-panic call occurred
- sema: fix handling of type-enums
Standard Library
- add: std::comptime
- std::bytes: add the
Cut
function - std::strings: add the
Cut
function - std::mem: disallow void and function types for the
SizeOf
andAlignOf
functions - std::jule::sema: remove the
FindPackage
method of theLookup
trait - std::jule::sema: add the
Comptime
field to theMatch
- std::jule::sema: add the
Ordered
method toTypeKind
- std::jule::types: add
uintptr
support for theBitsizeOf
function - std::jule::sema: fix the
Str
method of theMap
struct uses old format
API
jule::Str
: removejule::I32
constructor and add the staticfrom_byte
andfrom_rune
methods