Skip to content

Commit b6c4a15

Browse files
authored
Cleanup links to issues that have been addressed (#4200)
Over time, some issues got fixed yet our comments still claimed there was work to be done. Remove or replace these comments by more up-to-date ones. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.
1 parent 4b542d5 commit b6c4a15

File tree

8 files changed

+7
-37
lines changed

8 files changed

+7
-37
lines changed

.github/workflows/extra_jobs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# Note that this also means that the workflow version run is the one currently in `main`,
1616
# not the one from the PR. This is only relevant if a PR is changing this workflow.
1717
#
18-
# See <https://github.com/actions/labeler/issues/121> for more details.
18+
# See https://github.com/actions/labeler?tab=readme-ov-file#recommended-permissions for more details.
1919

2020
name: Kani Extra
2121
on:

docs/src/rust-feature-support.md

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -153,18 +153,11 @@ The semantics around some advanced features (traits, types, etc.) from Rust are
153153
not formally defined which makes it harder to ensure that we can properly model
154154
all their use cases.
155155

156-
In particular, there are some outstanding issues to note here:
157-
* Sanity check `Variant` type in projections
158-
[#448](https://github.com/model-checking/kani/issues/448).
159-
* Unexpected fat pointer results in
160-
[#277](https://github.com/model-checking/kani/issues/277),
161-
[#327](https://github.com/model-checking/kani/issues/327) and
162-
[#676](https://github.com/model-checking/kani/issues/676).
163-
164-
We are particularly interested in bug reports concerning
165-
these features, so please [file a bug
166-
report](https://github.com/model-checking/kani/issues/new?assignees=&labels=bug&template=bug_report.md)
167-
if you're aware of one.
156+
We are aware of a lack of sanity checking the `Variant` type in projections
157+
[#448](https://github.com/model-checking/kani/issues/448).
158+
If you become aware of other issues concerning
159+
these features, please [file a bug
160+
report](https://github.com/model-checking/kani/issues/new?assignees=&labels=bug&template=bug_report.md).
168161

169162
### Panic strategies
170163

docs/src/rust-feature-support/intrinsics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ fabsf32 | Yes | |
156156
fabsf64 | Yes | |
157157
fadd_fast | Yes | |
158158
fdiv_fast | Partial | [#809](https://github.com/model-checking/kani/issues/809) |
159-
float_to_int_unchecked | Partial | [#3629](https://github.com/model-checking/kani/issues/3629) |
159+
float_to_int_unchecked | Yes | |
160160
floorf32 | Yes | |
161161
floorf64 | Yes | |
162162
fmaf32 | Partial | Results are overapproximated |

kani-compiler/src/codegen_cprover_gotoc/codegen/foreign_function.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ impl GotocCtx<'_> {
7070
} else if self.is_cffi_enabled() && instance.fn_abi().unwrap().conv == CallConvention::C {
7171
// When C-FFI feature is enabled, we just trust the rust declaration.
7272
// TODO: Add proper casting and clashing definitions check.
73-
// https://github.com/model-checking/kani/issues/1350
7473
// https://github.com/model-checking/kani/issues/2426
7574
self.ensure(mangled_fn_name, |gcx, _| {
7675
let typ = gcx.codegen_ffi_type(instance);

kani-compiler/src/codegen_cprover_gotoc/codegen/place.rs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -176,13 +176,6 @@ impl ProjectedPlace {
176176
"Unexpected type mismatch in projection:\n{goto_expr:?}\nExpr type\n{expr_ty:?}\nType from MIR\n{ty_from_mir:?}"
177177
);
178178
warn!("{}", msg);
179-
// TODO: there's an expr type mismatch with the rust 2022-11-20 toolchain
180-
// for simd:
181-
// https://github.com/model-checking/kani/issues/1926
182-
// Disabling it for this specific case.
183-
if !(expr_ty.is_integer() && ty_from_mir.is_struct_tag()) {
184-
debug_assert!(false, "{}", msg);
185-
}
186179
return Err(Box::new(UnimplementedData::new(
187180
"Projection mismatch",
188181
"https://github.com/model-checking/kani/issues/277",

kani-compiler/src/codegen_cprover_gotoc/codegen/statement.rs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -522,13 +522,6 @@ impl GotocCtx<'_> {
522522
// The only argument should be a self reference
523523
let args = vec![place_ref];
524524

525-
// We have a known issue where nested Arc and Mutex objects result in
526-
// drop_in_place call implementations that fail to typecheck. Skipping
527-
// drop entirely causes unsound verification results in common cases
528-
// like vector extend, so for now, add a sound special case workaround
529-
// for calls that fail the typecheck.
530-
// https://github.com/model-checking/kani/issues/426
531-
// Unblocks: https://github.com/model-checking/kani/issues/435
532525
func.call(args).as_stmt(loc)
533526
}
534527
}

kani-compiler/src/codegen_cprover_gotoc/codegen/typ.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -464,11 +464,6 @@ impl<'tcx> GotocCtx<'tcx> {
464464

465465
/// Gives the vtable name for a type.
466466
/// In some cases, we have &T, in other cases T, so normalize.
467-
///
468-
/// TODO: to handle trait upcasting, this will need to use a
469-
/// poly existential trait type as a part of the key as well.
470-
/// See compiler/rustc_middle/src/ty/vtable.rs
471-
/// <https://github.com/model-checking/kani/issues/358>
472467
pub fn vtable_name(&self, t: Ty<'tcx>) -> String {
473468
format!("{}::vtable", self.normalized_trait_name(t))
474469
}

library/kani_core/src/mem.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,6 @@ macro_rules! kani_mem {
6161
/// and 3,
6262
/// and the value stored must respect the validity invariants for type `T`.
6363
///
64-
/// TODO: Kani should automatically add those checks when a de-reference happens.
65-
/// <https://github.com/model-checking/kani/issues/2975>
66-
///
6764
/// This function will panic today if the pointer is not null, and it points to an unallocated or
6865
/// deallocated memory location. This is an existing Kani limitation.
6966
/// See <https://github.com/model-checking/kani/issues/2690> for more details.

0 commit comments

Comments
 (0)