You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ownership.md
+5-7Lines changed: 5 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,21 +1,18 @@
1
1
2
2
Last Updated 5 December 2025
3
3
4
-
This is a work in progress. Cake source is currently being used to validate the concepts. It's in the process of transitioning to include annotated nullable checks, which was the last feature added.
4
+
This is a work in progress. Cake source is currently being used to validate the concepts.
5
5
6
6
7
7
## Abstract
8
8
9
9
The objective is to statically check code and prevent bugs, including memory bugs like double free,
10
-
null dereference and memory leaks. New type-annotations have been created to extend the type system
11
-
and insert information that defines contracts.
10
+
null dereference and memory leaks.
12
11
13
-
Ultimately, we still have the same language, but with an improved type system that checks these
14
-
contracts.
12
+
Type-annotations have been created to extend the type system and insert information that defines contracts.
15
13
16
14
These new type-annotations can be ignored, the language **and existing code patterns** remains unmodified.
17
15
18
-
19
16
## Concepts
20
17
21
18
### Nullable Pointers
@@ -39,7 +36,8 @@ existing code will naturally conflict with the new rules, as some unqualified po
39
36
existing code can be nullable; they simply are not reviewed yet.
40
37
41
38
The directive `#pragma nullable enable/disable` can be used during the process of upgrading code.
42
-
`nullable enable` means that the new rules apply, while `nullable disable` indicates that all pointers
39
+
40
+
`#pragma nullable enable` means that the new rules apply, while `#pragma nullable disable` indicates that all pointers
43
41
are nullable. Similar approach has been used in C# [1].
44
42
45
43
It is important to note that, although the semantics change, this only affects static analysis;
0 commit comments