Skip to content
This repository has been archived by the owner on Aug 22, 2024. It is now read-only.

Nightly-2023-12-07 #1269

Merged
merged 2 commits into from
Jul 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 2 additions & 13 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file modified binaries/summary_store.tar
Binary file not shown.
1 change: 0 additions & 1 deletion checker/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ shellwords = "*"
sled = "*"
tar = "*"
tempfile = "*"
triomphe = "=0.1.9"
z3-sys = { version = "*", git = "https://github.com/prove-rs/z3.rs.git", optional = true }

[dev-dependencies]
Expand Down
1 change: 1 addition & 0 deletions checker/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
// In the current world, however, we have to use the following hacky feature to get access to a
// private and not very stable set of APIs from whatever compiler is in the toolchain when we run Mirai.
// While pretty bad, it is a lot less bad than having to write our own compiler, so here goes.
#![allow(internal_features)]
#![feature(rustc_private)]
#![feature(array_chunks)]
#![feature(box_patterns)]
Expand Down
10 changes: 6 additions & 4 deletions checker/src/utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,10 @@ pub fn is_public(def_id: DefId, tcx: TyCtxt<'_>) -> bool {
.opt_def_id()
.map_or_else(
|| {
tcx.sess
.delay_span_bug(tr.path.span, "trait without a def-id");
tcx.sess.span_delayed_bug(
tr.path.span,
"trait without a def-id",
);
ty::Visibility::Public
},
|def_id| tcx.visibility(def_id),
Expand Down Expand Up @@ -425,10 +427,10 @@ fn push_component_name(component_data: DefPathData, target: &mut String) {
ForeignMod => "foreign",
Use => "use",
GlobalAsm => "global_asm",
ClosureExpr => "closure",
Closure => "closure",
Ctor => "ctor",
AnonConst => "constant",
ImplTrait => "implement_trait",
OpaqueTy => "opaque",
_ => assume_unreachable!(),
}),
};
Expand Down
2 changes: 1 addition & 1 deletion checker/tests/call_graph/fnptr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ commit;
],
"callables": [
{
"name": "/fnptr/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:7 ~ fnptr[cc2d]::fn1::'_), '_) }) Binder(fn(u32) -> u32, []))->u32",
"name": "/fnptr/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:7 ~ fnptr[26f3]::fn1::'_), '_) }) Binder(fn(u32) -> u32, []))->u32",
"file_index": 0,
"first_line": 9,
"local": true
Expand Down
2 changes: 1 addition & 1 deletion checker/tests/call_graph/fnptr_clean.rs
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ commit;
],
"callables": [
{
"name": "/fnptr_clean/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:8 ~ fnptr_clean[561d]::fn1::'_), '_) }) Binder(fn(u32) -> u32, []))->u32",
"name": "/fnptr_clean/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:8 ~ fnptr_clean[599c]::fn1::'_), '_) }) Binder(fn(u32) -> u32, []))->u32",
"file_index": 0,
"first_line": 14,
"local": true
Expand Down
2 changes: 1 addition & 1 deletion checker/tests/call_graph/fnptr_deduplicate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ commit;
],
"callables": [
{
"name": "/fnptr_deduplicate/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:7 ~ fnptr_deduplicate[adf7]::fn1::'_), '_) }) Binder(fn(u32) -> u32, []))->u32",
"name": "/fnptr_deduplicate/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:7 ~ fnptr_deduplicate[2d10]::fn1::'_), '_) }) Binder(fn(u32) -> u32, []))->u32",
"file_index": 0,
"first_line": 10,
"local": true
Expand Down
2 changes: 1 addition & 1 deletion checker/tests/call_graph/fnptr_dom.rs
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ commit;
],
"callables": [
{
"name": "/fnptr_dom/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:7 ~ fnptr_dom[aaca]::fn1::'_), '_) }) Binder(fn(u32) -> u32, []),&ReBound(DebruijnIndex(0), BoundRegion { var: 1, kind: BrNamed(DefId(0:8 ~ fnptr_dom[aaca]::fn1::'_#1), '_) }) Binder(fn(u32) -> u32, []))->u32",
"name": "/fnptr_dom/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:7 ~ fnptr_dom[7782]::fn1::'_), '_) }) Binder(fn(u32) -> u32, []),&ReBound(DebruijnIndex(0), BoundRegion { var: 1, kind: BrNamed(DefId(0:8 ~ fnptr_dom[7782]::fn1::'_#1), '_) }) Binder(fn(u32) -> u32, []))->u32",
"file_index": 0,
"first_line": 9,
"local": true
Expand Down
2 changes: 1 addition & 1 deletion checker/tests/call_graph/fnptr_dom_loop.rs
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ commit;
],
"callables": [
{
"name": "/fnptr_dom_loop/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:8 ~ fnptr_dom_loop[2dba]::fn1::'_), '_) }) Binder(fn(u32) -> u32, []),&ReBound(DebruijnIndex(0), BoundRegion { var: 1, kind: BrNamed(DefId(0:9 ~ fnptr_dom_loop[2dba]::fn1::'_#1), '_) }) Binder(fn(u32) -> u32, []))->u32",
"name": "/fnptr_dom_loop/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:8 ~ fnptr_dom_loop[cf26]::fn1::'_), '_) }) Binder(fn(u32) -> u32, []),&ReBound(DebruijnIndex(0), BoundRegion { var: 1, kind: BrNamed(DefId(0:9 ~ fnptr_dom_loop[cf26]::fn1::'_#1), '_) }) Binder(fn(u32) -> u32, []))->u32",
"file_index": 0,
"first_line": 9,
"local": true
Expand Down
2 changes: 1 addition & 1 deletion checker/tests/call_graph/fnptr_dom_loop_souffle.rs
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ digraph {
],
"callables": [
{
"name": "/fnptr_dom_loop_souffle/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:8 ~ fnptr_dom_loop_souffle[f3f8]::fn1::'_), '_) }) Binder(fn(u32) -> u32, []),&ReBound(DebruijnIndex(0), BoundRegion { var: 1, kind: BrNamed(DefId(0:9 ~ fnptr_dom_loop_souffle[f3f8]::fn1::'_#1), '_) }) Binder(fn(u32) -> u32, []))->u32",
"name": "/fnptr_dom_loop_souffle/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:8 ~ fnptr_dom_loop_souffle[ce91]::fn1::'_), '_) }) Binder(fn(u32) -> u32, []),&ReBound(DebruijnIndex(0), BoundRegion { var: 1, kind: BrNamed(DefId(0:9 ~ fnptr_dom_loop_souffle[ce91]::fn1::'_#1), '_) }) Binder(fn(u32) -> u32, []))->u32",
"file_index": 0,
"first_line": 10,
"local": true
Expand Down
18 changes: 9 additions & 9 deletions checker/tests/call_graph/fnptr_fold.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,14 @@ commit;
/* EXPECTED:CALL_SITES{
"files": [
"tests/call_graph/fnptr_fold.rs",
"/rustc/49b3924bd4a34d3cf9c37b74120fba78d9712ab8/library/std/src/io/stdio.rs",
"/rustc/49b3924bd4a34d3cf9c37b74120fba78d9712ab8/library/core/src/fmt/mod.rs",
"/rustc/49b3924bd4a34d3cf9c37b74120fba78d9712ab8/library/core/src/slice/mod.rs",
"/rustc/49b3924bd4a34d3cf9c37b74120fba78d9712ab8/library/core/src/ptr/metadata.rs"
"/rustc/1fdfe1234795a289af1088aefa92ef80191cb611/library/std/src/io/stdio.rs",
"/rustc/1fdfe1234795a289af1088aefa92ef80191cb611/library/core/src/fmt/mod.rs",
"/rustc/1fdfe1234795a289af1088aefa92ef80191cb611/library/core/src/slice/mod.rs",
"/rustc/1fdfe1234795a289af1088aefa92ef80191cb611/library/core/src/ptr/metadata.rs"
],
"callables": [
{
"name": "/fnptr_fold/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:7 ~ fnptr_fold[6cb6]::fn1::'_), '_) }) Binder(fn(u32) -> u32, []))->u32",
"name": "/fnptr_fold/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:7 ~ fnptr_fold[8908]::fn1::'_), '_) }) Binder(fn(u32) -> u32, []))->u32",
"file_index": 0,
"first_line": 10,
"local": true
Expand All @@ -99,25 +99,25 @@ commit;
"local": true
},
{
"name": "/std/std::io::_print(std::fmt::Arguments<ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(1:12918 ~ std[895e]::io::stdio::_print::'_), '_) })>)->()",
"name": "/std/std::io::_print(std::fmt::Arguments<ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(1:12930 ~ std[c363]::io::stdio::_print::'_), '_) })>)->()",
"file_index": 1,
"first_line": 1096,
"local": false
},
{
"name": "/core/std::fmt::Arguments::<'a>::new_const(&ReEarlyParam(DefId(2:9648 ~ core[499d]::fmt::{impl#2}::'a), 0, 'a) [&ReStatic str])->std::fmt::Arguments<ReEarlyParam(DefId(2:9648 ~ core[499d]::fmt::{impl#2}::'a), 0, 'a)>",
"name": "/core/std::fmt::Arguments::<'a>::new_const(&ReEarlyParam(DefId(2:9827 ~ core[408d]::fmt::{impl#2}::'a), 0, 'a) [&ReStatic str])->std::fmt::Arguments<ReEarlyParam(DefId(2:9827 ~ core[408d]::fmt::{impl#2}::'a), 0, 'a)>",
"file_index": 2,
"first_line": 321,
"local": true
},
{
"name": "/core/core::slice::<impl [T]>::len(&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(2:58514 ~ core[499d]::slice::{impl#0}::len::'_), '_) }) [T/#0])->usize",
"name": "/core/core::slice::<impl [T]>::len(&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(2:59746 ~ core[408d]::slice::{impl#0}::len::'_), '_) }) [T/#0])->usize",
"file_index": 3,
"first_line": 142,
"local": true
},
{
"name": "/core/std::ptr::metadata(*const T/#0)->Alias(Projection, AliasTy { args: [T/#0], def_id: DefId(2:1750 ~ core[499d]::ptr::metadata::Pointee::Metadata) })",
"name": "/core/std::ptr::metadata(*const T/#0)->Alias(Projection, AliasTy { args: [T/#0], def_id: DefId(2:1750 ~ core[408d]::ptr::metadata::Pointee::Metadata) })",
"file_index": 4,
"first_line": 94,
"local": true
Expand Down
2 changes: 1 addition & 1 deletion checker/tests/call_graph/fnptr_loop.rs
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ commit;
"local": true
},
{
"name": "/fnptr_loop/fn2(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:7 ~ fnptr_loop[11d0]::fn2::'_), '_) }) Binder(fn(u32) -> u32, []))->u32",
"name": "/fnptr_loop/fn2(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:7 ~ fnptr_loop[4126]::fn2::'_), '_) }) Binder(fn(u32) -> u32, []))->u32",
"file_index": 0,
"first_line": 12,
"local": true
Expand Down
2 changes: 1 addition & 1 deletion checker/tests/call_graph/fnptr_slice.rs
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ commit;
],
"callables": [
{
"name": "/fnptr_slice/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:7 ~ fnptr_slice[5571]::fn1::'_), '_) }) Binder(fn(u32) -> u32, []))->u32",
"name": "/fnptr_slice/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:7 ~ fnptr_slice[df6f]::fn1::'_), '_) }) Binder(fn(u32) -> u32, []))->u32",
"file_index": 0,
"first_line": 10,
"local": true
Expand Down
2 changes: 1 addition & 1 deletion checker/tests/call_graph/generic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ commit;
"local": true
},
{
"name": "/generic/Gen::<T>::bar(&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:12 ~ generic[627e]::{impl#0}::bar::'_), '_) }) Gen<T/#0>,T/#0)->()",
"name": "/generic/Gen::<T>::bar(&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:12 ~ generic[60ea]::{impl#0}::bar::'_), '_) }) Gen<T/#0>,T/#0)->()",
"file_index": 0,
"first_line": 14,
"local": true
Expand Down
6 changes: 3 additions & 3 deletions checker/tests/call_graph/static_deduplicate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -66,19 +66,19 @@ commit;
],
"callables": [
{
"name": "/static_deduplicate/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:7 ~ static_deduplicate[34e1]::fn1::'_), '_) }) str)->(u32, &ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:7 ~ static_deduplicate[34e1]::fn1::'_), '_) }) str)",
"name": "/static_deduplicate/fn1(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:7 ~ static_deduplicate[c483]::fn1::'_), '_) }) str)->(u32, &ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:7 ~ static_deduplicate[c483]::fn1::'_), '_) }) str)",
"file_index": 0,
"first_line": 10,
"local": true
},
{
"name": "/static_deduplicate/fn2(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:8 ~ static_deduplicate[34e1]::fn2::'_), '_) }) str)->(u32, &ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:8 ~ static_deduplicate[34e1]::fn2::'_), '_) }) str)",
"name": "/static_deduplicate/fn2(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:8 ~ static_deduplicate[c483]::fn2::'_), '_) }) str)->(u32, &ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:8 ~ static_deduplicate[c483]::fn2::'_), '_) }) str)",
"file_index": 0,
"first_line": 13,
"local": true
},
{
"name": "/static_deduplicate/fn3(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:9 ~ static_deduplicate[34e1]::fn3::'_), '_) }) str)->(u32, &ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:9 ~ static_deduplicate[34e1]::fn3::'_), '_) }) str)",
"name": "/static_deduplicate/fn3(u32,&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:9 ~ static_deduplicate[c483]::fn3::'_), '_) }) str)->(u32, &ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:9 ~ static_deduplicate[c483]::fn3::'_), '_) }) str)",
"file_index": 0,
"first_line": 16,
"local": true
Expand Down
16 changes: 8 additions & 8 deletions checker/tests/call_graph/static_fold.rs
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,10 @@ commit;
/* EXPECTED:CALL_SITES{
"files": [
"tests/call_graph/static_fold.rs",
"/rustc/49b3924bd4a34d3cf9c37b74120fba78d9712ab8/library/std/src/io/stdio.rs",
"/rustc/49b3924bd4a34d3cf9c37b74120fba78d9712ab8/library/core/src/fmt/mod.rs",
"/rustc/49b3924bd4a34d3cf9c37b74120fba78d9712ab8/library/core/src/slice/mod.rs",
"/rustc/49b3924bd4a34d3cf9c37b74120fba78d9712ab8/library/core/src/ptr/metadata.rs"
"/rustc/1fdfe1234795a289af1088aefa92ef80191cb611/library/std/src/io/stdio.rs",
"/rustc/1fdfe1234795a289af1088aefa92ef80191cb611/library/core/src/fmt/mod.rs",
"/rustc/1fdfe1234795a289af1088aefa92ef80191cb611/library/core/src/slice/mod.rs",
"/rustc/1fdfe1234795a289af1088aefa92ef80191cb611/library/core/src/ptr/metadata.rs"
],
"callables": [
{
Expand Down Expand Up @@ -95,25 +95,25 @@ commit;
"local": true
},
{
"name": "/std/std::io::_print(std::fmt::Arguments<ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(1:12918 ~ std[895e]::io::stdio::_print::'_), '_) })>)->()",
"name": "/std/std::io::_print(std::fmt::Arguments<ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(1:12930 ~ std[c363]::io::stdio::_print::'_), '_) })>)->()",
"file_index": 1,
"first_line": 1096,
"local": false
},
{
"name": "/core/std::fmt::Arguments::<'a>::new_const(&ReEarlyParam(DefId(2:9648 ~ core[499d]::fmt::{impl#2}::'a), 0, 'a) [&ReStatic str])->std::fmt::Arguments<ReEarlyParam(DefId(2:9648 ~ core[499d]::fmt::{impl#2}::'a), 0, 'a)>",
"name": "/core/std::fmt::Arguments::<'a>::new_const(&ReEarlyParam(DefId(2:9827 ~ core[408d]::fmt::{impl#2}::'a), 0, 'a) [&ReStatic str])->std::fmt::Arguments<ReEarlyParam(DefId(2:9827 ~ core[408d]::fmt::{impl#2}::'a), 0, 'a)>",
"file_index": 2,
"first_line": 321,
"local": false
},
{
"name": "/core/core::slice::<impl [T]>::len(&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(2:58514 ~ core[499d]::slice::{impl#0}::len::'_), '_) }) [T/#0])->usize",
"name": "/core/core::slice::<impl [T]>::len(&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(2:59746 ~ core[408d]::slice::{impl#0}::len::'_), '_) }) [T/#0])->usize",
"file_index": 3,
"first_line": 142,
"local": true
},
{
"name": "/core/std::ptr::metadata(*const T/#0)->Alias(Projection, AliasTy { args: [T/#0], def_id: DefId(2:1750 ~ core[499d]::ptr::metadata::Pointee::Metadata) })",
"name": "/core/std::ptr::metadata(*const T/#0)->Alias(Projection, AliasTy { args: [T/#0], def_id: DefId(2:1750 ~ core[408d]::ptr::metadata::Pointee::Metadata) })",
"file_index": 4,
"first_line": 94,
"local": true
Expand Down
2 changes: 1 addition & 1 deletion checker/tests/call_graph/trait.rs
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ commit;
"local": true
},
{
"name": "/trait/<Bar as Tr>::bar(&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:13 ~ trait[e2b9]::{impl#0}::bar::'_), '_) }) Bar)->i32",
"name": "/trait/<Bar as Tr>::bar(&ReBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed(DefId(0:13 ~ trait[6f4c]::{impl#0}::bar::'_), '_) }) Bar)->i32",
"file_index": 0,
"first_line": 14,
"local": true
Expand Down
1 change: 1 addition & 0 deletions checker/tests/run-pass/alloc_zeroed.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

// A test that checks that dereferenced uninitialized pointers into zeroed heap blocks known to be zero.

#![allow(internal_features)]
#![feature(core_intrinsics)]
use mirai_annotations::*;

Expand Down
1 change: 1 addition & 0 deletions checker/tests/run-pass/copy_from_slice.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
// This source code is licensed under the MIT license found in the
// LICENSE file in the root directory of this source tree.

#![allow(internal_features)]
#![feature(core_intrinsics)]
use mirai_annotations::*;

Expand Down
1 change: 1 addition & 0 deletions checker/tests/run-pass/deallocate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
// A test that checks that deallocations are valid and that further uses of deallocated
// pointers will lead to verification errors.

#![allow(internal_features)]
#![feature(core_intrinsics)]
use mirai_annotations::*;

Expand Down
1 change: 1 addition & 0 deletions checker/tests/run-pass/discriminant.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

// A test that checks that std::intrinsics::discriminant_value is properly implemented.

#![allow(internal_features)]
#![feature(core_intrinsics)]

use mirai_annotations::*;
Expand Down
1 change: 1 addition & 0 deletions checker/tests/run-pass/maybe_unreachable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

// A test that calls std::intrinsics::unreachable conditionally.

#![allow(internal_features)]
#![feature(core_intrinsics)]
#![allow(unused)]

Expand Down
1 change: 1 addition & 0 deletions checker/tests/run-pass/offset.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
//

// A test that creates and checks pointer offsets
#![allow(internal_features)]
#![feature(core_intrinsics)]

use mirai_annotations::*;
Expand Down
7 changes: 2 additions & 5 deletions checker/tests/run-pass/read_to_end.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,9 @@ use std::io::{Cursor, Read, Result};
pub fn t1(buf: &[u8]) -> Result<()> {
let mut reader = Cursor::new(buf);
let mut v = Vec::with_capacity(1);
reader.read_to_end(&mut v)?;
// todo: fix this
reader.read_to_end(&mut v)?; //~ slice index starts at after slice end
//~ related location
//~ related location
// todo: fix this
//verify!(v.len() == 0); // ~ possible false verification condition
//verify!(v.len() == 0); // ~ possible false verification condition
Ok(())
}

Expand Down
1 change: 1 addition & 0 deletions checker/tests/run-pass/slice_copy.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

// A test that invokes std::intrinsics::copy_nonoverlapping;

#![allow(internal_features)]
#![feature(core_intrinsics)]
use mirai_annotations::*;

Expand Down
1 change: 1 addition & 0 deletions checker/tests/run-pass/transmute.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

// A test that uses std::mem::transmute

#![allow(internal_features)]
#![feature(core_intrinsics)]

use mirai_annotations::*;
Expand Down
1 change: 1 addition & 0 deletions checker/tests/run-pass/unreachable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

// A test that calls std::intrinsics::unreachable unconditionally.

#![allow(internal_features)]
#![feature(core_intrinsics)]
#![allow(unused)]

Expand Down
2 changes: 1 addition & 1 deletion rust-toolchain.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[toolchain]
channel = "nightly-2023-11-28"
channel = "nightly-2023-12-07"
components = ["clippy", "rustfmt", "rustc-dev", "rust-src", "rust-std", "llvm-tools-preview"]
1 change: 1 addition & 0 deletions standard_contracts/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
// LICENSE file in the root directory of this source tree.
//

#![allow(internal_features)]
#![feature(allocator_api)]
#![feature(core_intrinsics)]
#![feature(discriminant_kind)]
Expand Down
Loading