问:
Composer failing update without a clear reason
I have the following in my composer.json:

```<code>"require": {
    "php": ">=7.1",
    "laravel/framework": "^5.3",
    "tymon/jwt-auth": "1.0.*@dev",
    "laravelangular/generators": "^3.0",
    "irazasyed/jwt-auth-guard": "^1.0",
    "barryvdh/laravel-cors": "^0.8.2",
    "jenssegers/mongodb": "^3.6",
    "ext-mongodb": "^1.4.0",
    "ext-fileinfo": "*",
    "spatie/laravel-fractal": "^3.4",
    "intervention/imagecache": "^2.3",
    "predis/predis": "^1.1",
    "wildside/userstamps": "^0.5.1",
    "stripe/stripe-php": "^7.19.1",
    "guzzlehttp/guzzle": "~6.0",
    "davidepastore/codice-fiscale": "^0.5.1",
    "league/csv": "^9.0",
    "thibaud-dauce/laravel-notifications-mattermost": "^1.0",
    "nztim/mailchimp": "^3.10"
}
</code>```

When running composer update it says Your requirements could not be resolved to an installable set of packages

Howerver the output does not help me in finding what's the issue:

```  Problem 1
    - Conclusion: don't install laravel/framework v5.8.38
    - Conclusion: don't install laravel/framework v5.8.37
    - Conclusion: don't install laravel/framework v5.8.36
    - Conclusion: don't install laravel/framework v5.8.35
    - Conclusion: don't install laravel/framework v5.8.34
    - Conclusion: don't install laravel/framework v5.8.33
    - Conclusion: don't install laravel/framework v5.8.32
    - Conclusion: don't install laravel/framework v5.8.31
    - Conclusion: don't install laravel/framework v5.8.30
    - Conclusion: don't install laravel/framework v5.8.29
    - Conclusion: don't install laravel/framework v5.8.28
    - Conclusion: don't install laravel/framework v5.8.27
    - Conclusion: don't install laravel/framework v5.8.26
    - Conclusion: don't install laravel/framework v5.8.25
    - Conclusion: don't install laravel/framework v5.8.24
    - Conclusion: don't install laravel/framework v5.8.23
    - Conclusion: don't install laravel/framework v5.8.22
    - Conclusion: don't install laravel/framework v5.8.21
    - Conclusion: don't install laravel/framework v5.8.20
    - Conclusion: don't install laravel/framework v5.8.19
    - Conclusion: don't install laravel/framework v5.8.18
    - Conclusion: don't install laravel/framework v5.8.17
    - Conclusion: don't install laravel/framework v5.8.16
    - Conclusion: don't install laravel/framework v5.8.15
    - Conclusion: don't install laravel/framework v5.8.14
    - Conclusion: don't install laravel/framework v5.8.13
    - Conclusion: don't install laravel/framework v5.8.12
    - Conclusion: don't install laravel/framework v5.8.11
    - Conclusion: don't install laravel/framework v5.8.10
    - Conclusion: don't install laravel/framework v5.8.9
    - Conclusion: don't install laravel/framework v5.8.8
    - Conclusion: don't install laravel/framework v5.8.7
    - Conclusion: don't install laravel/framework v5.8.6
    - Conclusion: don't install laravel/framework v5.8.5
    - Conclusion: don't install laravel/framework v5.8.4
    - Conclusion: don't install laravel/framework v5.8.3
    - Conclusion: don't install laravel/framework v5.8.2
    - Conclusion: don't install laravel/framework v5.8.1
    - Conclusion: don't install laravel/framework v5.8.0
    - Conclusion: don't install laravel/framework v5.7.29
    - Conclusion: don't install laravel/framework v5.7.28
    - Conclusion: don't install laravel/framework v5.7.27
    - Conclusion: don't install laravel/framework v5.7.26
    - Conclusion: don't install laravel/framework v5.7.25
    - Conclusion: don't install laravel/framework v5.7.24
    - Conclusion: don't install laravel/framework v5.7.23
    - Conclusion: don't install laravel/framework v5.7.22
    - Conclusion: don't install laravel/framework v5.7.21
    - Conclusion: don't install laravel/framework v5.7.20
    - Conclusion: don't install laravel/framework v5.7.19
    - Conclusion: don't install laravel/framework v5.7.18
    - Conclusion: don't install laravel/framework v5.7.17
    - Conclusion: don't install laravel/framework v5.7.16
    - Conclusion: don't install laravel/framework v5.7.15
    - Conclusion: don't install laravel/framework v5.7.14
    - Conclusion: don't install laravel/framework v5.7.13
    - Conclusion: don't install laravel/framework v5.7.12
    - Conclusion: don't install laravel/framework v5.7.11
    - Conclusion: don't install laravel/framework v5.7.10
    - Conclusion: don't install laravel/framework v5.7.9
    - Conclusion: don't install laravel/framework v5.7.8
    - Conclusion: don't install laravel/framework v5.7.7
    - Conclusion: don't install laravel/framework v5.7.6
    - Conclusion: don't install laravel/framework v5.7.5
    - Conclusion: don't install laravel/framework v5.7.4
    - Conclusion: don't install laravel/framework v5.7.3
    - Conclusion: don't install laravel/framework v5.7.2
    - Conclusion: don't install laravel/framework v5.7.1
    - Conclusion: don't install laravel/framework v5.7.0
    - Conclusion: don't install laravel/framework v5.6.40
    - Conclusion: don't install laravel/framework v5.6.39
    - Conclusion: don't install laravel/framework v5.6.38
    - Conclusion: don't install laravel/framework v5.6.37
    - Conclusion: don't install laravel/framework v5.6.36
    - Conclusion: don't install laravel/framework v5.6.35
    - Conclusion: don't install laravel/framework v5.6.34
    - Conclusion: don't install laravel/framework v5.6.33
    - Conclusion: don't install laravel/framework v5.6.32
    - Conclusion: don't install laravel/framework v5.6.31
    - Conclusion: don't install laravel/framework v5.6.30
    - Conclusion: don't install laravel/framework v5.6.29
    - Conclusion: don't install laravel/framework v5.6.28
    - Conclusion: don't install laravel/framework v5.6.27
    - Conclusion: don't install laravel/framework v5.6.26
    - Conclusion: don't install laravel/framework v5.6.25
    - Conclusion: don't install laravel/framework v5.6.24
    - Conclusion: don't install laravel/framework v5.6.23
    - Conclusion: don't install laravel/framework v5.6.22
    - Conclusion: don't install laravel/framework v5.6.21
    - Conclusion: don't install laravel/framework v5.6.20
    - Conclusion: don't install laravel/framework v5.6.19
    - Conclusion: don't install laravel/framework v5.6.18
    - Conclusion: don't install laravel/framework v5.6.17
    - Conclusion: don't install laravel/framework v5.6.16
    - Conclusion: don't install laravel/framework v5.6.15
    - Conclusion: don't install laravel/framework v5.6.14
    - Conclusion: don't install laravel/framework v5.6.13
    - Conclusion: don't install laravel/framework v5.6.12
    - Conclusion: don't install laravel/framework v5.6.11
    - Conclusion: don't install laravel/framework v5.6.10
    - Conclusion: don't install laravel/framework v5.6.9
    - Conclusion: don't install laravel/framework v5.6.8
    - Conclusion: don't install laravel/framework v5.6.7
    - Conclusion: don't install laravel/framework v5.6.6
    - Conclusion: don't install laravel/framework v5.6.5
    - Conclusion: don't install laravel/framework v5.6.4
    - Conclusion: don't install laravel/framework v5.6.3
    - Conclusion: don't install laravel/framework v5.6.2
    - Conclusion: don't install laravel/framework v5.6.1
    - Conclusion: don't install laravel/framework v5.6.0
    - Conclusion: don't install laravel/framework v5.5.49
    - Conclusion: don't install laravel/framework v5.5.48
    - Conclusion: don't install laravel/framework v5.5.47
    - Conclusion: don't install laravel/framework v5.5.46
    - Conclusion: don't install laravel/framework v5.5.45
    - Conclusion: don't install laravel/framework v5.5.44
    - Conclusion: don't install laravel/framework v5.5.43
    - Conclusion: don't install laravel/framework v5.5.42
    - Conclusion: don't install laravel/framework v5.5.41
    - Conclusion: don't install laravel/framework v5.5.40
    - Conclusion: don't install laravel/framework v5.5.39
    - Conclusion: don't install laravel/framework v5.5.38
    - Conclusion: don't install laravel/framework v5.5.37
    - Conclusion: don't install laravel/framework v5.5.36
    - Conclusion: don't install laravel/framework v5.5.35
    - Conclusion: don't install laravel/framework v5.5.34
    - Conclusion: don't install laravel/framework v5.5.33
    - Conclusion: don't install laravel/framework v5.5.32
    - Conclusion: don't install laravel/framework v5.5.31
    - Conclusion: don't install laravel/framework v5.5.30
    - Conclusion: don't install laravel/framework v5.5.29
    - Conclusion: don't install laravel/framework v5.5.28
    - Conclusion: don't install laravel/framework v5.5.27
    - Conclusion: don't install laravel/framework v5.5.26
    - Conclusion: don't install laravel/framework v5.5.25
    - Conclusion: don't install laravel/framework v5.5.24
    - Conclusion: don't install laravel/framework v5.5.23
    - Conclusion: don't install laravel/framework v5.5.22
    - Conclusion: don't install laravel/framework v5.5.21
    - Conclusion: don't install laravel/framework v5.5.20
    - Conclusion: don't install laravel/framework v5.5.19
    - Conclusion: don't install laravel/framework v5.5.18
    - Conclusion: don't install laravel/framework v5.5.17
    - Conclusion: don't install laravel/framework v5.5.16
    - Conclusion: don't install laravel/framework v5.5.15
    - Conclusion: don't install laravel/framework v5.5.14
    - Conclusion: don't install laravel/framework v5.5.13
    - Conclusion: don't install laravel/framework v5.5.12
    - Conclusion: don't install laravel/framework v5.5.11
    - Conclusion: don't install laravel/framework v5.5.10
    - Conclusion: don't install laravel/framework v5.5.9
    - Conclusion: don't install laravel/framework v5.5.8
    - Conclusion: don't install laravel/framework v5.5.7
    - Conclusion: don't install laravel/framework v5.5.6
    - Conclusion: don't install laravel/framework v5.5.5
    - Conclusion: don't install laravel/framework v5.5.4
    - Conclusion: don't install laravel/framework v5.5.3
    - Conclusion: don't install laravel/framework v5.5.2
    - Conclusion: don't install laravel/framework v5.5.1
    - Conclusion: don't install laravel/framework v5.5.0
    - Conclusion: don't install laravel/framework v5.4.36
    - Conclusion: don't install laravel/framework v5.4.35
    - Conclusion: don't install laravel/framework v5.4.34
    - Conclusion: don't install laravel/framework v5.4.33
    - Conclusion: don't install laravel/framework v5.4.32
    - Conclusion: don't install laravel/framework v5.4.31
    - Conclusion: don't install laravel/framework v5.4.30
    - Conclusion: don't install laravel/framework v5.4.29
    - Conclusion: don't install laravel/framework v5.4.28
    - Conclusion: don't install laravel/framework v5.4.27
    - Conclusion: don't install laravel/framework v5.4.26
    - Conclusion: don't install laravel/framework v5.4.25
    - Conclusion: don't install laravel/framework v5.4.24
    - Conclusion: don't install laravel/framework v5.4.23
    - Conclusion: don't install laravel/framework v5.4.22
    - Conclusion: don't install laravel/framework v5.4.21
    - Conclusion: don't install laravel/framework v5.4.20
    - Conclusion: don't install laravel/framework v5.4.19
    - Conclusion: don't install laravel/framework v5.4.18
    - Conclusion: don't install laravel/framework v5.4.17
    - Conclusion: don't install laravel/framework v5.4.16
    - Conclusion: don't install laravel/framework v5.4.15
    - Conclusion: don't install laravel/framework v5.4.14
    - Conclusion: don't install laravel/framework v5.4.13
    - Conclusion: don't install laravel/framework v5.4.12
    - Conclusion: don't install laravel/framework v5.4.11
    - Conclusion: don't install laravel/framework v5.4.10
    - Conclusion: don't install laravel/framework v5.4.9
    - Conclusion: don't install laravel/framework v5.4.8
    - Conclusion: don't install laravel/framework v5.4.7
    - Conclusion: don't install laravel/framework v5.4.6
    - Conclusion: don't install laravel/framework v5.4.5
    - Conclusion: don't install laravel/framework v5.4.4
    - Conclusion: don't install laravel/framework v5.4.3
    - Conclusion: don't install laravel/framework v5.4.2
    - Conclusion: don't install laravel/framework v5.4.1
    - Conclusion: don't install laravel/framework v5.4.0
    - Conclusion: remove laravel/framework v5.3.31
    - Conclusion: don't install laravel/framework v5.3.31
    - Conclusion: don't install laravel/framework v5.3.30
    - Conclusion: don't install laravel/framework v5.3.29
    - Conclusion: don't install laravel/framework v5.3.28
    - Conclusion: don't install laravel/framework v5.3.27
    - Conclusion: don't install laravel/framework v5.3.26
    - Conclusion: don't install laravel/framework v5.3.25
    - Conclusion: don't install laravel/framework v5.3.24
    - Conclusion: don't install laravel/framework v5.3.23
    - Conclusion: don't install laravel/framework v5.3.22
    - Conclusion: don't install laravel/framework v5.3.21
    - Conclusion: don't install laravel/framework v5.3.20
    - Conclusion: don't install laravel/framework v5.3.19
    - Conclusion: don't install laravel/framework v5.3.18
    - Conclusion: don't install laravel/framework v5.3.17
    - Conclusion: don't install laravel/framework v5.3.16
    - Conclusion: don't install laravel/framework v5.3.15
    - Conclusion: don't install laravel/framework v5.3.14
    - Conclusion: don't install laravel/framework v5.3.13
    - Conclusion: don't install laravel/framework v5.3.12
    - Conclusion: don't install laravel/framework v5.3.11
    - Conclusion: don't install laravel/framework v5.3.10
    - Conclusion: don't install laravel/framework v5.3.9
    - Conclusion: don't install laravel/framework v5.3.8
    - Conclusion: don't install laravel/framework v5.3.7
    - Conclusion: don't install laravel/framework v5.3.6
    - Conclusion: don't install laravel/framework v5.3.5
    - Conclusion: don't install laravel/framework v5.3.4
    - Conclusion: don't install laravel/framework v5.3.3
    - Conclusion: don't install laravel/framework v5.3.2
    - Installation request for laravelangular/generators ^3.0 -> satisfiable by laravelangular/generators[3.0.0].
    - Conclusion: don't install laravel/framework v5.3.1
    - jenssegers/mongodb v3.6.4 requires illuminate/events ^5.8|^6.0 -> satisfiable by laravel/framework[v5.8.0, v5.8.1, v5.8.10, v5.8.11, v5.8.12, v5.8.13, v5.8.14, v5.8.15, v5.8.16, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.21, v5.8.22, v5.8.23, v5.8.24, v5.8.25, v5.8.26, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.37, v5.8.38, v5.8.4, v5.8.5, v5.8.6, v5.8.7, v5.8.8, v5.8.9], illuminate/events[v5.8.0, v5.8.11, v5.8.12, v5.8.14, v5.8.15, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.22, v5.8.24, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.4, v5.8.8, v5.8.9, v6.0.0, v6.0.1, v6.0.2, v6.0.3, v6.0.4, v6.1.0, v6.10.0, v6.11.0, v6.12.0, v6.13.0, v6.13.1, v6.14.0, v6.15.0, v6.15.1, v6.16.0, v6.17.0, v6.17.1, v6.18.0, v6.18.1, v6.18.10, v6.18.11, v6.18.12, v6.18.13, v6.18.14, v6.18.15, v6.18.16, v6.18.2, v6.18.3, v6.18.4, v6.18.5, v6.18.6, v6.18.7, v6.18.8, v6.18.9, v6.2.0, v6.3.0, v6.4.1, v6.5.0, v6.5.1, v6.5.2, v6.6.0, v6.6.1, v6.6.2, v6.7.0, v6.8.0].
    - jenssegers/mongodb v3.6.3 requires illuminate/events ^5.8|^6.0 -> satisfiable by laravel/framework[v5.8.0, v5.8.1, v5.8.10, v5.8.11, v5.8.12, v5.8.13, v5.8.14, v5.8.15, v5.8.16, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.21, v5.8.22, v5.8.23, v5.8.24, v5.8.25, v5.8.26, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.37, v5.8.38, v5.8.4, v5.8.5, v5.8.6, v5.8.7, v5.8.8, v5.8.9], illuminate/events[v5.8.0, v5.8.11, v5.8.12, v5.8.14, v5.8.15, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.22, v5.8.24, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.4, v5.8.8, v5.8.9, v6.0.0, v6.0.1, v6.0.2, v6.0.3, v6.0.4, v6.1.0, v6.10.0, v6.11.0, v6.12.0, v6.13.0, v6.13.1, v6.14.0, v6.15.0, v6.15.1, v6.16.0, v6.17.0, v6.17.1, v6.18.0, v6.18.1, v6.18.10, v6.18.11, v6.18.12, v6.18.13, v6.18.14, v6.18.15, v6.18.16, v6.18.2, v6.18.3, v6.18.4, v6.18.5, v6.18.6, v6.18.7, v6.18.8, v6.18.9, v6.2.0, v6.3.0, v6.4.1, v6.5.0, v6.5.1, v6.5.2, v6.6.0, v6.6.1, v6.6.2, v6.7.0, v6.8.0].
    - jenssegers/mongodb v3.6.2 requires illuminate/events ^5.8|^6.0 -> satisfiable by laravel/framework[v5.8.0, v5.8.1, v5.8.10, v5.8.11, v5.8.12, v5.8.13, v5.8.14, v5.8.15, v5.8.16, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.21, v5.8.22, v5.8.23, v5.8.24, v5.8.25, v5.8.26, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.37, v5.8.38, v5.8.4, v5.8.5, v5.8.6, v5.8.7, v5.8.8, v5.8.9], illuminate/events[v5.8.0, v5.8.11, v5.8.12, v5.8.14, v5.8.15, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.22, v5.8.24, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.4, v5.8.8, v5.8.9, v6.0.0, v6.0.1, v6.0.2, v6.0.3, v6.0.4, v6.1.0, v6.10.0, v6.11.0, v6.12.0, v6.13.0, v6.13.1, v6.14.0, v6.15.0, v6.15.1, v6.16.0, v6.17.0, v6.17.1, v6.18.0, v6.18.1, v6.18.10, v6.18.11, v6.18.12, v6.18.13, v6.18.14, v6.18.15, v6.18.16, v6.18.2, v6.18.3, v6.18.4, v6.18.5, v6.18.6, v6.18.7, v6.18.8, v6.18.9, v6.2.0, v6.3.0, v6.4.1, v6.5.0, v6.5.1, v6.5.2, v6.6.0, v6.6.1, v6.6.2, v6.7.0, v6.8.0].
    - jenssegers/mongodb v3.6.1 requires illuminate/events ^5.8|^6.0 -> satisfiable by laravel/framework[v5.8.0, v5.8.1, v5.8.10, v5.8.11, v5.8.12, v5.8.13, v5.8.14, v5.8.15, v5.8.16, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.21, v5.8.22, v5.8.23, v5.8.24, v5.8.25, v5.8.26, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.37, v5.8.38, v5.8.4, v5.8.5, v5.8.6, v5.8.7, v5.8.8, v5.8.9], illuminate/events[v5.8.0, v5.8.11, v5.8.12, v5.8.14, v5.8.15, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.22, v5.8.24, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.4, v5.8.8, v5.8.9, v6.0.0, v6.0.1, v6.0.2, v6.0.3, v6.0.4, v6.1.0, v6.10.0, v6.11.0, v6.12.0, v6.13.0, v6.13.1, v6.14.0, v6.15.0, v6.15.1, v6.16.0, v6.17.0, v6.17.1, v6.18.0, v6.18.1, v6.18.10, v6.18.11, v6.18.12, v6.18.13, v6.18.14, v6.18.15, v6.18.16, v6.18.2, v6.18.3, v6.18.4, v6.18.5, v6.18.6, v6.18.7, v6.18.8, v6.18.9, v6.2.0, v6.3.0, v6.4.1, v6.5.0, v6.5.1, v6.5.2, v6.6.0, v6.6.1, v6.6.2, v6.7.0, v6.8.0].
    - jenssegers/mongodb v3.6.0 requires illuminate/events ^5.8|^6.0 -> satisfiable by laravel/framework[v5.8.0, v5.8.1, v5.8.10, v5.8.11, v5.8.12, v5.8.13, v5.8.14, v5.8.15, v5.8.16, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.21, v5.8.22, v5.8.23, v5.8.24, v5.8.25, v5.8.26, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.37, v5.8.38, v5.8.4, v5.8.5, v5.8.6, v5.8.7, v5.8.8, v5.8.9], illuminate/events[v5.8.0, v5.8.11, v5.8.12, v5.8.14, v5.8.15, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.22, v5.8.24, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.4, v5.8.8, v5.8.9, v6.0.0, v6.0.1, v6.0.2, v6.0.3, v6.0.4, v6.1.0, v6.10.0, v6.11.0, v6.12.0, v6.13.0, v6.13.1, v6.14.0, v6.15.0, v6.15.1, v6.16.0, v6.17.0, v6.17.1, v6.18.0, v6.18.1, v6.18.10, v6.18.11, v6.18.12, v6.18.13, v6.18.14, v6.18.15, v6.18.16, v6.18.2, v6.18.3, v6.18.4, v6.18.5, v6.18.6, v6.18.7, v6.18.8, v6.18.9, v6.2.0, v6.3.0, v6.4.1, v6.5.0, v6.5.1, v6.5.2, v6.6.0, v6.6.1, v6.6.2, v6.7.0, v6.8.0].
    - don't install illuminate/events v5.8.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.11|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.12|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.14|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.15|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.17|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.18|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.19|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.2|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.20|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.22|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.24|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.27|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.28|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.29|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.3|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.30|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.31|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.32|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.33|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.34|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.35|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.36|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.4|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.8|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.9|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.0.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.0.1|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.0.2|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.0.3|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.0.4|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.1.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.10.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.11.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.12.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.13.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.13.1|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.14.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.15.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.15.1|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.16.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.17.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.17.1|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.1|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.10|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.11|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.12|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.13|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.14|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.15|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.16|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.2|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.3|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.4|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.5|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.6|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.7|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.8|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.9|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.2.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.3.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.4.1|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.5.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.5.1|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.5.2|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.6.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.6.1|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.6.2|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.7.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.8.0|don't install laravel/framework v5.3.0
    - Installation request for laravel/framework ^5.3 -> satisfiable by laravel/framework[v5.3.0, v5.3.1, v5.3.10, v5.3.11, v5.3.12, v5.3.13, v5.3.14, v5.3.15, v5.3.16, v5.3.17, v5.3.18, v5.3.19, v5.3.2, v5.3.20, v5.3.21, v5.3.22, v5.3.23, v5.3.24, v5.3.25, v5.3.26, v5.3.27, v5.3.28, v5.3.29, v5.3.3, v5.3.30, v5.3.31, v5.3.4, v5.3.5, v5.3.6, v5.3.7, v5.3.8, v5.3.9, v5.4.0, v5.4.1, v5.4.10, v5.4.11, v5.4.12, v5.4.13, v5.4.14, v5.4.15, v5.4.16, v5.4.17, v5.4.18, v5.4.19, v5.4.2, v5.4.20, v5.4.21, v5.4.22, v5.4.23, v5.4.24, v5.4.25, v5.4.26, v5.4.27, v5.4.28, v5.4.29, v5.4.3, v5.4.30, v5.4.31, v5.4.32, v5.4.33, v5.4.34, v5.4.35, v5.4.36, v5.4.4, v5.4.5, v5.4.6, v5.4.7, v5.4.8, v5.4.9, v5.5.0, v5.5.1, v5.5.10, v5.5.11, v5.5.12, v5.5.13, v5.5.14, v5.5.15, v5.5.16, v5.5.17, v5.5.18, v5.5.19, v5.5.2, v5.5.20, v5.5.21, v5.5.22, v5.5.23, v5.5.24, v5.5.25, v5.5.26, v5.5.27, v5.5.28, v5.5.29, v5.5.3, v5.5.30, v5.5.31, v5.5.32, v5.5.33, v5.5.34, v5.5.35, v5.5.36, v5.5.37, v5.5.38, v5.5.39, v5.5.4, v5.5.40, v5.5.41, v5.5.42, v5.5.43, v5.5.44, v5.5.45, v5.5.46, v5.5.47, v5.5.48, v5.5.49, v5.5.5, v5.5.6, v5.5.7, v5.5.8, v5.5.9, v5.6.0, v5.6.1, v5.6.10, v5.6.11, v5.6.12, v5.6.13, v5.6.14, v5.6.15, v5.6.16, v5.6.17, v5.6.18, v5.6.19, v5.6.2, v5.6.20, v5.6.21, v5.6.22, v5.6.23, v5.6.24, v5.6.25, v5.6.26, v5.6.27, v5.6.28, v5.6.29, v5.6.3, v5.6.30, v5.6.31, v5.6.32, v5.6.33, v5.6.34, v5.6.35, v5.6.36, v5.6.37, v5.6.38, v5.6.39, v5.6.4, v5.6.40, v5.6.5, v5.6.6, v5.6.7, v5.6.8, v5.6.9, v5.7.0, v5.7.1, v5.7.10, v5.7.11, v5.7.12, v5.7.13, v5.7.14, v5.7.15, v5.7.16, v5.7.17, v5.7.18, v5.7.19, v5.7.2, v5.7.20, v5.7.21, v5.7.22, v5.7.23, v5.7.24, v5.7.25, v5.7.26, v5.7.27, v5.7.28, v5.7.29, v5.7.3, v5.7.4, v5.7.5, v5.7.6, v5.7.7, v5.7.8, v5.7.9, v5.8.0, v5.8.1, v5.8.10, v5.8.11, v5.8.12, v5.8.13, v5.8.14, v5.8.15, v5.8.16, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.21, v5.8.22, v5.8.23, v5.8.24, v5.8.25, v5.8.26, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.37, v5.8.38, v5.8.4, v5.8.5, v5.8.6, v5.8.7, v5.8.8, v5.8.9].
    - Installation request for jenssegers/mongodb ^3.6 -> satisfiable by jenssegers/mongodb[v3.6.0, v3.6.1, v3.6.2, v3.6.3, v3.6.4].

```

