Comments (2)
This issue here is that the reachability pass has an invariant that the receiver type is always visited before its methods. The rationale is that you can only call a method if you have a value, and you can only have a value if you've visited its type. It sort of worked so far, but apparently there's edge cases where it doesn't :(.
There's probably a way to fix that edge case, bu there's really no point keeping that assumption. @lukecheeseman has a simple fix coming soon.
from verona.
Even smaller test case:
class A {
foo(self: iso) {}
}
class B {
bar(): A & iso {
new A
}
}
class Main {
main() {
(B.bar()).foo();
}
}
I'm amazed we hadn't hit this bug before given how trivial it is to trigger it.
from verona.
Related Issues (20)
- what is the meaning of mut-view? HOT 3
- Question about when expression scheduling HOT 5
- security issue in DeallocChunk - unaligned address HOT 2
- security issue in DeallocChunk- double free
- security issue in DeallocChunk - lack bounds check on size HOT 1
- cross sandbox DOS in handle
- Issue in `handle` - use of uninitialized stack due to lack of return value check HOT 1
- verona-mlir do not support cown, when HOT 1
- `handle` doesn't check the return value of send
- sandbox can violate of sizeclass assert in snmalloc HOT 2
- check for failure in Library.alloc
- Problem about iso type class field HOT 1
- Why not use a more C/C++ like syntax? HOT 2
- verona develop progress , any compare with google carbon language. HOT 2
- Is this project dead? HOT 2
- Move to later version of Mac OS HOT 1
- so it has eventualy dead? HOT 1
- Fuzzing failure
- Shadowing of Self type name leads to looping in structure pass
- Looping in validtypeargs pass HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from verona.