@@ -164,7 +164,7 @@ struct BaseStrategyWithThreads : public Strategy {
164164 size_t tasks_in_thread = thread.size ();
165165 for (size_t i = 0 ; i < tasks_in_thread; ++i) {
166166 if (!IsTaskRemoved (thread[i]->GetId ())) {
167- thread[i] = thread[i]->Restart (&* state);
167+ thread[i] = thread[i]->Restart (state. get () );
168168 }
169169 }
170170 }
@@ -220,7 +220,7 @@ struct BaseStrategyWithThreads : public Strategy {
220220 }
221221 threads[thread_index].emplace_back (
222222 this ->constructors [verified_constructor].Build (
223- &* this ->state , thread_index, this ->new_task_id ++));
223+ this ->state . get () , thread_index, this ->new_task_id ++));
224224 TaskWithMetaData task{threads[thread_index].back (), true , thread_index};
225225 return task;
226226 }
@@ -264,7 +264,7 @@ struct BaseStrategyWithThreads : public Strategy {
264264 return b.GetName () == *releaseTask;
265265 });
266266 auto task =
267- constructor.Build (&* this ->state , thread_index, task_index);
267+ constructor.Build (this ->state . get () , thread_index, task_index);
268268 auto verified = this ->sched_checker .Verify (CreatedTaskMetaData{
269269 std::string (task->GetName ()), true , thread_index});
270270 assert (verified && " wrong release task at termination" );
@@ -615,7 +615,7 @@ struct TLAScheduler : Scheduler {
615615 if (frame.is_new ) {
616616 // It was a new task.
617617 // So restart it from the beginning with the same args.
618- *task = (*task)->Restart (&* state);
618+ *task = (*task)->Restart (state. get () );
619619 } else {
620620 // It was a not new task, hence, we recreated in early.
621621 }
@@ -732,7 +732,7 @@ struct TLAScheduler : Scheduler {
732732 for (size_t cons_num = 0 ; auto cons : constructors) {
733733 frame.is_new = true ;
734734 auto size_before = tasks.size ();
735- tasks.emplace_back (cons.Build (&* state, i, -1 /* TODO: fix task id for tla, because it is Scheduler and not Strategy class for some reason */ ));
735+ tasks.emplace_back (cons.Build (state. get () , i, -1 /* TODO: fix task id for tla, because it is Scheduler and not Strategy class for some reason */ ));
736736
737737 auto [is_over, res] = ResumeTask (frame, step, switches, thread, true );
738738 if (is_over || res.has_value ()) {
0 commit comments