It says "Conclusion: dont' install laravel/framework vXXX" but it provides zero information as to how it reached this conclusion.

The  only information it gives is stuff like:

Installation request for jenssegers/mongodb ^3.6 -> satisfiable by jenssegers/mongodb[v3.6.0, v3.6.1, v3.6.2, v3.6.3, v3.6.4].

AFAIK satisfiable means "I can install these versions" so everything seems ok. There is zero mention of an unsatisfiable dependency.

So what is going on? Why does composer update fail?

答:
That's a problem of mixing incompatibel packages: laravelangular/generators requires Laravel up to 5.6 (even in the latest version of that generators package), jenssegers/mongodb with the version constraint ^3.6 requires Laravel 5.8 or 6.

Installing jenssegers/mongodb with the constraint ^3.5 might solve this problem, as it is compatible with Lavavel 5.6

Body:
I have the following in my composer.json:

"require": {
    "php": ">=7.1",
    "laravel/framework": "^5.3",
    "tymon/jwt-auth": "1.0.*@dev",
    "laravelangular/generators": "^3.0",
    "irazasyed/jwt-auth-guard": "^1.0",
    "barryvdh/laravel-cors": "^0.8.2",
    "jenssegers/mongodb": "^3.6",
    "ext-mongodb": "^1.4.0",
    "ext-fileinfo": "*",
    "spatie/laravel-fractal": "^3.4",
    "intervention/imagecache": "^2.3",
    "predis/predis": "^1.1",
    "wildside/userstamps": "^0.5.1",
    "stripe/stripe-php": "^7.19.1",
    "guzzlehttp/guzzle": "~6.0",
    "davidepastore/codice-fiscale": "^0.5.1",
    "league/csv": "^9.0",
    "thibaud-dauce/laravel-notifications-mattermost": "^1.0",
    "nztim/mailchimp": "^3.10"
}

