mirror of
				https://github.com/golang/go.git
				synced 2025-11-04 10:40:57 +00:00 
			
		
		
		
	
		
			
	
	
		
			25 lines
		
	
	
	
		
			584 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			25 lines
		
	
	
	
		
			584 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| 
								 | 
							
								// errorcheck
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Copyright 2025 The Go Authors. All rights reserved.
							 | 
						||
| 
								 | 
							
								// Use of this source code is governed by a BSD-style
							 | 
						||
| 
								 | 
							
								// license that can be found in the LICENSE file.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Test weak pointers.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								package p
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import (
							 | 
						||
| 
								 | 
							
									"runtime"
							 | 
						||
| 
								 | 
							
									"weak"
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Adapted from example in https://github.com/golang/go/issues/67552#issuecomment-2639661220
							 | 
						||
| 
								 | 
							
								func conversion() {
							 | 
						||
| 
								 | 
							
									p := "hello"
							 | 
						||
| 
								 | 
							
									a := weak.Make(&p)
							 | 
						||
| 
								 | 
							
									b := (weak.Pointer[*byte])(a) // ERROR "cannot convert a \(variable of struct type weak\.Pointer\[string\]\) to type weak.Pointer\[\*byte\]"
							 | 
						||
| 
								 | 
							
									c := b.Value()
							 | 
						||
| 
								 | 
							
									println(**c)
							 | 
						||
| 
								 | 
							
									runtime.KeepAlive(p)
							 | 
						||
| 
								 | 
							
								}
							 |