Skip to content

Commit

Permalink
Updates release notes for PR #4458
Browse files Browse the repository at this point in the history
  • Loading branch information
ponylang-main committed Oct 6, 2023
1 parent 0f4f11a commit 95a1efd
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 28 deletions.
28 changes: 0 additions & 28 deletions .release-notes/issue-4244.md

This file was deleted.

29 changes: 29 additions & 0 deletions .release-notes/next-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,32 @@ Quite a while back, we broke the support in our Makefile for building the Pony r

When attempting to build the Pony runtime with the `pool_memalign` option, users would encounter a compilation error if building a `release` rather than `debug` version of the runtime. We've fixed the compilation error and added CI testing to verify we don't get a regression.

## Fix compiler bug that allows an unsafe data access pattern

In November of last year, core team member Gordon Tisher identified a bug in the type system implementation that allowed sharing of data that shouldn't be shareable.

The following code should not compile:

```pony
class Foo
let s: String box
new create(s': String box) =>
s = s'
fun get_s(): String val =>
// this is unsafe and shouldn't be allowed
recover val s end
actor Main
new create(env: Env) =>
let s = String
s.append("world")
let foo = Foo(s)
env.out.print("hello " + foo.get_s())
```

Upon investigation, we found that this bug goes back about 8 or 9 years to the when viewpoint adaptation was introduced into the Pony compiler.

We've fixed the logic flaw and added tests to verify that it can't be reintroduced.

0 comments on commit 95a1efd

Please sign in to comment.