When running composer update it says Your requirements could not be resolved to an installable set of packages

Howerver the output does not help me in finding what's the issue:

  Problem 1
    - Conclusion: don't install laravel/framework v5.8.38
    - Conclusion: don't install laravel/framework v5.8.37
    - Conclusion: don't install laravel/framework v5.8.36
    - Conclusion: don't install laravel/framework v5.8.35
    - Conclusion: don't install laravel/framework v5.8.34
    - Conclusion: don't install laravel/framework v5.8.33
    - Conclusion: don't install laravel/framework v5.8.32
    - Conclusion: don't install laravel/framework v5.8.31
    - Conclusion: don't install laravel/framework v5.8.30
    - Conclusion: don't install laravel/framework v5.8.29
    - Conclusion: don't install laravel/framework v5.8.28
    - Conclusion: don't install laravel/framework v5.8.27
    - Conclusion: don't install laravel/framework v5.8.26
    - Conclusion: don't install laravel/framework v5.8.25
    - Conclusion: don't install laravel/framework v5.8.24
    - Conclusion: don't install laravel/framework v5.8.23
    - Conclusion: don't install laravel/framework v5.8.22
    - Conclusion: don't install laravel/framework v5.8.21
    - Conclusion: don't install laravel/framework v5.8.20
    - Conclusion: don't install laravel/framework v5.8.19
    - Conclusion: don't install laravel/framework v5.8.18
    - Conclusion: don't install laravel/framework v5.8.17
    - Conclusion: don't install laravel/framework v5.8.16
    - Conclusion: don't install laravel/framework v5.8.15
    - Conclusion: don't install laravel/framework v5.8.14
    - Conclusion: don't install laravel/framework v5.8.13
    - Conclusion: don't install laravel/framework v5.8.12
    - Conclusion: don't install laravel/framework v5.8.11
    - Conclusion: don't install laravel/framework v5.8.10
    - Conclusion: don't install laravel/framework v5.8.9
    - Conclusion: don't install laravel/framework v5.8.8
    - Conclusion: don't install laravel/framework v5.8.7
    - Conclusion: don't install laravel/framework v5.8.6
    - Conclusion: don't install laravel/framework v5.8.5
    - Conclusion: don't install laravel/framework v5.8.4
    - Conclusion: don't install laravel/framework v5.8.3
    - Conclusion: don't install laravel/framework v5.8.2
    - Conclusion: don't install laravel/framework v5.8.1
    - Conclusion: don't install laravel/framework v5.8.0
    - Conclusion: don't install laravel/framework v5.7.29
    - Conclusion: don't install laravel/framework v5.7.28
    - Conclusion: don't install laravel/framework v5.7.27
    - Conclusion: don't install laravel/framework v5.7.26
    - Conclusion: don't install laravel/framework v5.7.25
    - Conclusion: don't install laravel/framework v5.7.24
    - Conclusion: don't install laravel/framework v5.7.23
    - Conclusion: don't install laravel/framework v5.7.22
    - Conclusion: don't install laravel/framework v5.7.21
    - Conclusion: don't install laravel/framework v5.7.20
    - Conclusion: don't install laravel/framework v5.7.19
    - Conclusion: don't install laravel/framework v5.7.18
    - Conclusion: don't install laravel/framework v5.7.17
    - Conclusion: don't install laravel/framework v5.7.16
    - Conclusion: don't install laravel/framework v5.7.15
    - Conclusion: don't install laravel/framework v5.7.14
    - Conclusion: don't install laravel/framework v5.7.13
    - Conclusion: don't install laravel/framework v5.7.12
    - Conclusion: don't install laravel/framework v5.7.11
    - Conclusion: don't install laravel/framework v5.7.10
    - Conclusion: don't install laravel/framework v5.7.9
    - Conclusion: don't install laravel/framework v5.7.8
    - Conclusion: don't install laravel/framework v5.7.7
    - Conclusion: don't install laravel/framework v5.7.6
    - Conclusion: don't install laravel/framework v5.7.5
    - Conclusion: don't install laravel/framework v5.7.4
    - Conclusion: don't install laravel/framework v5.7.3
    - Conclusion: don't install laravel/framework v5.7.2
    - Conclusion: don't install laravel/framework v5.7.1
    - Conclusion: don't install laravel/framework v5.7.0
    - Conclusion: don't install laravel/framework v5.6.40
    - Conclusion: don't install laravel/framework v5.6.39
    - Conclusion: don't install laravel/framework v5.6.38
    - Conclusion: don't install laravel/framework v5.6.37
    - Conclusion: don't install laravel/framework v5.6.36
    - Conclusion: don't install laravel/framework v5.6.35
    - Conclusion: don't install laravel/framework v5.6.34
    - Conclusion: don't install laravel/framework v5.6.33
    - Conclusion: don't install laravel/framework v5.6.32
    - Conclusion: don't install laravel/framework v5.6.31
    - Conclusion: don't install laravel/framework v5.6.30
    - Conclusion: don't install laravel/framework v5.6.29
    - Conclusion: don't install laravel/framework v5.6.28
    - Conclusion: don't install laravel/framework v5.6.27
    - Conclusion: don't install laravel/framework v5.6.26
    - Conclusion: don't install laravel/framework v5.6.25
    - Conclusion: don't install laravel/framework v5.6.24
    - Conclusion: don't install laravel/framework v5.6.23
    - Conclusion: don't install laravel/framework v5.6.22
    - Conclusion: don't install laravel/framework v5.6.21
    - Conclusion: don't install laravel/framework v5.6.20
    - Conclusion: don't install laravel/framework v5.6.19
    - Conclusion: don't install laravel/framework v5.6.18
    - Conclusion: don't install laravel/framework v5.6.17
    - Conclusion: don't install laravel/framework v5.6.16
    - Conclusion: don't install laravel/framework v5.6.15
    - Conclusion: don't install laravel/framework v5.6.14
    - Conclusion: don't install laravel/framework v5.6.13
    - Conclusion: don't install laravel/framework v5.6.12
    - Conclusion: don't install laravel/framework v5.6.11
    - Conclusion: don't install laravel/framework v5.6.10
    - Conclusion: don't install laravel/framework v5.6.9
    - Conclusion: don't install laravel/framework v5.6.8
    - Conclusion: don't install laravel/framework v5.6.7
    - Conclusion: don't install laravel/framework v5.6.6
    - Conclusion: don't install laravel/framework v5.6.5
    - Conclusion: don't install laravel/framework v5.6.4
    - Conclusion: don't install laravel/framework v5.6.3
    - Conclusion: don't install laravel/framework v5.6.2
    - Conclusion: don't install laravel/framework v5.6.1
    - Conclusion: don't install laravel/framework v5.6.0
    - Conclusion: don't install laravel/framework v5.5.49
    - Conclusion: don't install laravel/framework v5.5.48
    - Conclusion: don't install laravel/framework v5.5.47
    - Conclusion: don't install laravel/framework v5.5.46
    - Conclusion: don't install laravel/framework v5.5.45
    - Conclusion: don't install laravel/framework v5.5.44
    - Conclusion: don't install laravel/framework v5.5.43
    - Conclusion: don't install laravel/framework v5.5.42
    - Conclusion: don't install laravel/framework v5.5.41
    - Conclusion: don't install laravel/framework v5.5.40
    - Conclusion: don't install laravel/framework v5.5.39
    - Conclusion: don't install laravel/framework v5.5.38
    - Conclusion: don't install laravel/framework v5.5.37
    - Conclusion: don't install laravel/framework v5.5.36
    - Conclusion: don't install laravel/framework v5.5.35
    - Conclusion: don't install laravel/framework v5.5.34
    - Conclusion: don't install laravel/framework v5.5.33
    - Conclusion: don't install laravel/framework v5.5.32
    - Conclusion: don't install laravel/framework v5.5.31
    - Conclusion: don't install laravel/framework v5.5.30
    - Conclusion: don't install laravel/framework v5.5.29
    - Conclusion: don't install laravel/framework v5.5.28
    - Conclusion: don't install laravel/framework v5.5.27
    - Conclusion: don't install laravel/framework v5.5.26
    - Conclusion: don't install laravel/framework v5.5.25
    - Conclusion: don't install laravel/framework v5.5.24
    - Conclusion: don't install laravel/framework v5.5.23
    - Conclusion: don't install laravel/framework v5.5.22
    - Conclusion: don't install laravel/framework v5.5.21
    - Conclusion: don't install laravel/framework v5.5.20
    - Conclusion: don't install laravel/framework v5.5.19
    - Conclusion: don't install laravel/framework v5.5.18
    - Conclusion: don't install laravel/framework v5.5.17
    - Conclusion: don't install laravel/framework v5.5.16
    - Conclusion: don't install laravel/framework v5.5.15
    - Conclusion: don't install laravel/framework v5.5.14
    - Conclusion: don't install laravel/framework v5.5.13
    - Conclusion: don't install laravel/framework v5.5.12
    - Conclusion: don't install laravel/framework v5.5.11
    - Conclusion: don't install laravel/framework v5.5.10
    - Conclusion: don't install laravel/framework v5.5.9
    - Conclusion: don't install laravel/framework v5.5.8
    - Conclusion: don't install laravel/framework v5.5.7
    - Conclusion: don't install laravel/framework v5.5.6
    - Conclusion: don't install laravel/framework v5.5.5
    - Conclusion: don't install laravel/framework v5.5.4
    - Conclusion: don't install laravel/framework v5.5.3
    - Conclusion: don't install laravel/framework v5.5.2
    - Conclusion: don't install laravel/framework v5.5.1
    - Conclusion: don't install laravel/framework v5.5.0
    - Conclusion: don't install laravel/framework v5.4.36
    - Conclusion: don't install laravel/framework v5.4.35
    - Conclusion: don't install laravel/framework v5.4.34
    - Conclusion: don't install laravel/framework v5.4.33
    - Conclusion: don't install laravel/framework v5.4.32
    - Conclusion: don't install laravel/framework v5.4.31
    - Conclusion: don't install laravel/framework v5.4.30
    - Conclusion: don't install laravel/framework v5.4.29
    - Conclusion: don't install laravel/framework v5.4.28
    - Conclusion: don't install laravel/framework v5.4.27
    - Conclusion: don't install laravel/framework v5.4.26
    - Conclusion: don't install laravel/framework v5.4.25
    - Conclusion: don't install laravel/framework v5.4.24
    - Conclusion: don't install laravel/framework v5.4.23
    - Conclusion: don't install laravel/framework v5.4.22
    - Conclusion: don't install laravel/framework v5.4.21
    - Conclusion: don't install laravel/framework v5.4.20
    - Conclusion: don't install laravel/framework v5.4.19
    - Conclusion: don't install laravel/framework v5.4.18
    - Conclusion: don't install laravel/framework v5.4.17
    - Conclusion: don't install laravel/framework v5.4.16
    - Conclusion: don't install laravel/framework v5.4.15
    - Conclusion: don't install laravel/framework v5.4.14
    - Conclusion: don't install laravel/framework v5.4.13
    - Conclusion: don't install laravel/framework v5.4.12
    - Conclusion: don't install laravel/framework v5.4.11
    - Conclusion: don't install laravel/framework v5.4.10
    - Conclusion: don't install laravel/framework v5.4.9
    - Conclusion: don't install laravel/framework v5.4.8
    - Conclusion: don't install laravel/framework v5.4.7
    - Conclusion: don't install laravel/framework v5.4.6
    - Conclusion: don't install laravel/framework v5.4.5
    - Conclusion: don't install laravel/framework v5.4.4
    - Conclusion: don't install laravel/framework v5.4.3
    - Conclusion: don't install laravel/framework v5.4.2
    - Conclusion: don't install laravel/framework v5.4.1
    - Conclusion: don't install laravel/framework v5.4.0
    - Conclusion: remove laravel/framework v5.3.31
    - Conclusion: don't install laravel/framework v5.3.31
    - Conclusion: don't install laravel/framework v5.3.30
    - Conclusion: don't install laravel/framework v5.3.29
    - Conclusion: don't install laravel/framework v5.3.28
    - Conclusion: don't install laravel/framework v5.3.27
    - Conclusion: don't install laravel/framework v5.3.26
    - Conclusion: don't install laravel/framework v5.3.25
    - Conclusion: don't install laravel/framework v5.3.24
    - Conclusion: don't install laravel/framework v5.3.23
    - Conclusion: don't install laravel/framework v5.3.22
    - Conclusion: don't install laravel/framework v5.3.21
    - Conclusion: don't install laravel/framework v5.3.20
    - Conclusion: don't install laravel/framework v5.3.19
    - Conclusion: don't install laravel/framework v5.3.18
    - Conclusion: don't install laravel/framework v5.3.17
    - Conclusion: don't install laravel/framework v5.3.16
    - Conclusion: don't install laravel/framework v5.3.15
    - Conclusion: don't install laravel/framework v5.3.14
    - Conclusion: don't install laravel/framework v5.3.13
    - Conclusion: don't install laravel/framework v5.3.12
    - Conclusion: don't install laravel/framework v5.3.11
    - Conclusion: don't install laravel/framework v5.3.10
    - Conclusion: don't install laravel/framework v5.3.9
    - Conclusion: don't install laravel/framework v5.3.8
    - Conclusion: don't install laravel/framework v5.3.7
    - Conclusion: don't install laravel/framework v5.3.6
    - Conclusion: don't install laravel/framework v5.3.5
    - Conclusion: don't install laravel/framework v5.3.4
    - Conclusion: don't install laravel/framework v5.3.3
    - Conclusion: don't install laravel/framework v5.3.2
    - Installation request for laravelangular/generators ^3.0 -> satisfiable by laravelangular/generators[3.0.0].
    - Conclusion: don't install laravel/framework v5.3.1
    - jenssegers/mongodb v3.6.4 requires illuminate/events ^5.8|^6.0 -> satisfiable by laravel/framework[v5.8.0, v5.8.1, v5.8.10, v5.8.11, v5.8.12, v5.8.13, v5.8.14, v5.8.15, v5.8.16, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.21, v5.8.22, v5.8.23, v5.8.24, v5.8.25, v5.8.26, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.37, v5.8.38, v5.8.4, v5.8.5, v5.8.6, v5.8.7, v5.8.8, v5.8.9], illuminate/events[v5.8.0, v5.8.11, v5.8.12, v5.8.14, v5.8.15, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.22, v5.8.24, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.4, v5.8.8, v5.8.9, v6.0.0, v6.0.1, v6.0.2, v6.0.3, v6.0.4, v6.1.0, v6.10.0, v6.11.0, v6.12.0, v6.13.0, v6.13.1, v6.14.0, v6.15.0, v6.15.1, v6.16.0, v6.17.0, v6.17.1, v6.18.0, v6.18.1, v6.18.10, v6.18.11, v6.18.12, v6.18.13, v6.18.14, v6.18.15, v6.18.16, v6.18.2, v6.18.3, v6.18.4, v6.18.5, v6.18.6, v6.18.7, v6.18.8, v6.18.9, v6.2.0, v6.3.0, v6.4.1, v6.5.0, v6.5.1, v6.5.2, v6.6.0, v6.6.1, v6.6.2, v6.7.0, v6.8.0].
    - jenssegers/mongodb v3.6.3 requires illuminate/events ^5.8|^6.0 -> satisfiable by laravel/framework[v5.8.0, v5.8.1, v5.8.10, v5.8.11, v5.8.12, v5.8.13, v5.8.14, v5.8.15, v5.8.16, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.21, v5.8.22, v5.8.23, v5.8.24, v5.8.25, v5.8.26, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.37, v5.8.38, v5.8.4, v5.8.5, v5.8.6, v5.8.7, v5.8.8, v5.8.9], illuminate/events[v5.8.0, v5.8.11, v5.8.12, v5.8.14, v5.8.15, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.22, v5.8.24, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.4, v5.8.8, v5.8.9, v6.0.0, v6.0.1, v6.0.2, v6.0.3, v6.0.4, v6.1.0, v6.10.0, v6.11.0, v6.12.0, v6.13.0, v6.13.1, v6.14.0, v6.15.0, v6.15.1, v6.16.0, v6.17.0, v6.17.1, v6.18.0, v6.18.1, v6.18.10, v6.18.11, v6.18.12, v6.18.13, v6.18.14, v6.18.15, v6.18.16, v6.18.2, v6.18.3, v6.18.4, v6.18.5, v6.18.6, v6.18.7, v6.18.8, v6.18.9, v6.2.0, v6.3.0, v6.4.1, v6.5.0, v6.5.1, v6.5.2, v6.6.0, v6.6.1, v6.6.2, v6.7.0, v6.8.0].
    - jenssegers/mongodb v3.6.2 requires illuminate/events ^5.8|^6.0 -> satisfiable by laravel/framework[v5.8.0, v5.8.1, v5.8.10, v5.8.11, v5.8.12, v5.8.13, v5.8.14, v5.8.15, v5.8.16, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.21, v5.8.22, v5.8.23, v5.8.24, v5.8.25, v5.8.26, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.37, v5.8.38, v5.8.4, v5.8.5, v5.8.6, v5.8.7, v5.8.8, v5.8.9], illuminate/events[v5.8.0, v5.8.11, v5.8.12, v5.8.14, v5.8.15, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.22, v5.8.24, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.4, v5.8.8, v5.8.9, v6.0.0, v6.0.1, v6.0.2, v6.0.3, v6.0.4, v6.1.0, v6.10.0, v6.11.0, v6.12.0, v6.13.0, v6.13.1, v6.14.0, v6.15.0, v6.15.1, v6.16.0, v6.17.0, v6.17.1, v6.18.0, v6.18.1, v6.18.10, v6.18.11, v6.18.12, v6.18.13, v6.18.14, v6.18.15, v6.18.16, v6.18.2, v6.18.3, v6.18.4, v6.18.5, v6.18.6, v6.18.7, v6.18.8, v6.18.9, v6.2.0, v6.3.0, v6.4.1, v6.5.0, v6.5.1, v6.5.2, v6.6.0, v6.6.1, v6.6.2, v6.7.0, v6.8.0].
    - jenssegers/mongodb v3.6.1 requires illuminate/events ^5.8|^6.0 -> satisfiable by laravel/framework[v5.8.0, v5.8.1, v5.8.10, v5.8.11, v5.8.12, v5.8.13, v5.8.14, v5.8.15, v5.8.16, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.21, v5.8.22, v5.8.23, v5.8.24, v5.8.25, v5.8.26, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.37, v5.8.38, v5.8.4, v5.8.5, v5.8.6, v5.8.7, v5.8.8, v5.8.9], illuminate/events[v5.8.0, v5.8.11, v5.8.12, v5.8.14, v5.8.15, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.22, v5.8.24, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.4, v5.8.8, v5.8.9, v6.0.0, v6.0.1, v6.0.2, v6.0.3, v6.0.4, v6.1.0, v6.10.0, v6.11.0, v6.12.0, v6.13.0, v6.13.1, v6.14.0, v6.15.0, v6.15.1, v6.16.0, v6.17.0, v6.17.1, v6.18.0, v6.18.1, v6.18.10, v6.18.11, v6.18.12, v6.18.13, v6.18.14, v6.18.15, v6.18.16, v6.18.2, v6.18.3, v6.18.4, v6.18.5, v6.18.6, v6.18.7, v6.18.8, v6.18.9, v6.2.0, v6.3.0, v6.4.1, v6.5.0, v6.5.1, v6.5.2, v6.6.0, v6.6.1, v6.6.2, v6.7.0, v6.8.0].
    - jenssegers/mongodb v3.6.0 requires illuminate/events ^5.8|^6.0 -> satisfiable by laravel/framework[v5.8.0, v5.8.1, v5.8.10, v5.8.11, v5.8.12, v5.8.13, v5.8.14, v5.8.15, v5.8.16, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.21, v5.8.22, v5.8.23, v5.8.24, v5.8.25, v5.8.26, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.37, v5.8.38, v5.8.4, v5.8.5, v5.8.6, v5.8.7, v5.8.8, v5.8.9], illuminate/events[v5.8.0, v5.8.11, v5.8.12, v5.8.14, v5.8.15, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.22, v5.8.24, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.4, v5.8.8, v5.8.9, v6.0.0, v6.0.1, v6.0.2, v6.0.3, v6.0.4, v6.1.0, v6.10.0, v6.11.0, v6.12.0, v6.13.0, v6.13.1, v6.14.0, v6.15.0, v6.15.1, v6.16.0, v6.17.0, v6.17.1, v6.18.0, v6.18.1, v6.18.10, v6.18.11, v6.18.12, v6.18.13, v6.18.14, v6.18.15, v6.18.16, v6.18.2, v6.18.3, v6.18.4, v6.18.5, v6.18.6, v6.18.7, v6.18.8, v6.18.9, v6.2.0, v6.3.0, v6.4.1, v6.5.0, v6.5.1, v6.5.2, v6.6.0, v6.6.1, v6.6.2, v6.7.0, v6.8.0].
    - don't install illuminate/events v5.8.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.11|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.12|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.14|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.15|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.17|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.18|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.19|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.2|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.20|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.22|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.24|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.27|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.28|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.29|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.3|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.30|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.31|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.32|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.33|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.34|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.35|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.36|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.4|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.8|don't install laravel/framework v5.3.0
    - don't install illuminate/events v5.8.9|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.0.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.0.1|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.0.2|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.0.3|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.0.4|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.1.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.10.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.11.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.12.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.13.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.13.1|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.14.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.15.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.15.1|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.16.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.17.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.17.1|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.1|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.10|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.11|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.12|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.13|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.14|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.15|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.16|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.2|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.3|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.4|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.5|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.6|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.7|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.8|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.18.9|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.2.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.3.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.4.1|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.5.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.5.1|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.5.2|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.6.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.6.1|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.6.2|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.7.0|don't install laravel/framework v5.3.0
    - don't install illuminate/events v6.8.0|don't install laravel/framework v5.3.0
    - Installation request for laravel/framework ^5.3 -> satisfiable by laravel/framework[v5.3.0, v5.3.1, v5.3.10, v5.3.11, v5.3.12, v5.3.13, v5.3.14, v5.3.15, v5.3.16, v5.3.17, v5.3.18, v5.3.19, v5.3.2, v5.3.20, v5.3.21, v5.3.22, v5.3.23, v5.3.24, v5.3.25, v5.3.26, v5.3.27, v5.3.28, v5.3.29, v5.3.3, v5.3.30, v5.3.31, v5.3.4, v5.3.5, v5.3.6, v5.3.7, v5.3.8, v5.3.9, v5.4.0, v5.4.1, v5.4.10, v5.4.11, v5.4.12, v5.4.13, v5.4.14, v5.4.15, v5.4.16, v5.4.17, v5.4.18, v5.4.19, v5.4.2, v5.4.20, v5.4.21, v5.4.22, v5.4.23, v5.4.24, v5.4.25, v5.4.26, v5.4.27, v5.4.28, v5.4.29, v5.4.3, v5.4.30, v5.4.31, v5.4.32, v5.4.33, v5.4.34, v5.4.35, v5.4.36, v5.4.4, v5.4.5, v5.4.6, v5.4.7, v5.4.8, v5.4.9, v5.5.0, v5.5.1, v5.5.10, v5.5.11, v5.5.12, v5.5.13, v5.5.14, v5.5.15, v5.5.16, v5.5.17, v5.5.18, v5.5.19, v5.5.2, v5.5.20, v5.5.21, v5.5.22, v5.5.23, v5.5.24, v5.5.25, v5.5.26, v5.5.27, v5.5.28, v5.5.29, v5.5.3, v5.5.30, v5.5.31, v5.5.32, v5.5.33, v5.5.34, v5.5.35, v5.5.36, v5.5.37, v5.5.38, v5.5.39, v5.5.4, v5.5.40, v5.5.41, v5.5.42, v5.5.43, v5.5.44, v5.5.45, v5.5.46, v5.5.47, v5.5.48, v5.5.49, v5.5.5, v5.5.6, v5.5.7, v5.5.8, v5.5.9, v5.6.0, v5.6.1, v5.6.10, v5.6.11, v5.6.12, v5.6.13, v5.6.14, v5.6.15, v5.6.16, v5.6.17, v5.6.18, v5.6.19, v5.6.2, v5.6.20, v5.6.21, v5.6.22, v5.6.23, v5.6.24, v5.6.25, v5.6.26, v5.6.27, v5.6.28, v5.6.29, v5.6.3, v5.6.30, v5.6.31, v5.6.32, v5.6.33, v5.6.34, v5.6.35, v5.6.36, v5.6.37, v5.6.38, v5.6.39, v5.6.4, v5.6.40, v5.6.5, v5.6.6, v5.6.7, v5.6.8, v5.6.9, v5.7.0, v5.7.1, v5.7.10, v5.7.11, v5.7.12, v5.7.13, v5.7.14, v5.7.15, v5.7.16, v5.7.17, v5.7.18, v5.7.19, v5.7.2, v5.7.20, v5.7.21, v5.7.22, v5.7.23, v5.7.24, v5.7.25, v5.7.26, v5.7.27, v5.7.28, v5.7.29, v5.7.3, v5.7.4, v5.7.5, v5.7.6, v5.7.7, v5.7.8, v5.7.9, v5.8.0, v5.8.1, v5.8.10, v5.8.11, v5.8.12, v5.8.13, v5.8.14, v5.8.15, v5.8.16, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.21, v5.8.22, v5.8.23, v5.8.24, v5.8.25, v5.8.26, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.37, v5.8.38, v5.8.4, v5.8.5, v5.8.6, v5.8.7, v5.8.8, v5.8.9].
    - Installation request for jenssegers/mongodb ^3.6 -> satisfiable by jenssegers/mongodb[v3.6.0, v3.6.1, v3.6.2, v3.6.3, v3.6.4].

