mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-04 06:56:14 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			96 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
error[E0423]: expected value, found struct `UnitStruct`
 | 
						|
  --> $DIR/struct.rs:29:14
 | 
						|
   |
 | 
						|
LL |     let us = UnitStruct;
 | 
						|
   |              ^^^^^^^^^^ constructor is not visible here due to private fields
 | 
						|
 | 
						|
error[E0603]: tuple struct constructor `TupleStruct` is private
 | 
						|
  --> $DIR/struct.rs:23:32
 | 
						|
   |
 | 
						|
LL |     let ts_explicit = structs::TupleStruct(640, 480);
 | 
						|
   |                                ^^^^^^^^^^^ private tuple struct constructor
 | 
						|
   |
 | 
						|
note: the tuple struct constructor `TupleStruct` is defined here
 | 
						|
  --> $DIR/auxiliary/structs.rs:12:1
 | 
						|
   |
 | 
						|
LL | #[non_exhaustive]
 | 
						|
   | ----------------- cannot be constructed because it is `#[non_exhaustive]`
 | 
						|
LL | pub struct TupleStruct(pub u16, pub u16);
 | 
						|
   | ^^^^^^^^^^^^^^^^^^^^^^
 | 
						|
 | 
						|
error[E0603]: unit struct `UnitStruct` is private
 | 
						|
  --> $DIR/struct.rs:32:32
 | 
						|
   |
 | 
						|
LL |     let us_explicit = structs::UnitStruct;
 | 
						|
   |                                ^^^^^^^^^^ private unit struct
 | 
						|
   |
 | 
						|
note: the unit struct `UnitStruct` is defined here
 | 
						|
  --> $DIR/auxiliary/structs.rs:9:1
 | 
						|
   |
 | 
						|
LL | #[non_exhaustive]
 | 
						|
   | ----------------- cannot be constructed because it is `#[non_exhaustive]`
 | 
						|
LL | pub struct UnitStruct;
 | 
						|
   | ^^^^^^^^^^^^^^^^^^^^^
 | 
						|
 | 
						|
error[E0639]: cannot create non-exhaustive struct using struct expression
 | 
						|
  --> $DIR/struct.rs:7:14
 | 
						|
   |
 | 
						|
LL |       let fr = FunctionalRecord {
 | 
						|
   |  ______________^
 | 
						|
LL | |
 | 
						|
LL | |         first_field: 1920,
 | 
						|
LL | |         second_field: 1080,
 | 
						|
LL | |         ..FunctionalRecord::default()
 | 
						|
LL | |     };
 | 
						|
   | |_____^
 | 
						|
 | 
						|
error[E0639]: cannot create non-exhaustive struct using struct expression
 | 
						|
  --> $DIR/struct.rs:14:14
 | 
						|
   |
 | 
						|
LL |     let ns = NormalStruct { first_field: 640, second_field: 480 };
 | 
						|
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
						|
 | 
						|
error[E0638]: `..` required with struct marked as non-exhaustive
 | 
						|
  --> $DIR/struct.rs:17:9
 | 
						|
   |
 | 
						|
LL |     let NormalStruct { first_field, second_field } = ns;
 | 
						|
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
						|
   |
 | 
						|
help: add `..` at the end of the field list to ignore all other fields
 | 
						|
   |
 | 
						|
LL |     let NormalStruct { first_field, second_field , .. } = ns;
 | 
						|
   |                                                  ~~~~~~
 | 
						|
 | 
						|
error[E0423]: cannot initialize a tuple struct which contains private fields
 | 
						|
  --> $DIR/struct.rs:20:14
 | 
						|
   |
 | 
						|
LL |     let ts = TupleStruct(640, 480);
 | 
						|
   |              ^^^^^^^^^^^
 | 
						|
 | 
						|
error[E0638]: `..` required with struct marked as non-exhaustive
 | 
						|
  --> $DIR/struct.rs:26:9
 | 
						|
   |
 | 
						|
LL |     let TupleStruct { 0: first_field, 1: second_field } = ts;
 | 
						|
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
						|
   |
 | 
						|
help: add `..` at the end of the field list to ignore all other fields
 | 
						|
   |
 | 
						|
LL |     let TupleStruct { 0: first_field, 1: second_field , .. } = ts;
 | 
						|
   |                                                       ~~~~~~
 | 
						|
 | 
						|
error[E0638]: `..` required with struct marked as non-exhaustive
 | 
						|
  --> $DIR/struct.rs:35:9
 | 
						|
   |
 | 
						|
LL |     let UnitStruct { } = us;
 | 
						|
   |         ^^^^^^^^^^^^^^
 | 
						|
   |
 | 
						|
help: add `..` at the end of the field list to ignore all other fields
 | 
						|
   |
 | 
						|
LL |     let UnitStruct { .. } = us;
 | 
						|
   |                      ~~~~
 | 
						|
 | 
						|
error: aborting due to 9 previous errors
 | 
						|
 | 
						|
Some errors have detailed explanations: E0423, E0603, E0638, E0639.
 | 
						|
For more information about an error, try `rustc --explain E0423`.
 |