@@ -12,7 +12,7 @@ pub(crate) struct Justfile<'src> {
1212 pub ( crate ) loaded : Vec < PathBuf > ,
1313 #[ serde( skip) ]
1414 pub ( crate ) module_path : String ,
15- pub ( crate ) modules : Table < ' src , Justfile < ' src > > ,
15+ pub ( crate ) modules : Table < ' src , Self > ,
1616 #[ serde( skip) ]
1717 pub ( crate ) name : Option < Name < ' src > > ,
1818 #[ serde( skip) ]
@@ -80,7 +80,7 @@ impl<'src> Justfile<'src> {
8080 config : & ' run Config ,
8181 dotenv : & ' run BTreeMap < String , String > ,
8282 root : & ' run Scope < ' src , ' run > ,
83- scopes : & mut BTreeMap < String , ( & ' run Justfile < ' src > , & ' run Scope < ' src , ' run > ) > ,
83+ scopes : & mut BTreeMap < String , ( & ' run Self , & ' run Scope < ' src , ' run > ) > ,
8484 search : & ' run Search ,
8585 ) -> RunResult < ' src > {
8686 let scope = Evaluator :: evaluate_assignments ( config, dotenv, self , root, search) ?;
@@ -265,15 +265,19 @@ impl<'src> Justfile<'src> {
265265 is_dependency : bool ,
266266 ran : & Ran ,
267267 recipe : & Recipe < ' src > ,
268- scopes : & BTreeMap < String , ( & Justfile < ' src > , & Scope < ' src , ' _ > ) > ,
268+ scopes : & BTreeMap < String , ( & Self , & Scope < ' src , ' _ > ) > ,
269269 search : & Search ,
270270 ) -> RunResult < ' src > {
271- let mutex = ran. mutex ( recipe, arguments) ;
271+ {
272+ let mutex = ran. mutex ( recipe, arguments) ;
272273
273- let mut guard = mutex. lock ( ) . unwrap ( ) ;
274+ let mut guard = mutex. lock ( ) . unwrap ( ) ;
274275
275- if * guard {
276- return Ok ( ( ) ) ;
276+ if * guard {
277+ return Ok ( ( ) ) ;
278+ }
279+
280+ * guard = true ;
277281 }
278282
279283 if !config. yes && !recipe. confirm ( ) ? {
@@ -332,8 +336,6 @@ impl<'src> Justfile<'src> {
332336 search,
333337 ) ?;
334338
335- * guard = true ;
336-
337339 Ok ( ( ) )
338340 }
339341
@@ -345,7 +347,7 @@ impl<'src> Justfile<'src> {
345347 evaluator : & mut Evaluator < ' src , ' run > ,
346348 ran : & Ran ,
347349 recipe : & Recipe < ' src > ,
348- scopes : & BTreeMap < String , ( & Justfile < ' src > , & Scope < ' src , ' run > ) > ,
350+ scopes : & BTreeMap < String , ( & Self , & Scope < ' src , ' run > ) > ,
349351 search : & Search ,
350352 ) -> RunResult < ' src > {
351353 if context. config . no_dependencies {
0 commit comments