It says "Conclusion: dont' install laravel/framework vXXX" but it provides zero information as to how it reached this conclusion.

The  only information it gives is stuff like:

Installation request for jenssegers/mongodb ^3.6 -> satisfiable by jenssegers/mongodb[v3.6.0, v3.6.1, v3.6.2, v3.6.3, v3.6.4].

AFAIK satisfiable means "I can install these versions" so everything seems ok. There is zero mention of an unsatisfiable dependency.

So what is going on? Why does composer update fail?


来源: stackexchange

问:
Detail explanation of all states in BottomSheetBehavior Android
There are around six different states in BottomSheetBehavior. I did not get any proper explanation of them.

Like I don't understand difference between STATE_HIDDEN and STATE_COLLAPSED?

Similarly what is difference between STATE_SETTLING and STATE_DRAGGING?

Also what is the use of STATE_HALF_EXPANDED?

答:
As guided in this article https://androidwave.com/bottom-sheet-behavior-in-android/

The Bottom Sheet mainly have 5 states -

STATE_COLLAPSED –  is visible but only showing its peek height. This state is usually the ‘resting position’ of a Bottom Sheet.

STATE_EXPANDED – The bottom sheet is visible and its maximum height and it is neither dragging or settling.

STATE_DRAGGING – User is actively dragging the bottom sheet up or down.

