mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-03 22:49:17 +00:00 
			
		
		
		
	...and remove the `const_arg_path` feature gate as a result. It was only a stopgap measure to fix the regression that the new lowering introduced (which should now be fixed by this PR).
		
			
				
	
	
		
			39 lines
		
	
	
		
			893 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			893 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
#![crate_type = "lib"]
 | 
						|
#![feature(transmutability)]
 | 
						|
#![allow(dead_code, incomplete_features, non_camel_case_types)]
 | 
						|
 | 
						|
mod assert {
 | 
						|
    use std::mem::TransmuteFrom;
 | 
						|
 | 
						|
    pub fn is_transmutable<
 | 
						|
        Src,
 | 
						|
        Dst,
 | 
						|
        const ASSUME_ALIGNMENT: bool,
 | 
						|
        const ASSUME_LIFETIMES: bool,
 | 
						|
        const ASSUME_VALIDITY: bool,
 | 
						|
        const ASSUME_VISIBILITY: bool,
 | 
						|
    >()
 | 
						|
    where
 | 
						|
        Dst: TransmuteFrom<
 | 
						|
                //~^ ERROR trait takes at most 2 generic arguments but 5 generic arguments were supplied
 | 
						|
                Src,
 | 
						|
                ASSUME_ALIGNMENT,
 | 
						|
                ASSUME_LIFETIMES,
 | 
						|
                ASSUME_VALIDITY,
 | 
						|
                ASSUME_VISIBILITY,
 | 
						|
            >,
 | 
						|
    {
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
fn via_const() {
 | 
						|
    #[repr(C)]
 | 
						|
    struct Src;
 | 
						|
    #[repr(C)]
 | 
						|
    struct Dst;
 | 
						|
 | 
						|
    const FALSE: bool = false;
 | 
						|
 | 
						|
    assert::is_transmutable::<Src, Dst, FALSE, FALSE, FALSE, FALSE>();
 | 
						|
}
 |