Jule 0.0.13
Pre-release
Pre-release
mertcandav
released this
17 Jun 11:03
·
1106 commits
to master
since this release
Language
- add: inheritance support for traits
- add: casting support for traits with common behaviors
- update: some binded types are accepted as comparable
- update: enum mechanics
- update: pass directive adds to command-lines after source files
Compiler
- various fixes, improvements and optimizations
- add:
--opt-str
optimization flag - update:
--opt-copy
optimization flag - fix: define ordering
- fix: code generation for casting from expressions
- fix & improve: code generation for type informations
- fix: type information generation for enum types
- parser: fix plain-type parameter parsing
- sema: fix slice literal evaluation
- sema: fix duplicated parameter identifier analysis
- sema: fix checking of test functions
- sema: fix limit handling of types
Standard Library
- add: std::hash
- add: std::hash::adler32
- add: std::hash::fnv
- std::slices: add the
Sort
andIsSorted
functions - std::process: reimplement the
Cmd
- std::process: remove the
Pid
type alias - std::fs: reimplement the
Status
- std::env: fix
Env
function returns command-line arguments instead of environment variables - std::fs: add the
WriteStr
method to theFile
- std::fs: add the
WriteStr
static method to theFile
- std::io: the
WriteStr
method of theByteStream
andFileStream
, takes reference string now - std::sys: remove the
Wopendir
,Wreaddir
, andWclosedir
functions for Windows - std::sys: add the
FindFirstFile
,FindNextFile
,FindClose
functions for Windows - std::sys: remove the
Wdir
andWdirent
structs for Windows - std::sys: add the
Win32FindData
struct for Windows - std::sys: remove last parameter of the
ReadConsole
function for Windows - std::jule::ast: add the
Inherits
field to theTraitDecl
- std::jule::sema: add the
Inherits
field to theTrait
- std::jule::types: add the
MaxI
,MaxU
, andMinI
functions
API
- optimize: string UTF-8 handling
- add:
jule::utf8_push_rune_bytes<Dest>
- remove:
jule::utf8_rune_to_bytes
- fix: the
jule::env
function always returns empty slice after first use
Legacy Support
The old Jule source codes probably will not compile with this release. Because Jule 0.0.13 brings many breaking changes.
Some breaking changes:
std::process::{Cmd}
is reimplementedstd::fs::{Status}
is reimplemented