STATE_SETTLING – is settling to a specific height after a drag/swipe gesture.

STATE_HIDDEN – is no longer visible.

The diference in the STATE_HIDDEN and STATE_COLLAPSED is that the when the BottomSheet is in the STATE_HIDDEN then it is totally hidden i.e. it is not visible on the screen, while when it is in the STATE_COLLAPSED then only the peek height is visible.

When the BottomSheet is in the STATE_SETTLING then it is either expanding or collapsing after a drag or swipe to a specific height, while STATE_DRAGGING is the state when when the user is dragging the BottomSheet.

STATE_HALF_EXPANDED is the state when the bottom sheet is in the half expanded state.

ContentLicense: CC BY-SA 4.0


问:
How to create custom ExtJS form field component?
I want to create custom ExtJS form field components using other ExtJS components in it (e.g. TreePanel). How can I do it most easily?

I've read docs of Ext.form.field.Base but I don't want to define field body by fieldSubTpl. I just want to write code which creates ExtJS components and maybe some other code which gets and sets values.

Update: Summarized purposes are the followings:

This new component should fit in the
form GUI as a field. It should have
label and the same alignment (label,
anchor) of other fields without need
of further hacking.

Possibly, I have
to write some getValue, setValue
logic. I'd rather embed it into this component than making separated code which copies things into further hidden form fields that I also have to manage.

