nsa-guidance | https://www.nsa.gov/Press-Room/News-Highlights/Article/Article/3215760/nsa-releases-guidance-on-how-to-protect-against-software-memory-safety-issues/ |
https://www.cisa.gov/news-events/news/urgent-need-memory-safety-software-products | https://www.cisa.gov/news-events/news/urgent-need-memory-safety-software-products |
https://www.cisa.gov/news-events/alerts/2023/12/06/cisa-releases-joint-guide-software-manufacturers-case-memory-safe-roadmaps | https://www.cisa.gov/news-events/alerts/2023/12/06/cisa-releases-joint-guide-software-manufacturers-case-memory-safe-roadmaps |
white-house | https://www.whitehouse.gov/oncd/briefing-room/2024/02/26/press-release-technical-report/ |
ncsi-plan | https://www.whitehouse.gov/wp-content/uploads/2024/05/NCSIP-Version-2-FINAL-May-2024.pdf |
ms-vulnerabilities | https://msrc.microsoft.com/blog/2019/07/we-need-a-safer-systems-programming-language |
https://googleprojectzero.blogspot.com/p/0day.html | https://googleprojectzero.blogspot.com/p/0day.html |
secure-by-design | https://research.google/pubs/secure-by-design-googles-perspective-on-memory-safety/ |
https://azure.microsoft.com/en-us/blog/microsoft-azure-security-evolution-embrace-secure-multitenancy-confidential-compute-and-rust/ | https://azure.microsoft.com/en-us/blog/microsoft-azure-security-evolution-embrace-secure-multitenancy-confidential-compute-and-rust/ |
rust-language | https://doc.rust-lang.org/book/ |
vocabulary-types | https://cxx.rs/bindings.html |
https://rust-lang.github.io/rfcs/2094-nll.html | https://rust-lang.github.io/rfcs/2094-nll.html |
iterator.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/iterator.cxx |
(Compiler Explorer) | https://godbolt.org/z/vneosEGrK |
mir | https://rustc-dev-guide.rust-lang.org/mir/index.html |
rust-iterator | https://doc.rust-lang.org/std/iter/trait.Iterator.html |
isprint | https://en.cppreference.com/w/cpp/string/byte/isprint |
safe-unsafe-meaning | https://doc.rust-lang.org/nomicon/safe-unsafe-meaning.html |
safety-comments | https://std-dev-guide.rust-lang.org/policy/safety-comments.html |
raii | https://en.wikipedia.org/wiki/Resource_acquisition_is_initialization |
string_view.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/string_view.cxx |
(Compiler Explorer) | https://godbolt.org/z/8KabhKP97 |
https://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare/ | https://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare/ |
box.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/box.cxx |
(Compiler Explorer) | https://godbolt.org/z/aYvqoTv51 |
match.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/match.cxx |
(Compiler Explorer) | https://godbolt.org/z/KbGhKz78v |
thread_safety.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/thread_safety.cxx |
(Compiler Explorer) | https://godbolt.org/z/es9nx5sqd |
subscript_array.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/subscript_array.cxx |
subscript_vector.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/subscript_vector.cxx |
safe.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/safe.cxx |
unsafe2.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/unsafe2.cxx |
(Compiler Explorer) | https://godbolt.org/z/7qEnb4s44 |
unsafe3.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/unsafe3.cxx |
unsafe4.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/unsafe4.cxx |
unsafe5.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/unsafe5.cxx |
unsafe_bounds.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/unsafe_bounds.cxx |
(Compiler Explorer) | https://godbolt.org/z/9xajqhrvc |
unsafe_bounds.rs | https://github.com/cppalliance/safe-cpp/blob/master/proposal/unsafe_bounds.rs |
tracing-gc | https://en.wikipedia.org/wiki/Tracing_garbage_collection |
https://docs.swift.org/swift-book/documentation/the-swift-programming-language/automaticreferencecounting/ | https://docs.swift.org/swift-book/documentation/the-swift-programming-language/automaticreferencecounting/ |
string-view-use-after-free | https://github.com/isocpp/CppCoreGuidelines/issues/1038 |
string_view0.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/string_view0.cxx |
(Compiler Explorer) | https://godbolt.org/z/e3TG6W5Me |
string_view1.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/string_view1.cxx |
(Compiler Explorer) | https://godbolt.org/z/1M6hMv43M |
https://wg21.link/p1179r1 | https://wg21.link/p1179r1 |
https://discourse.llvm.org/t/rfc-lifetime-annotations-for-c/61377 | https://discourse.llvm.org/t/rfc-lifetime-annotations-for-c/61377 |
initlist0.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/initlist0.cxx |
initlist1.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/initlist1.cxx |
(Compiler Explorer) | https://godbolt.org/z/xxdTfdh1d |
view.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/view.cxx |
(Compiler Explorer) | https://godbolt.org/z/qqq3889M4 |
get.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/get.cxx |
(Compiler Explorer) | https://godbolt.org/z/GWrfY5qMT |
https://doc.rust-lang.org/std/ops/trait.Drop.html | https://doc.rust-lang.org/std/ops/trait.Drop.html |
drop.rs | https://github.com/cppalliance/safe-cpp/blob/master/proposal/drop.rs |
(Compiler Explorer) | https://godbolt.org/z/hsYdqqxTe |
drop.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/drop.cxx |
(Compiler Explorer) | https://godbolt.org/z/MM14nPdc6 |
phantom-data | https://doc.rust-lang.org/nomicon/phantom-data.html |
may-dangle | https://rust-lang.github.io/rfcs/1327-dropck-param-eyepatch.html |
drop2.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/drop2.cxx |
(Compiler Explorer) | https://godbolt.org/z/qv1nq65oa |
scc | https://en.wikipedia.org/wiki/Strongly_connected_component |
mut.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/mut.cxx |
(Compiler Explorer) | https://godbolt.org/z/7YPoc4d8b |
mut2.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/mut2.cxx |
(Compiler Explorer) | https://godbolt.org/z/db35zexYP |
move.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/move.cxx |
(Compiler Explorer) | https://godbolt.org/z/5bsfnfG16 |
rel1.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/rel1.cxx |
(Compiler Explorer) | https://godbolt.org/z/8nGo59E1v |
tuple1.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/tuple1.cxx |
(Compiler Explorer) | https://godbolt.org/z/4hq7Eb86x |
pin | https://doc.rust-lang.org/std/pin/index.html |
https://wg21.link/p1144r11 | https://wg21.link/p1144r11 |
dcl.enum | https://eel.is/c++draft/dcl.enum#8 |
choice.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/choice.cxx |
https://wg21.link/p2688r1 | https://wg21.link/p2688r1 |
match1.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/match1.cxx |
(Compiler Explorer) | https://godbolt.org/z/q1xsMzMKP |
match2.cxx | https://github.com/cppalliance/safe-cpp/blob/master/proposal/match2.cxx |
(Compiler Explorer) | https://godbolt.org/z/h1rhajorG |
matches | https://doc.rust-lang.org/std/macro.matches.html |
unsafe-cell | https://doc.rust-lang.org/std/cell/struct.UnsafeCell.html |
https://doc.rust-lang.org/std/cell/struct.Cell.html | https://doc.rust-lang.org/std/cell/struct.Cell.html |
ref-cell | https://doc.rust-lang.org/std/cell/struct.RefCell.html |
mutex | https://doc.rust-lang.org/std/sync/struct.Mutex.html |
rwlock | https://doc.rust-lang.org/std/sync/struct.RwLock.html |
https://antelang.org/blog/safe_shared_mutability/#shared-interior-mutability | https://antelang.org/blog/safe_shared_mutability/#shared-interior-mutability |
send-sync | https://doc.rust-lang.org/nomicon/send-and-sync.html |
itanium-abi | https://itanium-cxx-abi.github.io/cxx-abi/abi.html#non-trivial-parameters |
unwinding-puts-limits-on-the-borrow-checker | https://smallcultfollowing.com/babysteps/blog/2024/05/02/unwind-considered-harmful/#unwinding-puts-limits-on-the-borrow-checker |
https://wg21.link/p3166r0 | https://wg21.link/p3166r0 |
Github
Issue | https://github.com/cppalliance/safe-cpp/issues/12 |
sil | https://github.com/swiftlang/swift/blob/main/docs/SIL.rst |
https://discourse.llvm.org/t/rfc-upstreaming-clangir/76587 | https://discourse.llvm.org/t/rfc-upstreaming-clangir/76587 |
https://en.wikipedia.org/wiki/Data-flow_analysis#Bit_vector_problems | https://en.wikipedia.org/wiki/Data-flow_analysis#Bit_vector_problems |
variance | https://rust-lang.github.io/rfcs/0738-variance.html |
taming-the-wildcards | https://yanniss.github.io/variance-pldi11.pdf |
https://github.com/Speykious/cve-rs | https://github.com/Speykious/cve-rs |
https://rust-lang.github.io/rfcs/2094-nll.html#layer-5-how-the-borrow-check-works | https://rust-lang.github.io/rfcs/2094-nll.html#layer-5-how-the-borrow-check-works |
russinovich | https://x.com/markrussinovich/status/1571995117233504257?lang=en |
https://github.com/cppalliance/safe-cpp | https://github.com/cppalliance/safe-cpp |
https://cpplang.slack.com/ | https://cpplang.slack.com/ |
https://www.circle-lang.org/ | https://www.circle-lang.org/ |
https://cppalliance.org/safe-cpp/draft.html | https://cppalliance.org/safe-cpp/draft.html |