@@ -535,6 +535,82 @@ higher v0.0.1 ([CWD])
535
535
. run ( ) ;
536
536
}
537
537
538
+ #[ cargo_test]
539
+ fn resolve_unstable_config_on_stable ( ) {
540
+ Package :: new ( "only-newer" , "1.6.0" )
541
+ . rust_version ( "1.65.0" )
542
+ . file ( "src/lib.rs" , "fn other_stuff() {}" )
543
+ . publish ( ) ;
544
+ Package :: new ( "newer-and-older" , "1.5.0" )
545
+ . rust_version ( "1.55.0" )
546
+ . file ( "src/lib.rs" , "fn other_stuff() {}" )
547
+ . publish ( ) ;
548
+ Package :: new ( "newer-and-older" , "1.6.0" )
549
+ . rust_version ( "1.65.0" )
550
+ . file ( "src/lib.rs" , "fn other_stuff() {}" )
551
+ . publish ( ) ;
552
+
553
+ let p = project ( )
554
+ . file (
555
+ "Cargo.toml" ,
556
+ r#"
557
+ [package]
558
+ name = "foo"
559
+ version = "0.0.1"
560
+ edition = "2015"
561
+ authors = []
562
+ rust-version = "1.60.0"
563
+
564
+ [dependencies]
565
+ only-newer = "1.0.0"
566
+ newer-and-older = "1.0.0"
567
+ "# ,
568
+ )
569
+ . file ( "src/main.rs" , "fn main(){}" )
570
+ . build ( ) ;
571
+
572
+ p. cargo ( "generate-lockfile" )
573
+ . env (
574
+ "CARGO_RESOLVER_SOMETHING_LIKE_PRECEDENCE" ,
575
+ "something-like-rust-version" ,
576
+ )
577
+ . with_stderr (
578
+ "\
579
+ [UPDATING] `dummy-registry` index
580
+ [LOCKING] 3 packages to latest compatible versions
581
+ " ,
582
+ )
583
+ . run ( ) ;
584
+ p. cargo ( "tree" )
585
+ . with_stdout (
586
+ "\
587
+ foo v0.0.1 ([CWD])
588
+ ├── newer-and-older v1.6.0
589
+ └── only-newer v1.6.0
590
+ " ,
591
+ )
592
+ . run ( ) ;
593
+
594
+ p. cargo ( "generate-lockfile" )
595
+ . env ( "CARGO_RESOLVER_SOMETHING_LIKE_PRECEDENCE" , "non-existent" )
596
+ . with_stderr (
597
+ "\
598
+ [UPDATING] `dummy-registry` index
599
+ [LOCKING] 3 packages to latest compatible versions
600
+ " ,
601
+ )
602
+ . run ( ) ;
603
+ p. cargo ( "tree" )
604
+ . with_stdout (
605
+ "\
606
+ foo v0.0.1 ([CWD])
607
+ ├── newer-and-older v1.6.0
608
+ └── only-newer v1.6.0
609
+ " ,
610
+ )
611
+ . run ( ) ;
612
+ }
613
+
538
614
#[ cargo_test]
539
615
fn generate_lockfile_ignore_rust_version_is_unstable ( ) {
540
616
Package :: new ( "bar" , "1.5.0" )
0 commit comments