答:
I've done this a few times.  Here is the general process/pseudo-code I use:

Create an extension of field that provides the most useful re-use (typically Ext.form.TextField if you just want to get/set a string value)

In the afterrender of the field, hide the textfield, and create a wrapping element around this.el with this.wrap = this.resizeEl = this.positionEl = this.el.wrap()

Render any components to this.wrap (e.g. using renderTo: this.wrap in the config)

Override getValue and setValue to talk to the component(s) you rendered manually

You may need to do some manually sizing in a resize listener if your form's layout changes

Don't forget to cleanup any components you create in the beforeDestroy method!

I can't wait to switch our codebase to ExtJS 4, where these kinds of things are easy.

Good luck!

ContentLicense: CC BY-SA 3.0


问:
How to use existing resources from another resource group to make deployments in new resource group using Terraform
I want to create resources in a new resource group but i want to use a virtual network for those resources which is in another resource group. How do i do this? For example, i want to create redis/postgresql in resourcegroupA but i want to make use of the virtual network which is in resourcegroupB. Is it possible?

This is the resource group from where i am retrieving the vnet-

```<code>    resource "azurerm_resource_group" "azresourcegroup" {
      name        =
      "resourcegroupA"
      location    = var.resource_group_location
    }

    #-----CREATING VIRTUAL NETWORK-----

    resource "azurerm_virtual_network" "vnet2" {
       name                = "virtualnetworkA"
       location            = azurerm_resource_group.azresourcegroup.location
       resource_group_name = azurerm_resource_group.azresourcegroup.name
       address_space       = [var.virtual_network_address_prefix_infra,var.virtual_network_address_prefix]
</code>```

I retrieved it while using it for another resource group like this-

```<code>    data "azurerm_resource_group" "azresourcegroup" {
      name        = "resoucegroupA"
    }

    data "azurerm_virtual_network" "vnet2" {
     name                = "virtualnetworkA"
      resource_group_name = data.azurerm_resource_group.azresourcegroup.name
    }
</code>```

I want to use the above virtual network but want to create the other resources in the new resource group which is-

```<code>     resource "azurerm_resource_group" "main" {
      name        = "resourcegroupB"
      location    = var.resource_group_location
    }
</code>```

I am making use of module to create redis cache that requires the vnet which is created in other RG-

```<code>    module "rediscache" {
      source                             = "../../modules/rediscache"
      prefix                             = var.prefix
      environmentType                    = var.environmentType
      virtual_network_name               = var.virtual_network_name
      unique_identifier                  = var.unique_identifier_kube
      resource_group_name                = azurerm_resource_group.main.name
      resource_group_location            = var.resource_group_location
      redis_subnet_address_prefix        = var.redis_subnet_address_prefix
      azurerm_virtual_network_name       = data.azurerm_virtual_network.vnet2.name
      azurerm_log_analytics_workspace_id = azurerm_log_analytics_workspace.workspace.id
    }
</code>```

To simplify this, vnet is created in other resource group and redis in another one.But i want to use that vnet. also if i change the resource group name argument used in module, from azurerm_resource_group.main.name to data.azurerm_resource_group.azresourcegroup.name then it creates the redis in the 1st resource group which i dont want.
Please help.

答:
Of course, it's possible. The only condition is that the virtual network should be in the same location. Then you can quote it in the Terraform code via the Terraform Data Source azurerm_virtual_network like this:

```<code>data "azurerm_virtual_network" "example" {
  name                = "production"
  resource_group_name = "networking"
}
</code>```

Body:
I want to create resources in a new resource group but i want to use a virtual network for those resources which is in another resource group. How do i do this? For example, i want to create redis/postgresql in resourcegroupA but i want to make use of the virtual network which is in resourcegroupB. Is it possible?

