Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
4caee3a
Adjust copy check in environment to better handle regions
vl0w Apr 26, 2022
ed7dffd
Maybe we need to handle TyKind::Ref differently?
vl0w Apr 26, 2022
03b3640
Support associated types in copy check
vl0w Apr 27, 2022
138d98e
Pass type with binder to type_is_copy to better account for regions
vl0w Apr 27, 2022
a408861
Normalize function signature in PureFunctionEncoder to account for as…
vl0w Apr 28, 2022
dbbed0d
Remove check for validity of pure function in process_encoding_queue
vl0w Apr 28, 2022
161b956
Erase all regions in copy check
vl0w Apr 28, 2022
eda1445
Do not perform normalization when there are no projections
vl0w Apr 28, 2022
41aad37
Partially undo removal of code in process_encoding_queue.
vl0w Apr 28, 2022
e2a5467
Rename normalize_to, return original value if normalized value contai…
vl0w Apr 28, 2022
43a5387
Pass ParamEnv to resolve_assoc_types, make it fallible
vl0w Apr 29, 2022
b604cd4
Small cleanups
vl0w Apr 29, 2022
5dc9705
Add custom iterator tests
vl0w Apr 20, 2022
f8f2859
Add flag to add experimental iterator support
vl0w Apr 21, 2022
0da3287
Move predicate normalization in constraint solver for better debugging
vl0w Apr 27, 2022
c1cbead
Do not copy preconditions of base spec to constrained spec
vl0w Apr 27, 2022
59bc78c
Use predicate_must_hold_modulo_regions when resolving ghost constrain…
vl0w Apr 29, 2022
0af45d7
Handle lifetimes in merge_generics
vl0w Apr 29, 2022
c527dc1
Support lifetimes in type models
vl0w May 2, 2022
c8081fb
Relax needs_infer check in Environment::resolve_method_call to ignore…
vl0w May 2, 2022
78c51fb
Merge branch 'master' into iterators-feature-flag
vl0w May 2, 2022
af55da2
Support lifetimes in type models
vl0w May 3, 2022
8c7a2ab
Add first tests
vl0w May 3, 2022
fa1c14a
Verification of Iter in while loop
vl0w May 4, 2022
5e396ff
Create custom Copy/Clone impls for type models (do not derive them)
vl0w May 4, 2022
3afba7c
Adjust flag docs for iterator killswitch
vl0w May 4, 2022
70e5b0f
Normalize substs in Environment::resolve_method_call to account for n…
vl0w May 6, 2022
ed1a7a5
Fix typo
vl0w May 8, 2022
d1d4953
Support associated types in quantifiers
vl0w May 9, 2022
7e7bde4
Remove dead comment in any_type_needs_infer
vl0w May 9, 2022
e3bbbd9
Remove dead code
vl0w May 11, 2022
8e05591
Merge branch 'master' into iterators-feature-flag
vl0w May 23, 2022
116bcd6
Merge branch 'master' into iterators-feature-flag
vl0w May 30, 2022
f16f646
fix for #1033 with test cases
Pointerbender Jun 7, 2022
96ee8b9
snapshot equality
Aurel300 Jul 12, 2022
414e081
remove special Fn*::call* treatment
Aurel300 Jul 18, 2022
2b6d632
test closures using type-dependent contracts
Aurel300 Jul 18, 2022
9142078
Merge remote-tracking branch 'upstream/master' into iterators-feature…
Aurel300 Jul 19, 2022
186e97e
fix
Aurel300 Jul 19, 2022
8ed4eb2
Merge remote-tracking branch 'upstream/master' into iterators-feature…
Aurel300 Jul 22, 2022
dbd4d2d
erase regions less eagerly for method calls
Aurel300 Jul 22, 2022
1eaa7d0
Merge remote-tracking branch 'upstream/master' into iterators-feature…
Aurel300 Jul 27, 2022
c74215b
fix
Aurel300 Jul 27, 2022
e9e5c78
Merge remote-tracking branch 'upstream/master' into iterators-feature…
Aurel300 Jul 29, 2022
fa449f9
another unsafe core proof workaround for trait resolution
Aurel300 Jul 29, 2022
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
Prev Previous commit
Next Next commit
Merge remote-tracking branch 'upstream/master' into iterators-feature…
…-flag
  • Loading branch information
Aurel300 committed Jul 27, 2022
commit 1eaa7d073ea2cd27fe6b8a90c19220cf932cc626
1 change: 1 addition & 0 deletions prusti-interface/src/environment/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ use prusti_rustc_interface::middle::ty::TypeSuperFoldable;
use std::path::PathBuf;
use prusti_rustc_interface::errors::{DiagnosticBuilder, EmissionGuarantee, MultiSpan};
use prusti_rustc_interface::span::{Span, symbol::Symbol};
use prusti_common::config;
use std::collections::HashSet;
use log::{debug, trace};
use std::rc::Rc;
Expand Down
2 changes: 1 addition & 1 deletion prusti-specs/src/specifications/preparser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -893,7 +893,7 @@ mod tests {
"forall (() , # [prusti :: spec_only] | x : i32 | -> bool { (((! (a) || (b))) : bool) })",
);
assert_eq!(
parse_prusti(quote! { exists(|x: i32| a === b) }).unwrap().to_string(),
parse_prusti("exists(|x: i32| a === b)".parse().unwrap()).unwrap().to_string(),
"exists (() , # [prusti :: spec_only] | x : i32 | -> bool { ((snapshot_equality (& a , & b)) : bool) })",
);
assert_eq!(
Expand Down
5 changes: 4 additions & 1 deletion prusti-viper/src/encoder/procedure_encoder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2961,7 +2961,7 @@ impl<'p, 'v: 'p, 'tcx: 'v> ProcedureEncoder<'p, 'v, 'tcx> {
destination: mir::Place<'tcx>,
target: Option<BasicBlockIndex>,
called_def_id: ProcedureDefId,
mut substs: ty::subst::SubstsRef<'tcx>,
substs: ty::subst::SubstsRef<'tcx>,
) -> SpannedEncodingResult<Vec<vir::Stmt>> {
let full_func_proc_name = &self
.encoder
Expand Down Expand Up @@ -3000,6 +3000,9 @@ impl<'p, 'v: 'p, 'tcx: 'v> ProcedureEncoder<'p, 'v, 'tcx> {
})
.collect();

// Spans for fake exprs that cannot be encoded in viper
let mut fake_expr_spans: FxHashMap<Local, Span> = FxHashMap::default();

// Arguments can be places or constants. For constants, we pretend they're places by
// creating a new local variable of the same type. For arguments that are not just local
// variables (i.e., for places that have projections), we do the same. We don't replace
Expand Down
You are viewing a condensed version of this merge commit. You can view the full changes here.