0.17.0
Pony 0.17.0 is a recommended release if you are using GCC 7 on Linux. Before this release, GCC 7 was unable to build the Pony compiler. If you aren't using GCC 7, you can take your time upgrading. Please note, there is a breaking change in this release, but it's quite unlikely that anyone will be impacted by it.
Treat as
type of array literals as the alias of the element type
Previously, an array literal, even when the as
type is given explicitly, uses the alias of the as type as the type argument for the Array type. For example:
trait iso T
class iso A is T
class iso B is T
class iso C is T
actor Main
new create(env: Env) =>
let a: T = A
let b: T = B
let c: T = C
let abc: Array[T] = [as T^: A; B; C] // works
let abc': Array[T] = [as T: A; B; C] // fails: literal has type Array[T!]
We doubt that anyone currently has the `// works`` line anywhere in their code. However, if you are impacted, update it to:
let abc': Array[T] = [as T: A; B; C]
default_pic
build option
Previously on platforms that required PIC, you would have to pass the --pic
flag to ponyc
each time you compiled a Pony program. With the addition of default_pic
, you can build ponyc
so that --pic
is automatically handled for you. Use make default_pic=true
when building ponyc
and away you go!
[0.17.0] - 2017-08-05
Fixed
- Fix cursor location for displaying compiler errors and info. (PR #2136)
- Fix indent detection when lexing docstrings that contain whitespace-only lines. (PR #2131)
- Fix compiler crash on typecheck error in FFI call. (PR #2124)
- Fix compiler assert on match including structural equality on union type. (PR #2117)
Added
- Support GCC7 on Linux (PR #2134)
- Add regex match iterator (PR #2109)
- Add more promise methods (RFC 35) (PR #2084)
- Add ability to default enable PIC when compiling ponyc (PR #2113)