Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for isReflexive (0.1 sec)

  1. src/cmd/compile/internal/types/type.go

    var (
    	IsInt     [NTYPE]bool
    	IsFloat   [NTYPE]bool
    	IsComplex [NTYPE]bool
    	IsSimple  [NTYPE]bool
    )
    
    var IsOrdered [NTYPE]bool
    
    // IsReflexive reports whether t has a reflexive equality operator.
    // That is, if x==x for all x of type t.
    func IsReflexive(t *Type) bool {
    	switch t.Kind() {
    	case TBOOL,
    		TINT,
    		TUINT,
    		TINT8,
    		TUINT8,
    		TINT16,
    		TUINT16,
    		TINT32,
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 04 14:29:45 UTC 2024
    - 49.5K bytes
    - Viewed (0)
  2. src/reflect/type.go

    		return false
    	case Array:
    		tt := (*arrayType)(unsafe.Pointer(t))
    		return isReflexive(tt.Elem)
    	case Struct:
    		tt := (*structType)(unsafe.Pointer(t))
    		for _, f := range tt.Fields {
    			if !isReflexive(f.Typ) {
    				return false
    			}
    		}
    		return true
    	default:
    		// Func, Map, Slice, Invalid
    		panic("isReflexive called on non-key type " + stringFor(t))
    	}
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 85.5K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/walk/range.go

    	if delete := stmt.(*ir.CallExpr); !ir.SameSafeExpr(delete.Args[0], m) || !ir.SameSafeExpr(delete.Args[1], k) {
    		return false
    	}
    
    	// Keys where equality is not reflexive can not be deleted from maps.
    	if !types.IsReflexive(t.Key()) {
    		return false
    	}
    
    	return true
    }
    
    // mapRangeClear constructs a call to runtime.mapclear for the map range idiom.
    func mapRangeClear(nrange *ir.RangeStmt) ir.Node {
    	m := nrange.X
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Sep 20 14:52:33 UTC 2023
    - 17.6K bytes
    - Viewed (0)
Back to top