This is the resource group from where i am retrieving the vnet-

    resource "azurerm_resource_group" "azresourcegroup" {
      name        =
      "resourcegroupA"
      location    = var.resource_group_location
    }

    #-----CREATING VIRTUAL NETWORK-----

    resource "azurerm_virtual_network" "vnet2" {
       name                = "virtualnetworkA"
       location            = azurerm_resource_group.azresourcegroup.location
       resource_group_name = azurerm_resource_group.azresourcegroup.name
       address_space       = [var.virtual_network_address_prefix_infra,var.virtual_network_address_prefix]

I retrieved it while using it for another resource group like this-

    data "azurerm_resource_group" "azresourcegroup" {
      name        = "resoucegroupA"
    }

    data "azurerm_virtual_network" "vnet2" {
     name                = "virtualnetworkA"
      resource_group_name = data.azurerm_resource_group.azresourcegroup.name
    }

I want to use the above virtual network but want to create the other resources in the new resource group which is-

     resource "azurerm_resource_group" "main" {
      name        = "resourcegroupB"
      location    = var.resource_group_location
    }

I am making use of module to create redis cache that requires the vnet which is created in other RG-

    module "rediscache" {
      source                             = "../../modules/rediscache"
      prefix                             = var.prefix
      environmentType                    = var.environmentType
      virtual_network_name               = var.virtual_network_name
      unique_identifier                  = var.unique_identifier_kube
      resource_group_name                = azurerm_resource_group.main.name
      resource_group_location            = var.resource_group_location
      redis_subnet_address_prefix        = var.redis_subnet_address_prefix
      azurerm_virtual_network_name       = data.azurerm_virtual_network.vnet2.name
      azurerm_log_analytics_workspace_id = azurerm_log_analytics_workspace.workspace.id
    }

To simplify this, vnet is created in other resource group and redis in another one.But i want to use that vnet. also if i change the resource group name argument used in module, from azurerm_resource_group.main.name to data.azurerm_resource_group.azresourcegroup.name then it creates the redis in the 1st resource group which i dont want.
Please help.

Body:
Of course, it's possible. The only condition is that the virtual network should be in the same location. Then you can quote it in the Terraform code via the Terraform Data Source azurerm_virtual_network like this:

data "azurerm_virtual_network" "example" {
  name                = "production"
  resource_group_name = "networking"
}


问:
How to find tha't circular list's begin?
I'm trying to implement about list and iterator of list like C++ STL.

The node in list is defined like this:

```<code>struct Node{
  Node *prev,*next;
  value_type data;
};
</code>```

And I want to overloading operator > and < :

```<code>bool list_iterator::operator>(const iterator_impl_base &rhs) const
bool list_iterator::operator<(const iterator_impl_base &rhs) const
</code>```

which means if I need to call next to reach rhs.node , it will return 0 in > and return 1 in <.

if I need to call prev to reach rhs.node , it return 1 in > and return 0 in <.

And I implement list using circular list. Below is one part of list class :

```<code>class List : public ordered_container {
 protected:
  Node* begin_;
  Node* end_;
  size_type size_;
 public:
    List::List() : end_(new Node){
        begin_ = end_->prev = end_->next = end_;
        size_=0;
    }
}
</code>```

So , I don't know how to distinguish whether I just pass the begin_ of list. Can someone help me about that? Thankyou.

答:
Firstly, using operator< to mean "precedes" is weird. I know it's an exercise, I just don't want you thinking this is normal.

Now, your circular list stores the begin and end in the top-level container object, so there's no way for a node itself to tell whether it's the head, or the trail, or whether a reversal wraps around. Only the container can tell this.

The usual solution for circular lists is to have a sentinel node between head and tail. Then sentinel.next is the head, sentinel.prev is the tail, and you need some way to mark the sentinel itself (either a magic value of data or an extra flag). This sentinel node can then replace the two pointers in your container object (so you're not wasting any space).

When you traverse the list, it's still circular, but you can tell if you pass the sentinel that you've wrapped around.

The sentinel has the additional benefit that you never have to worry about nullptrs in an empty list.

Incidentally, I find it very strange that instructors keep using doubly-linked lists and don't show the sentinel arrangement. It's described within a couple of pages in a copy of Elson's Data Structures book I've inherited, and that was published in 1975. What's the point of deliberately teaching a bad doubly-linked list?

If they wanted you to figure this out for yourself, they ought to have you working through the fundamental list operations rather than these odd precedes/succeeds operators, as the basic operations can actually work without a sentinel but are visibly improved with its addition.

Body:
I'm trying to implement about list and iterator of list like C++ STL.

The node in list is defined like this:

struct Node{
  Node *prev,*next;
  value_type data;
};

And I want to overloading operator > and < :

bool list_iterator::operator>(const iterator_impl_base &rhs) const
bool list_iterator::operator<(const iterator_impl_base &rhs) const

which means if I need to call next to reach rhs.node , it will return 0 in > and return 1 in <.

if I need to call prev to reach rhs.node , it return 1 in > and return 0 in <.

And I implement list using circular list. Below is one part of list class :

class List : public ordered_container {
 protected:
  Node* begin_;
  Node* end_;
  size_type size_;
 public:
    List::List() : end_(new Node){
        begin_ = end_->prev = end_->next = end_;
        size_=0;
    }
}

So , I don't know how to distinguish whether I just pass the begin_ of list. Can someone help me about that? Thankyou.


问:
ansible: failed_when is not working to validate user input
i am trying ansible playbook to prompt for a user input and if condition is not satisfied it should fail & exit.

my playbook is as below.

```<code>[ansible@localhost ~]$ cat dummy.yml
---
- name: testing failed_when
  hosts: localhost
  gather_facts: no
  tasks:
      - pause:
           prompt: "\nPlease ente 1:\n"
        register: given
        failed_when: given.user_input != 1
      - set_fact:
           SER: "{{ given.user_input }}"
      - fail:
           msg: "unacceptable"
        when: SER is undefined
</code>```

and when i execute this, it's getting failed even though i give input as 1..

```<code>[ansible@localhost ~]$ ansible-playbook dummy.yml

PLAY [testing failed_when] *********************************************************************************************************************

TASK [pause] ***********************************************************************************************************************************
[pause]

Please ente 1:
:1
fatal: [localhost]: FAILED! => {"changed": false, "delta": 1, "echo": true, "failed_when_result": true, "rc": 0, "start": "2020-05-29 02:52:27.318633", "stderr": "", "stdout": "Paused for 0.02 minutes", "stop": "2020-05-29 02:52:28.556987", "user_input": "1"}

NO MORE HOSTS LEFT *****************************************************************************************************************************

PLAY RECAP *************************************************************************************************************************************
localhost                  : ok=0    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0

[ansible@localhost ~]$
</code>```

and i have tried using "fail" as shown below, it's not working too.

```<code>  tasks:
      - pause:
           prompt: "\nPlease ente 1:\n"
        register: given
      - set_fact:
           SER: "{{ given.user_input }}"

      - fail:
           msg: "unacceptable"
        when: SER != 1
</code>```

result:

```<code>[ansible@localhost ~]$ ansible-playbook dummy.yml

PLAY [testing failed_when] *********************************************************************************************************************

TASK [pause] ***********************************************************************************************************************************
[pause]

Please ente 1:
:1
ok: [localhost]

TASK [set_fact] ********************************************************************************************************************************
ok: [localhost]

TASK [fail] ************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "unacceptable"}

PLAY RECAP *************************************************************************************************************************************
localhost
</code>```

in both of above cases, i have entered "1" as user input & it's still failing.. Not sure what mistake i did.

please help.

thanks in advance.

答:
The condition when expands by default the variable to string. Either compare SER to string

    when: SER != "1"
```

<p>or convert <code>SER</code> to integer</p>

<pre class="lang-yaml prettyprint-override"><code>    when: SER|int != 1
</code>```

Body:
i am trying ansible playbook to prompt for a user input and if condition is not satisfied it should fail & exit.

my playbook is as below.

[ansible@localhost ~]$ cat dummy.yml
---
- name: testing failed_when
  hosts: localhost
  gather_facts: no
  tasks:
      - pause:
           prompt: "\nPlease ente 1:\n"
        register: given
        failed_when: given.user_input != 1
      - set_fact:
           SER: "{{ given.user_input }}"
      - fail:
           msg: "unacceptable"
        when: SER is undefined

and when i execute this, it's getting failed even though i give input as 1..

[ansible@localhost ~]$ ansible-playbook dummy.yml

PLAY [testing failed_when] *********************************************************************************************************************

TASK [pause] ***********************************************************************************************************************************
[pause]

Please ente 1:
:1
fatal: [localhost]: FAILED! => {"changed": false, "delta": 1, "echo": true, "failed_when_result": true, "rc": 0, "start": "2020-05-29 02:52:27.318633", "stderr": "", "stdout": "Paused for 0.02 minutes", "stop": "2020-05-29 02:52:28.556987", "user_input": "1"}

NO MORE HOSTS LEFT *****************************************************************************************************************************

PLAY RECAP *************************************************************************************************************************************
localhost                  : ok=0    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0

[ansible@localhost ~]$

and i have tried using "fail" as shown below, it's not working too.

  tasks:
      - pause:
           prompt: "\nPlease ente 1:\n"
        register: given
      - set_fact:
           SER: "{{ given.user_input }}"

      - fail:
           msg: "unacceptable"
        when: SER != 1

result:

[ansible@localhost ~]$ ansible-playbook dummy.yml

PLAY [testing failed_when] *********************************************************************************************************************

TASK [pause] ***********************************************************************************************************************************
[pause]

Please ente 1:
:1
ok: [localhost]

TASK [set_fact] ********************************************************************************************************************************
ok: [localhost]

TASK [fail] ************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "unacceptable"}

PLAY RECAP *************************************************************************************************************************************
localhost

in both of above cases, i have entered "1" as user input & it's still failing.. Not sure what mistake i did.

please help.

thanks in advance.

Body:
The condition when expands by default the variable to string. Either compare SER to string

    when: SER != "1"

or convert SER to integer

    when: SER|int != 1


问:
'Unable to fetch remote config. Cached or default values will be 'used' flutter
I have setup firebase config for flutter

According to documentation https://pub.dev/packages/firebase_remote_config#-readme-tab-

My key is

then I have Published also then i tried following code and it will return

'Unable to fetch remote config. Cached or default values will be ''used'

could you please point issue

I have tried those also

Firebase Remote Config - Initial fetch return local default values

Remote config in Flutter app throws exception on fetch

```<code>try {
              remoteConfig.getString('welcome')[![enter image description here][1]][1]
              // Using default duration to force fetching from remote server.
              await remoteConfig.fetch(expiration: const Duration(seconds: 0));
              await remoteConfig.activateFetched();
     } on FetchThrottledException catch (exception) {
              // Fetch throttled.
              print(exception);
    } catch (exception) {
              print(
                  'Unable to fetch remote config. Cached or default values will be '
                  'used');
}
</code>```

答:
Usually when you fight these problems, in the end, everything gets mixed up. I think after the post you could already see the configured value, but the error occurs when querying another parameter name. Add the following line to see the actual error you are getting.

print('EXCEPTION: $exception');

```<code>try {
      await remoteConfig.fetch(expiration: const Duration(seconds: 0));
      await remoteConfig.activateFetched();
      String forceUpdateCurrentVersion =
          remoteConfig.getString('force_update_current_version');
      double newVersion =
          double.parse(forceUpdateCurrentVersion.trim().replaceAll(".", ""));
      if (newVersion > currentVersion) {
        _showVersionDialog(context);
      }
    } on FetchThrottledException catch (exception) {
      // Fetch throttled.
      print(exception);
    } catch (exception) {
      print('EXCEPTION: $exception');
      print('Unable to fetch remote config. Cached or default values will be '
          'used');
    }
</code>```

Body:
I have setup firebase config for flutter

According to documentation https://pub.dev/packages/firebase_remote_config#-readme-tab-

My key is

then I have Published also then i tried following code and it will return

'Unable to fetch remote config. Cached or default values will be ''used'

could you please point issue

I have tried those also

Firebase Remote Config - Initial fetch return local default values

Remote config in Flutter app throws exception on fetch

try {
              remoteConfig.getString('welcome')[![enter image description here][1]][1]
              // Using default duration to force fetching from remote server.
              await remoteConfig.fetch(expiration: const Duration(seconds: 0));
              await remoteConfig.activateFetched();
     } on FetchThrottledException catch (exception) {
              // Fetch throttled.
              print(exception);
    } catch (exception) {
              print(
                  'Unable to fetch remote config. Cached or default values will be '
                  'used');
}

Body:
Usually when you fight these problems, in the end, everything gets mixed up. I think after the post you could already see the configured value, but the error occurs when querying another parameter name. Add the following line to see the actual error you are getting.

print('EXCEPTION: $exception');

try {
      await remoteConfig.fetch(expiration: const Duration(seconds: 0));
      await remoteConfig.activateFetched();
      String forceUpdateCurrentVersion =
          remoteConfig.getString('force_update_current_version');
      double newVersion =
          double.parse(forceUpdateCurrentVersion.trim().replaceAll(".", ""));
      if (newVersion > currentVersion) {
        _showVersionDialog(context);
      }
    } on FetchThrottledException catch (exception) {
      // Fetch throttled.
      print(exception);
    } catch (exception) {
      print('EXCEPTION: $exception');
      print('Unable to fetch remote config. Cached or default values will be '
          'used');
    }


问:
How to do both client side and server side validation?
I was creating a HTML form in which I was doing both client side and server side validation.I used the below code.

```<code><form action='logic.php' method='post' id='login'>
    <input type='text' placeholder='Enter name' name='name'>
    <input type='submit'>
</form>

// Jquery
$(document).ready(function(){

    function validate_name(input_id,error_id,msg="Name"){
        const x = document.getElementById(input_id).value;
        const y = document.getElementById(error_id);
        const pattern = /^[a-zA-Z]+$/
        if(x!==""){
            if(pattern.test(x) ){
                if(x.length<3 || x.length>10){
                    y.innerHTML = msg+' should be between 3 and 10 characters.'
                    return false;
                }
                else{
                    y.innerHTML = '';
                    return true;
                }
            }
            else{
                y.innerHTML = 'Should contain only alphabets.'
                return false;
            }
        }
        else{
            y.innerHTML = "Please Enter Your "+msg;
            return false;
        }
    }

    $('#login').submit(function(e){
        e.preventDefault();
        let name = validate_name('rollno','rerror');
        let subject_name = validate_select('subject_dropdown','serror');
        if(name === true & subject_name === true){
            window.location = 'controller/indexPage_logic.php';
        }
    })
});
</code>```

I may able to do client side validation but if the form is properly validated I can't able to access the input value using $_POST['name'] in server side PHP.I think this is due to window.location.Is there any better way to do both side validation?

答:
Set the correct file in your action parameter in the form.

And inside the if condition, write e.currentTarget.submit();

```<code>if(name === true & subject_name === true){
    e.currentTarget.submit();
}
</code>```

Body:
I was creating a HTML form in which I was doing both client side and server side validation.I used the below code.

<form action='logic.php' method='post' id='login'>
    <input type='text' placeholder='Enter name' name='name'>
    <input type='submit'>
</form>

// Jquery
$(document).ready(function(){

    function validate_name(input_id,error_id,msg="Name"){
        const x = document.getElementById(input_id).value;
        const y = document.getElementById(error_id);
        const pattern = /^[a-zA-Z]+$/
        if(x!==""){
            if(pattern.test(x) ){
                if(x.length<3 || x.length>10){
                    y.innerHTML = msg+' should be between 3 and 10 characters.'
                    return false;
                }
                else{
                    y.innerHTML = '';
                    return true;
                }
            }
            else{
                y.innerHTML = 'Should contain only alphabets.'
                return false;
            }
        }
        else{
            y.innerHTML = "Please Enter Your "+msg;
            return false;
        }
    }

    $('#login').submit(function(e){
        e.preventDefault();
        let name = validate_name('rollno','rerror');
        let subject_name = validate_select('subject_dropdown','serror');
        if(name === true & subject_name === true){
            window.location = 'controller/indexPage_logic.php';
        }
    })
});

I may able to do client side validation but if the form is properly validated I can't able to access the input value using $_POST['name'] in server side PHP.I think this is due to window.location.Is there any better way to do both side validation?

Body:
Set the correct file in your action parameter in the form.

And inside the if condition, write e.currentTarget.submit();

if(name === true & subject_name === true){
    e.currentTarget.submit();
}


问:
How to delete the line which matches the string shared in array
I have a file which consist of text like below

```<code>compile_tool/opt/CSDTK/bin/chipgen/Modem2G/toolpool/plugins/Calib/libcalibplugin.so
compile_tool/opt/CSDTK/bin/chipgen/Modem2G/toolpool/plugins/Calib/libcalibplugin.dill
compile_tool/opt/CSDTK/bin/lib/ruby/gems/1.8/gems/builder-2.1.2/Rakefile.pg
compile_tool/opt/mingw32_3.4.4/usr/i586-mingw32msvc/include/mmsystem.c
compile_tool/opt/mingw32_3.4.4/usr/i586-mingw32msvc/include/winnt.h
compile_tool/opt/CSDTK/bin/lib/ruby/gems/1.8/gems/builder-2.1.2/test/test_xchar.HEX
</code>```

I want to delete the line which is having file extension .so , .dill ,.pg and .HEX. i have tried below code but didn't make out.

```<code>#! /bin/bash
array=(.a .so .bin.ihex .dll .exe .gem .bin .png .HEX)
for a in "${array[@]}"
do
sed -i -e "/\$a\b/d" copyright
done
</code>```

答:
Starting from the idea discussed with Oguz Ismail based on his answer:

No matter whether you use grep -e or sed to identify the files being kept, the problem is that in both cases, the elements of your array are interpreted as a regular expression. For instance, you have one array element .a, and as regexp, this would mean that it will match any file containing the letter 'a' except at the start of the file name. Hence, the line main.c would also be matched by the pattern .a.

One possibility is to use wildcard matching instead of regexp matching, but this means that you need to explicitly loop through your array: For instance, to test whether the line $line is going to be deleted or should be kept, you would have to do something like:

```<code>line_matches_pat=no
for pat in "${array[@]}"
do
  if [[ $line == *$pat ]]
  then
    line_matches_pat=yes
    break
  fi
done
</code>```

If $line_matches_pat equals yes, the line matches one of the patterns in the array.

IMO a more sensible and flexible approach would be to store in array not the extensions of the files, but regular expressions for the files you are interested in. This allows you one day to put into the list something like filenames containing the string error_ and having the extension .c. When you do this, you could use an approach similar to the solution suggested by @oguzismail, but of course you can't use -F with grep anymore:

```<code>grep -E -v "${array[*]}" copyright
</code>```

This turns on extended regular expressions. Drop the -E if you are fine with simple regular expressions.

Body:
I have a file which consist of text like below

compile_tool/opt/CSDTK/bin/chipgen/Modem2G/toolpool/plugins/Calib/libcalibplugin.so
compile_tool/opt/CSDTK/bin/chipgen/Modem2G/toolpool/plugins/Calib/libcalibplugin.dill
compile_tool/opt/CSDTK/bin/lib/ruby/gems/1.8/gems/builder-2.1.2/Rakefile.pg
compile_tool/opt/mingw32_3.4.4/usr/i586-mingw32msvc/include/mmsystem.c
compile_tool/opt/mingw32_3.4.4/usr/i586-mingw32msvc/include/winnt.h
compile_tool/opt/CSDTK/bin/lib/ruby/gems/1.8/gems/builder-2.1.2/test/test_xchar.HEX

I want to delete the line which is having file extension .so , .dill ,.pg and .HEX. i have tried below code but didn't make out.

#! /bin/bash
array=(.a .so .bin.ihex .dll .exe .gem .bin .png .HEX)
for a in "${array[@]}"
do
sed -i -e "/\$a\b/d" copyright
done

Body:
Starting from the idea discussed with Oguz Ismail based on his answer:

No matter whether you use grep -e or sed to identify the files being kept, the problem is that in both cases, the elements of your array are interpreted as a regular expression. For instance, you have one array element .a, and as regexp, this would mean that it will match any file containing the letter 'a' except at the start of the file name. Hence, the line main.c would also be matched by the pattern .a.

One possibility is to use wildcard matching instead of regexp matching, but this means that you need to explicitly loop through your array: For instance, to test whether the line $line is going to be deleted or should be kept, you would have to do something like:

line_matches_pat=no
for pat in "${array[@]}"
do
  if [[ $line == *$pat ]]
  then
    line_matches_pat=yes
    break
  fi
done

If $line_matches_pat equals yes, the line matches one of the patterns in the array.

IMO a more sensible and flexible approach would be to store in array not the extensions of the files, but regular expressions for the files you are interested in. This allows you one day to put into the list something like filenames containing the string error_ and having the extension .c. When you do this, you could use an approach similar to the solution suggested by @oguzismail, but of course you can't use -F with grep anymore:

grep -E -v "${array[*]}" copyright

This turns on extended regular expressions. Drop the -E if you are fine with simple regular expressions.


问:
How to extend the functionality of vector class as well as its iterator C++
I would like to find a clean way to slightly change the way std::vector operates.

Problem background

I need to be able to have index in the vector where the pointer would essentially slip one back, so for example; if my vector contains {0,1,2,3,4,5} and index [3] needs to slip, when iterating through the vector it should return: 0, 1, 2, 3, 3, 4, 5

Problem

Without rewriting the entire vector class and implementing my changes, is it possible to inherit std::vector<T> into a custom class, and override the behavior of the iterators ++ operator as well as the vector::begin()? (to add memory of the fact that it has already slipped one and not to slip again)

What I have tried

I have tried a basically implementation so far, but have gotten stuck when trying to override the begin() function.

```<code>#include <vector>
#include <iostream>
#include <iterator>

template <typename T>
class myVector : public std::vector<T>{
public:
  class myIterator : public std::vector<T>::iterator
  {
    // call vector's iterotor constructor

    //override
    // iterator& operator++(void){}
    // iterator operator++(int){}
  };

  using std::vector<T>::vector; // use the constructor from vector

  // extend the begin function, but include original operation
  myVector::myIterator begin() const
  {
    std::cout << "hi\n"; // testing to see if begin has been overriden properly
    return std::vector<T>::begin();
  }

};

// print out the vector
template <typename T>
std::ostream& operator<<(std::ostream& os, const myVector<T>& v)
{
  auto begin=v.begin();
  while (begin!=v.end())
  {
    os << *begin;
    ++begin;

    if(begin!=v.end())
    {
      os << ',';
    }
  }
  return os;
}

int main() {
  myVector<int> vec = {1,2,3,4};

  std::cout << vec << '\n';
}
</code>```

If you have an alternative clean solutions, it is also welcome.

Thanks

答:
I would never inherit from std::vector publicly. It is just too easy to be used wrong and you have no control over misuse. std::vector has no virtual destructor!

Iterators seems to be the appropriate customization point. Much more is needed to get a fully compliant iterator, but this is enough for a working example:

```<code>#include <iterator>
#include <vector>
#include <iostream>

template <typename It>
struct slippery_iterator {
    bool slipped = false;
    It to_be_repeated;
    It iterator;
    slippery_iterator(It iterator,It to_be_repeated) : iterator(iterator),to_be_repeated(to_be_repeated){}

    slippery_iterator& operator++(){
        if (!slipped && iterator == to_be_repeated){
            slipped = true;
            return *this;
        }
        ++iterator;
        return *this;
    }
    typename std::iterator_traits<It>::reference operator*(){
        return *iterator;
    }
    bool operator!=(It other) { return iterator != other;}
};

template <typename It>
slippery_iterator<It> make_slippery_iterator(It it,It slip){
    return {it,slip};
}

int main() {
    std::vector<int> x{1,2,3,4,5};
    auto begin = make_slippery_iterator(x.begin(),x.begin()+2);
    for (; begin != x.end(); ++begin){
        std::cout << *begin;
    }
}
</code>```

Output:

```<code>123345
</code>```

PS: Note that I am used to C++11 where you need a make_x helper. It isnt needed with more recent standards.

Body:
I would like to find a clean way to slightly change the way std::vector operates.

Problem background

I need to be able to have index in the vector where the pointer would essentially slip one back, so for example; if my vector contains {0,1,2,3,4,5} and index [3] needs to slip, when iterating through the vector it should return: 0, 1, 2, 3, 3, 4, 5

Problem

Without rewriting the entire vector class and implementing my changes, is it possible to inherit std::vector<T> into a custom class, and override the behavior of the iterators ++ operator as well as the vector::begin()? (to add memory of the fact that it has already slipped one and not to slip again)

What I have tried

I have tried a basically implementation so far, but have gotten stuck when trying to override the begin() function.

#include <vector>
#include <iostream>
#include <iterator>

template <typename T>
class myVector : public std::vector<T>{
public:
  class myIterator : public std::vector<T>::iterator
  {
    // call vector's iterotor constructor

    //override
    // iterator& operator++(void){}
    // iterator operator++(int){}
  };

  using std::vector<T>::vector; // use the constructor from vector

  // extend the begin function, but include original operation
  myVector::myIterator begin() const
  {
    std::cout << "hi\n"; // testing to see if begin has been overriden properly
    return std::vector<T>::begin();
  }

};

// print out the vector
template <typename T>
std::ostream& operator<<(std::ostream& os, const myVector<T>& v)
{
  auto begin=v.begin();
  while (begin!=v.end())
  {
    os << *begin;
    ++begin;

    if(begin!=v.end())
    {
      os << ',';
    }
  }
  return os;
}

int main() {
  myVector<int> vec = {1,2,3,4};

  std::cout << vec << '\n';
}

If you have an alternative clean solutions, it is also welcome.

Thanks

Body:
I would never inherit from std::vector publicly. It is just too easy to be used wrong and you have no control over misuse. std::vector has no virtual destructor!

Iterators seems to be the appropriate customization point. Much more is needed to get a fully compliant iterator, but this is enough for a working example:

#include <iterator>
#include <vector>
#include <iostream>

template <typename It>
struct slippery_iterator {
    bool slipped = false;
    It to_be_repeated;
    It iterator;
    slippery_iterator(It iterator,It to_be_repeated) : iterator(iterator),to_be_repeated(to_be_repeated){}

    slippery_iterator& operator++(){
        if (!slipped && iterator == to_be_repeated){
            slipped = true;
            return *this;
        }
        ++iterator;
        return *this;
    }
    typename std::iterator_traits<It>::reference operator*(){
        return *iterator;
    }
    bool operator!=(It other) { return iterator != other;}
};

template <typename It>
slippery_iterator<It> make_slippery_iterator(It it,It slip){
    return {it,slip};
}

int main() {
    std::vector<int> x{1,2,3,4,5};
    auto begin = make_slippery_iterator(x.begin(),x.begin()+2);
    for (; begin != x.end(); ++begin){
        std::cout << *begin;
    }
}

Output:

123345

PS: Note that I am used to C++11 where you need a make_x helper. It isnt needed with more recent standards.


问:
gitlab-ci cannot upload golang built binary to nexus
I am trying to configure .gitlab-ci.yml for go application, however struggling to upload resulting binary to Nexus. I am using curl now, but it is failing

```<code>curl: (22) The requested URL returned error: 400 Content type could not be determined
</code>```

答: I found out what was wrong. the problem was on NEXUS' side. In settings of nexus repository "allow rewrite" was unticked and again ticked, so it worked.</p>

Body:
I am trying to configure .gitlab-ci.yml for go application, however struggling to upload resulting binary to Nexus. I am using curl now, but it is failing

curl: (22) The requested URL returned error: 400 Content type could not be determined